1081
Gaming Discussion / Re: A Challenge
« on: August 04, 2011, 08:23:08 am »That ball challenge was such a pain until we figured out the secret
So easy
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. 1081
Gaming Discussion / Re: A Challenge« on: August 04, 2011, 08:23:08 am »That ball challenge was such a pain until we figured out the secret So easy 1082
The Axe Parser Project / Re: Features Wishlist« on: August 03, 2011, 03:26:07 pm »The #If and #End would be super easy to code, but what would be good symbols for those to replace? I had two ideas for this:
1083
Other / Re: Unlimited Detail!« on: August 03, 2011, 11:37:24 am »
The technology is very real, and this company isn't the only one experimenting with it. The only reason the videos this company is releasing make it seem unreal is because they never state the downsides of their rendering engine. To name a few:
This is a very interesting technology and I cannot question that it produces astounding graphics. But in its current state, it has a few large problems that haven't been solved, so I don't think it's ready for use in real products yet. My hat goes off to the first company to make an immserive landscape like that of Oblivion (my favorite game ever if you haven't guessed yet) using voxels that contains less than 25GB or so of data. 1084
The Axe Parser Project / Re: Features Wishlist« on: August 03, 2011, 11:03:19 am »
No, I think an actual #If is still necessary. There could be labels or data defined inside the subroutine that other parts of the program need regardless of whether or not the if statement is executed. And regardless of that, I think it's a good idea to continue the pattern of preceding compiler commands with an octothorpe.
1085
The Axe Parser Project / Re: Features Wishlist« on: August 03, 2011, 10:57:15 am »
Technically, yes, it should be preceded with an octothorpe. The question is do we want to make a new token for #End, which probably wouldn't be as obvious to find as End and wouldn't make as much sense without token replacements.
1086
The Axe Parser Project / Re: Features Wishlist« on: August 02, 2011, 11:09:16 pm »
It's an If statement that is evaluated at compile time, only compiling the code inside the statement if the condition is true. One scenario in which it would be very useful is debugging. You could put something like this in your code to easily enable or disable a bunch of debugging outputs and not have the debug code bloat your program when you're not debugging.
Code: [Select] .MYPROG You could also use for many other things. To name a few:
1087
The Axe Parser Project / Re: Features Wishlist« on: August 02, 2011, 04:55:19 pm »
That does work Quigibo, but it's unnecessarily slow and bloated if the only logic they require is AND.
Also, in response to this: I'd like to have a debug macro (#Debug / #Release) and #Debug(code) would mean the code is only executed in debug mode, or something like this. I've always wanted a compiler feature like this, but what would be infinitely more useful is #If. It could handle debug stuff and much more, like easily changeable compiling options. For instance, my old raycasting project had to have like 8 different copies of the source for slight rendering variations. #If would allow me to combine them all into one and make working on such projects much more manageable. 1088
The Axe Parser Project / Re: Bug Reports« on: July 30, 2011, 04:05:03 pm »
Oh wait, you're right. This is a really bad bug then, it could completely break programs.
1089
The Axe Parser Project / Re: Bug Reports« on: July 30, 2011, 04:00:28 pm »
Well that's a whole other problem entirely. Axe 1.X seems to have problems identifying invalid tokens and throwing errors upon reaching them. As an extension of this problem, if you use an invalid token that Axe does recognize as invalid but you have included an Axiom in your program, it takes Axe a good few seconds upon reaching the invalid token to finally throw an error.
1090
The Axe Parser Project / Re: Bug Reports« on: July 29, 2011, 03:31:27 pm »The increment/decrement operators (++/--) seem to be "invalid tokens", if used with memory locations/curly brackets (haven't tested variables). I just tried it myself, you are right. It only seems to occur with one-byte constant pointers, though. It's probably worth clarification that although parsing only fails with one-byte increments/decrements at constant pointers, all increments/decrements at constant pointers are afflicted with a problem. It seems that somehow all the routine references were shifted one position according to the number of r modifiers. If you specify n r modifiers, the parser will look for the routine that would correspond to n-1 r modifiers. So the one-byte increments/decrements fail because there is no routine for -1 r modifiers, but although the other two do not error, they look to the wrong routines. 1091
Axe / Re: Routines« on: July 28, 2011, 10:31:39 pm »
Someone asked for subtring and instring functions like those in TI-BASIC. So I made an Axe library with those two routines! Here's a quick summary of each one:
The Axe library is attached below. To use it in your program, simply send this to your calculator and include "prgmSTRLIB" in your program. I tested it a bit and think it works perfectly, but if not, please inform me! 1092
Axe / Re: Instring(, and Sub( in Axe« on: July 28, 2011, 10:23:14 pm »
Here are some implementations I whipped up to act just like the TI-BASIC string functions. The instring function even has the optional third argument! However, note that the substring function should probably not be used to create substrings over 255 characters long, and definitely not 0 characters long. Also, the optional third argument for the instring function should not be longer the length of the string being searched. But other than that, they should work perfectly!
You can get a bit more information about the functions and download the ready-to-go Axe library here. Code: [Select] Lbl SUB
1093
The Axe Parser Project / Re: Assembly Programmers - Help Axe Optimize!« on: July 27, 2011, 10:47:25 pm »
The app version might need to disable interrupts, but why would the program version need to? Both Axe's and the OS's interrupt handlers back up the page in the $4000-$7FFF bank and restore it upon returning.
1094
The Axe Parser Project / Re: Axe Parser« on: July 25, 2011, 02:53:41 pm »
Also, a bug regarding short-circuiting a chain of ORs (or NORs). Omitting parentheses around the inline if statement chain somehow results in the first line inside the If statement being parsed as if it's at the end of the If statement line. For instance, this:
Code: [Select] If A?,B Is parsed like this: Code: [Select] If A?,BPxl-On(A,B)
1095
The Axe Parser Project / Re: Assembly Programmers - Help Axe Optimize!« on: July 25, 2011, 11:16:41 am »
Quigibo, you read my mind. I was about to make a post with code for commands that deal with archived variables to work with variables in RAM too, but you added that in Axe 1.0.2 before I could finish! However, I'll make a post anyways because my p_GetArc routine is smaller. I also have a few other things.
p_GetArc: 7 bytes smaller.
p_ReadArc: Bumping an old request for larger but drastically faster archive reading routines. The routines would need to modified slightly to allow for reading from RAM as well, but that should be no problem. I would understand if you didn't want to add the app version, but the program version is immensely better in my opinion. 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_CopyArc: Modified to allow for sources in RAM.
Also, I'm not sure why I just realized this now, but why don't the 8-bit logic operations on variables just load the variable into a instead of de to save 2 bytes? |
||||||
|