1171
Axe / Re: Routines
« on: June 13, 2011, 06:54:51 pm »
It's a B_CALL to the boot code, so it should exist on every OS with boot code. In other words, every OS.
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to. 1171
Axe / Re: Routines« on: June 13, 2011, 06:54:51 pm »
It's a B_CALL to the boot code, so it should exist on every OS with boot code. In other words, every OS.
1172
Axe / Re: Routines« on: June 12, 2011, 02:05:41 pm »
Massive hardware version check optimization? 6 bytes, about one quarter the size of your code.
Asm(EFBA8026006F) 1173
Axe / Re: Axe Q&A« on: June 11, 2011, 03:41:25 pm »
Those two blocks of code are different in a few ways:
Put the two together and you get this, which I believe should do what you want: Code: [Select] If {20-{E}→{E}}>10
1174
The Axe Parser Project / Re: Assembly Programmers - Help Axe Optimize!« on: June 10, 2011, 11:20:26 pm »
More stuff regarding interrupts. SMC'ing the active port 6 page into the interrupt handler is, as far as I know, only necessary for applications. You could get rid of this if the code is being compiled to a program to save 9 bytes.
And on the topic of stuff that involves port 6, I think it would be nice if the archive byte reading routine avoided using a B_CALL for a massive speed boost, especially for code compiled as programs: p_ReadArc: 18 bytes (2x) larger, but ~1400 cycles (!!!10x!!!) faster Code: (36 bytes, ~142 cycles) [Select] p_ReadArc: p_ReadArcApp: 36 bytes (3x) larger, but ~1050 cycles (4x) faster Code: (54 bytes, ~396 cycles) [Select] p_ReadArcApp:
1175
TI Z80 / Re: Plants vs Zombies« on: June 10, 2011, 11:18:09 am »
This looks pretty cool. I haven't actually played PvZ myself, but supposedly a lot of people like it. Anyways, I'd love to help you with your problem, but the zip file you attached is empty.
1176
Axe / Re: Axe Q&A« on: June 10, 2011, 11:14:11 am »
The Commands.htm file included in Axe releases has a pretty good summary of the L1-L6 RAM areas. And you can save data to any section of RAM you want. The question is what it will corrupt.
Quote from: Commands.htm L1 = 714 bytes (saveSScreen) Volatility: LOW 1177
Axe / Re: Axe Q&A« on: June 10, 2011, 10:58:47 am »
They're different. Although the memory read only reads a 1-byte value, all Axe math is done with 2-byte numbers. So the first statement would evaluate to 255+1=256, which is nonzero and will not activate the !If condition.
1178
The Axe Parser Project / Re: Axe Parser« on: June 09, 2011, 07:01:16 pm »
You could add a first pass for the sole purpose of finding user-defined constants. Not a terribly elegant solution, but it would work.
1179
The Axe Parser Project / Re: Features Wishlist« on: June 09, 2011, 06:07:30 pm »
Ah okay, that's great. I was going to suggest that originally, but figured the variable problem would make it too hard to implement.
1180
Axe / Re: The Optimization Compilation« on: June 09, 2011, 04:56:55 pm »
I tested that exact inData() situation and got the expected result of 0. All I can think of is either P+D is pointing to the wrong place or {P+D} equals zero, which will throw off the inData() command.
Anyway, if you want to test if the value equals 2 or 3, you can test much more efficiently with the following code: Code: [Select] !If {P+D}/2-1
1181
The Axe Parser Project / Re: Features Wishlist« on: June 09, 2011, 04:48:11 pm »
I think Quigibo and I both agree that π would be a good token for the following feature, as it is quickly accessible and will probably be used far more often than binary numbers.
Second, could static pointers and constants not require the first token to be a GDB, Pic, or Str token? I see this as being most easily implemented by allowing define references to be prefixed with an easily accessible token like π, which would dictate that what follows is a define and not a variable. Some sample code of old and new static pointers coexisting: 1182
The Axe Parser Project / Re: Features Wishlist« on: June 09, 2011, 12:53:28 am »
Eh, it's not a terribly intuitive base token, but I guess there aren't many other available options.
1183
The Axe Parser Project / Re: Features Wishlist« on: June 09, 2011, 12:31:52 am »
I think pi is going to be used for a feature I suggested, hopefully coming up in 1.0. Anyway pi doesn't seem like a very intuitive binary indicator, at least to me.
1184
The Axe Parser Project / Re: Features Wishlist« on: June 09, 2011, 12:28:19 am »
I voted no on the recent poll, in large part because I don't see any great alternatives, whether they are easily accessible or not. If you're worried about defines that start with lowercase b, you can always just add a rule that defines cannot start with a lowercase b. I doubt anybody would even know that such a rule exists if you did add it, because I think the chances of somebody making a define that starts with a lowercase b are pretty low.
However, if someone can suggest a decent alternative to the lowercase b, I might be willing to change my vote. 1185
The Axe Parser Project / Re: Features Wishlist« on: June 09, 2011, 12:18:54 am »
Inverse/white drawing for commands that currently cannot might be nice. However, I'm not sure how being able to provide a whole list of buffers to apply a command to would be useful. I can't see why you'd want to apply the command to any more than two buffers in the first place, and if so, you can easily do something like:
Code: [Select] Pt-On(expression→r₁,expression→r₂,expression→r₃) Because of how arguments are loaded and read, it wouldn't even be possible to optimize this much by combining the two into "one" command. Also, this is sort of a weird request in general, because the syntax style of applying a command to a list of buffers is strange. |
|