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.
Messages - Runer112
Pages: 1 ... 121 122 [123] 124 125 ... 153
1831
« on: October 29, 2010, 09:55:21 am »
Just wondering, how much control would the new axiom system have? Would it be able to do things like not just add token-based commands, but directly add modifications to the parsing process?
1832
« on: October 28, 2010, 10:37:42 pm »
Perhaps the problem isn't on Quigibo/Axe's end, but is just specific to him? As far as I know, nobody else has noticed any such compatibility problems with Axe on the Nspire, and a quick scan of Commands.inc revealed no use of undocumented instructions.
1833
« on: October 28, 2010, 10:19:50 pm »
Actually, there's a lot of compression he could do. The middle line could be represented as either a series of lines stacked vertically, sprites linked horizontally, or simple filling of the buffer data inside the line with $FF. I'm not sure which of these would be most compact, but he could simply do trial and error to see which works best. The comet-like image would best be represented as one combination of sprites that is simply redrawn at different x values every frame, and vertically flipped every other frame. As for the four-pointed star and the explosions, they have 4 and 7 distinct sizes respectively, the images for which would each have to be stored, but only once. They could then be redrawn in whichever multiple frames they appear in. Even better, these two shapes are symmetrical both horizontally and vertically, so you would only need sprites to represent one quadrant for each scaled version and draw the other three quadrants by flipping the sprites horizontally, vertically, or both.
EDIT: Scratch the line drawing idea, forgot you can't draw white lines.
1834
« on: October 28, 2010, 09:53:43 pm »
Yeah, 32 frames... you're probably going to want to apply some compression to that lol.
1835
« on: October 28, 2010, 05:05:02 pm »
Don't put me in as a replacement, I signed up for the Axe list, not the BASIC one
1836
« on: October 28, 2010, 02:01:07 pm »
I count 4 people waiting on the Axe list That's technically enough, although you'd be sure about which 4 people are going to be picked to compete lol.
1837
« on: October 28, 2010, 01:30:24 pm »
Perhaps run an Axe competition alongside the BASIC one? Even if I don't end up being in it, it would be nice not to wait 2+ weeks for the first Axe competition to start
1838
« on: October 28, 2010, 01:27:26 pm »
I would be up for Axe.
1839
« on: October 28, 2010, 05:53:52 am »
Have you made use of the whopping 1094 bytes of effectively safe RAM starting at $8000?
"Safe" I'd have to dispute... sure, all of RAM can be considered "safe" if you disable interrupts and never call any system routines. And if you're going as far as keyExtend, you're already trashing the keypad-scanning variables, so why stop there?
For his purpose of parsing, during which key inputs aren't checked, it won't matter if he overwrites that. Although if he didn't want to overwrite it, I'm sure 1,093 bytes would be just as good. I've filled these 1,094 bytes of RAM with random data a few times before to see if it affects anything, and the calulator runs fine. I've actually been using the calculator to do other stuff since then, with this area of RAM having been filled with garbage, and no side affects have cropped up. EDIT: Or, just to be safe, I remembered that Iambian mentioned something about this on IRC a while ago ( here) when I was considering using this area as temporary storage: [22:19:28] <Runer112> yeah, appdata is 8000h [22:19:29] <Iambian> You're free to use that area regardless. [22:19:44] <Runer112> appdata is completely safe for my purposes? whether or not i'm running an app? [22:19:52] <Iambian> Thought you were talking about something that looks more important, like baseAppBrTab or something. [22:20:21] <Iambian> Either way, this magic romcall that (I think) BrandonW found recovers most of it before you want to exit. bcall($5011) it is. [22:20:52] <Iambian> It was noted in my source as "restores first 1087 bytes in RAM"
1840
« on: October 27, 2010, 07:37:02 pm »
I wonder if you can use a label as a pointer, like by doing lbl123+64
You would never reliably be able to do this because future optimizations would mean that the spacing between some labels would change between every version of the parser. This would only work if the entire routine were written with an Asm() command so you would know the length of the subroutine ahead of time.
Unfortunately there is no way around the 150 symbol limit to labels, but there are some things you can do to use less labels in general. First of all, if you aren't calling it as a subroutine, you probably don't need it as a label. You can instead use a combination of if's and while's to handle those situations properly (remember, most modern programming languages don't even have a goto command). Another thing, if you have labels that are never used, comment them out becasue they still take up space on the symbol table even if they are never called.
Quigibo, how exactly does the parser make use of memory during parsing? Have you made use of the whopping 1094 bytes of effectively safe RAM starting at $8000?
1841
« on: October 27, 2010, 02:18:55 pm »
Well so much for optimizing it by adding subroutines... I just got ERR: MAX SYMBOLS. Which, according to the documentation, means the program has too many static pointers and labels.
EDIT: Although Merthsoft's Tokens program looked so promising, I just realized that even it fails to correctly handle the source file. Without any changes to the source file, compiling it with Axe yields a 9,878-byte application, which is 5 bytes smaller than it should be. I first noticed that something was wrong because no items showed up in the equip items menu, resulting in my becoming stuck and having to reset the RAM. Unfortunately it looks like I'm not going to be able to help optimize this for you unless I can find SOME program editor that will correctly handle the source file. I can tell you one fairly large optimization that I noticed right at the beginning, though:
ClrDrawr DrawInv r Full For(θ,0,767 {Y1+1536+θ} and {L3+θ}→{L3+θ} End Is the same as:
Full conj(Y1+1536,L3,768)
1842
« on: October 27, 2010, 01:27:47 pm »
You edit this behemoth on-calc?!? Thanks for reminding me of Merthsoft's Tokens program, that appears to work correctly. I'll try optimizing it from there now.
1843
« on: October 27, 2010, 12:23:07 pm »
Well I'd love to help optimize it, but I'm having some problems with it. If I open the source in SourceCoder and then export it without making any changes (program marked as locked, destination in RAM), and send that file to the calculator, it doesn't show up in Axe's list of valid source files to compile. If I change the program to unlocked and export that, that will show up in Axe's menu and compile, but the screen just shows garbage when I run it. Sending the original file in your zip file to the calculator works perfectly, but somewhere along the way, between my computer to cemetech and back to my computer, something is going wrong. And without using an off-calc editor like SourceCoder, there's no way I'm ever going to wade through and make optimizations to a 7KB source file.
EDIT: Perhaps I should ask you... With what do you edit this source file?
1844
« on: October 27, 2010, 11:34:10 am »
And your issue with the immediate done thing: I had this issue on my nspire, and the way I fixed it was reinstalling the OS. Not sure if that'll help your situation, but it's worth a shot. Make sure you use 2.43 when you reinstall, not 2.5 MP edition
I believe the only reason he was having this problem is because he was compiling the programs with the Ion/MirageOS header, which will immediately return if run with Asm() on the home screen.
1845
« on: October 27, 2010, 11:18:44 am »
Darn, how did I miss this before? I love trying to optimize code If you post an updated version of the source, because I'm guessing you've made numerous changes since your post a few pages ago, I can work on optimizing it.
Pages: 1 ... 121 122 [123] 124 125 ... 153
|