• Features Wishlist 5 1
Currently:

### Author Topic: Features Wishlist  (Read 281577 times)

0 Members and 2 Guests are viewing this topic.

#### ztrumpet

• The Rarely Active One
• CoT Emeritus
• LV13 Extreme Addict (Next: 9001)
• Posts: 5712
• Rating: +364/-4
• If you see this, send me a PM. Just for fun.
##### Re: Features Wishlist
« Reply #1755 on: January 09, 2011, 05:34:39 pm »
How is this interrupt friendly?  Don't interrupts use af', or am I missing something?  Can you explain it to me?  I sense some clever coding.   TIA Runer (or anyone who beats him).
If I'm wrong, please correct me!
Unfinished Projects:
 Elmgon 14% Basic Movement Demo Homescreen Game Pack 80% Basic Latest Release Cube Droid Saves the Galaxy 65% Axe Demo Detonate 70% Axe
Completed Projects:
Exodus | Midnight |Drifter | Axe Snake | Jump! | Factory Theta | Spider | Plot Drop | Papi Jump | Numb3rs | Nibbler | Boost | Duel Tile Map Editor | Homescreen Map Editor | Key Group Check | Oasis

#### AngelFish

• Is this my custom title?
• LV12 Extreme Poster (Next: 5000)
• Posts: 3242
• Rating: +270/-27
• I'm a Fishbot
##### Re: Features Wishlist
« Reply #1756 on: January 09, 2011, 05:42:26 pm »
First of all, the most you can save by making a call inline is 4 bytes.  3 For the call, and 1 for the ret.  But many of the routines are better optimized with conditional returns and so you would often save even less than that if you were able to save anything at all.  It's a little too small of a savings to justify the complexity of another pass I think.

Okay.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

#### Runer112

• Project Author
• LV11 Super Veteran (Next: 3000)
• Posts: 2289
• Rating: +639/-31
##### Re: Features Wishlist
« Reply #1757 on: January 09, 2011, 05:54:37 pm »
Before I begin, let me clarify something about shadow registers, because I was a bit confused about this myself for a while. When exchanging registers with shadow registers, the processor doesn't move values from the active registers into the shadow registers and vice versa. There is not one specified set of "active" registers and one specified set of "shadow" registers. Instead, the processor uses a mux to simply flip its definition of which set is the active set and which set is the shadow set. So when an interrupt activates, the processor simply designates the set of registers it wasn't previously using as the set that the interrupt will use.

Anyways, the reason the grayscale routines cause problems is because they require both sets of the af register pair. When not inside an interrupt this is fine, because nothing else was using the second af register pair. But during an interrupt, the af register pair that was being used before the interrupt probably has data in it that we don't want to destroy. However, because the grayscale routine uses both of the af register pairs, this saved value for af will be destroyed. My solution was to back up the saved af register which we don't want destroyed by putting it onto the stack at the start of the routine. At the end of the routine, it is then taken off the stack and put it back into the inactive af register to live to see another day.
« Last Edit: January 09, 2011, 06:02:41 pm by Runer112 »

#### Happybobjr

• James Oldiges
• LV11 Super Veteran (Next: 3000)
• Posts: 2325
• Rating: +128/-20
• Howdy :)
##### Re: Features Wishlist
« Reply #1758 on: January 09, 2011, 06:05:36 pm »
Feature request:  Could you make it so you could delete a label from a program by Delvar"lbl"  ?

I remember this was in earlier versions of axe but it was then removed because of lack of use.
Could this be added again, even if it has different syntax?
It would be extremely helpful in combining games into a gamepack (to save on size and excuse making it an app).
School: East Central High School

Axe: １.０.0
TI-84 +SE  ||| OS: 2.53 MP (patched) ||| Version: "M"
TI-Nspire    |||  Lent out, and never returned
____________________________________________________________

#### Quigibo

• The Executioner
• CoT Emeritus
• LV11 Super Veteran (Next: 3000)
• Posts: 2031
• Rating: +1075/-24
##### Re: Features Wishlist
« Reply #1759 on: January 09, 2011, 07:57:37 pm »
Runer, my custom interrupts don't use the shadow registers for af.  They push and pop af instead specifically for the purpose of making the grayscale routines compatible inside interrupts.
« Last Edit: January 09, 2011, 08:00:46 pm by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

#### Runer112

• Project Author
• LV11 Super Veteran (Next: 3000)
• Posts: 2289
• Rating: +639/-31
##### Re: Features Wishlist
« Reply #1760 on: January 09, 2011, 08:39:18 pm »
Oh lol. Nevermind then! But why is DispGraphrr listed as incompatible with interrupts in the Commands.htm file?
« Last Edit: January 09, 2011, 08:39:53 pm by Runer112 »

#### FinaleTI

• Believe in the pony that believes in you!
• CoT Emeritus
• LV10 31337 u53r (Next: 2000)
• Posts: 1830
• Rating: +121/-2
• Believe in the pony that believes in you!
##### Re: Features Wishlist
« Reply #1761 on: January 09, 2011, 08:43:47 pm »
Mayhaps it wasn't updated?
It only became compatible with interrupts a few versions ago. I think 0.4.5, but I could be wrong.

Spoiler For Projects:

My projects haven't been worked on in a while, so they're all on hiatus for the time being. I do hope to eventually return to them in some form or another...

Spoiler For Pokemon TI:
Axe port of Pokemon Red/Blue to the 83+/84+ family. On hold.

Spoiler For Nostalgia:
My big personal project, an original RPG about dimensional travel and a few heroes tasked with saving the world.
Coding-wise, on hold, but I am re-working the story.

Spoiler For Finale's Super Insane Tunnel Pack of Doom:
I will be combining Blur and Collision Course into a single gamepack. On hold.

Spoiler For Nostalgia Origins: Sky's Story:
Prequel to Nostalgia. On hold, especially while the story is re-worked.

#### Quigibo

• The Executioner
• CoT Emeritus
• LV11 Super Veteran (Next: 3000)
• Posts: 2031
• Rating: +1075/-24
##### Re: Features Wishlist
« Reply #1762 on: January 09, 2011, 09:14:08 pm »
Oops, you're right, I forgot to update that.  Fixed.
___Axe_Parser___
Today the calculator, tomorrow the world!

#### squidgetx

• Food.
• CoT Emeritus
• LV10 31337 u53r (Next: 2000)
• Posts: 1881
• Rating: +503/-17
• rawr.
##### Re: Features Wishlist
« Reply #1763 on: January 10, 2011, 06:25:03 pm »
Feature request: Backing up programs from archive?

• Posts: 295
• Rating: +20/-1
• Its 0x1A4 somewhere
##### Re: Features Wishlist
« Reply #1764 on: January 11, 2011, 02:25:58 pm »
Like i accidentally said in the wrong thread (facepalm). I think something like Parse(srcProg, DestProg) would be cool. It should require that Axe be installed (like xLib) for the command to work. This would allow people to create their own guis for the parser or incorporate the parser into a shell (like axe terminal).

#### Munchor

• LV13 Extreme Addict (Next: 9001)
• Posts: 6199
• Rating: +295/-121
• Code Recycler
##### Re: Features Wishlist
« Reply #1765 on: January 11, 2011, 04:49:22 pm »
I know this has been requested before, but today I really needed it, huh. break and continue functions. This topic is >117 pages long and can't check'em'all, but did Quigibo said anything about implementing them or not?
« Last Edit: January 11, 2011, 04:49:42 pm by ScoutDavid »

#### Quigibo

• The Executioner
• CoT Emeritus
• LV11 Super Veteran (Next: 3000)
• Posts: 2031
• Rating: +1075/-24
##### Re: Features Wishlist
« Reply #1766 on: January 11, 2011, 04:58:03 pm »
There is actually a pretty easy way to do break and continue.  You can put your loop in a subroutine and then call it from the program.  Using Return then acts like a break and using a goto to the subroutine acts like a continue.

Code: [Select]
While A While B  If C   Break  End  If D   Continue  End EndEnd.The above can become:While A sub(LOP)EndLbl LOPWhile B ReturnIf C If D  Goto LOP EndEnd
« Last Edit: January 11, 2011, 04:58:54 pm by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

#### ztrumpet

• The Rarely Active One
• CoT Emeritus
• LV13 Extreme Addict (Next: 9001)
• Posts: 5712
• Rating: +364/-4
• If you see this, send me a PM. Just for fun.
##### Re: Features Wishlist
« Reply #1767 on: January 11, 2011, 05:11:30 pm »
Before I begin, let me clarify something about shadow registers, because I was a bit confused about this myself for a while. When exchanging registers with shadow registers, the processor doesn't move values from the active registers into the shadow registers and vice versa. There is not one specified set of "active" registers and one specified set of "shadow" registers. Instead, the processor uses a mux to simply flip its definition of which set is the active set and which set is the shadow set. So when an interrupt activates, the processor simply designates the set of registers it wasn't previously using as the set that the interrupt will use.
Thank you so much for this explanation!  Runer
If I'm wrong, please correct me!
Unfinished Projects:
 Elmgon 14% Basic Movement Demo Homescreen Game Pack 80% Basic Latest Release Cube Droid Saves the Galaxy 65% Axe Demo Detonate 70% Axe
Completed Projects:
Exodus | Midnight |Drifter | Axe Snake | Jump! | Factory Theta | Spider | Plot Drop | Papi Jump | Numb3rs | Nibbler | Boost | Duel Tile Map Editor | Homescreen Map Editor | Key Group Check | Oasis

#### Munchor

• LV13 Extreme Addict (Next: 9001)
• Posts: 6199
• Rating: +295/-121
• Code Recycler
##### Re: Features Wishlist
« Reply #1768 on: January 12, 2011, 01:14:36 pm »

However, I want it to make Shade the same number as it was when the program ran, so the user's original shade. I don't see how to do this.

If I can, how?
If not, could a GetShade() like command be implemented?

#### Ikkerens

• LV6 Super Member (Next: 500)
• Posts: 378
• Rating: +28/-9
• JavaScript Magician
##### Re: Features Wishlist
« Reply #1769 on: January 12, 2011, 01:51:58 pm »

However, I want it to make Shade the same number as it was when the program ran, so the user's original shade. I don't see how to do this.

If I can, how?
If not, could a GetShade() like command be implemented?

Seconded on this one.
I refuse to update the user's contract without resetting it after use

And, FFth post

Splut for Android [----------]
Paused/halted indefinitely, might be abandoned, our graphic designer quit and the rest of us simply doesn't have the time to work on it...