Version 0.3.1

New features:
  • Real error scrolling just like BASIC! Finally!
  • The new token names are now automatic. They turn on if the program has an Axe Header
  • Axe does not re-save the settings unless you make changes. It will keep it unarchived if you want to unarchive it.
  • Commands list shows both new and old token spellings.
  • More nested expressions are allowed in a single statement.

Changed:
  • Fixed some bugs in the new tokens and documentation.


Private Beta also has application compiling feature I'm testing out.
Very nice, Quigibo; I'll be testing out that private beta that you sent me in an hour or two. What do you mean about the scrolling; were you unable to get the editor code from my Doors CS source working correctly? Sad
Yeah, I was having problems with large source codes. The one I was specifically testing was 14kb in ram. It seemed I was not able to scroll to the error in that file. Instead, it brought me to an unrelated position and then somehow shrunk the code becasue the next time I ran the program, there was a different error and the code was smaller (even through the size is says it takes up in ram is the same).
quigibo wrote:
Yeah, I was having problems with large source codes. The one I was specifically testing was 14kb in ram. It seemed I was not able to scroll to the error in that file. Instead, it brought me to an unrelated position and then somehow shrunk the code becasue the next time I ran the program, there was a different error and the code was smaller (even through the size is says it takes up in ram is the same).
Ouch, that's a pain. Would you mind sending me that 14KB program so I could try seeing what Doors CS is able to make of it?
Axe Parser 0.3.2

New Features:
  • Compile your programs to applications!
  • Axioms can be imported for added functionality!
  • Custom interrupt support!
  • Display Tokens.
  • New token value constants.
  • Find the length of a zero terminated data block.
  • Display small text without defining coordinates first.
  • Sound quality has drastically improved.
  • Developer information included.

Changed:
  • Fixed more bugs with negative numbers (I hate those things!)
  • Error scrolling is much cleaner, but still messes up in gigantic programs
Awesome! I still need to make some Doors CS Axioms, unless one of you dedicated Axe/ASM/DCS fans wants to give it a go. Smile
Axe Parser 0.3.3

New Features:
  • Draw rectangles and boxes.
  • Draw circles.
  • Interrupts are now compatible with applications.
  • 2 New advanced multiplication techniques: Fixed Point and High Order.
  • "Return" at the end of the program is automatically optimized.
  • Error scrolling is more accurate.
  • Simple application signing included.

Changed:
  • Freq() can now play lower notes, and only the tone "0" has changed.
  • Fixed some issues with negative numbers.
  • Fixed the Data() command. All numbers should work with it now.
  • Pixel drawing far off screen is safe now!



New Example program: Fractal Explorer! You will not find a faster one for the calculator!
What do the rectangles support? Can you make empty or filled, white, black, or xor'd boxes?
It only supports Black and Inverted, but using different combinations of these, you can get all rectangles, even different shades of gray and transparency.

Black + Inv = White with border
Inv + Inv = Clear with border
Black + Inv + Inv(backbuff) = Semi transparent with 3 level GS.

etc. You would typically put these in subroutines so that they can be called conveniently.
quigibo wrote:
It only supports Black and Inverted, but using different combinations of these, you can get all rectangles, even different shades of gray and transparency.

Black + Inv = White with border
Inv + Inv = Clear with border
Black + Inv + Inv(backbuff) = Semi transparent with 3 level GS.

etc. You would typically put these in subroutines so that they can be called conveniently.
Makes sense, that's not too bad. What kind of overhead in bytes does using the rectangle routine put into your program?
Each one is 114 byes and only added once since its a subroutine. The routine includes clipping and I am using an optimization so that I don't have to pop arguments, reducing any overhead with calling it. For more details, I include with each release a "commands.inc" file with all the assembly commands in case anyone can optimize them.
quigibo wrote:
Each one is 114 byes and only added once since its a subroutine. The routine includes clipping and I am using an optimization so that I don't have to pop arguments, reducing any overhead with calling it.
That's quite decent!
quigibo wrote:
For more details, I include with each release a "commands.inc" file with all the assembly commands in case anyone can optimize them.
Excellent, that's very responsible of you. Smile
Axe Parser 0.4.1

New Features:

  • Almost every external variable can now be fully used in Axe.
  • Read external variables directly from flash.
  • Delete external variables.
  • Updated documentation for external variable usage.
  • White space is completely white now, its ignored almost everywhere.
  • Text commands have improved greatly.
  • Temporary pointers allow any data to be defined and used immediately in any command.
  • Direct I/O control of the link port.
  • Error messages are more descriptive.
  • Size of the program is displayed when compiling to an application.
  • Slightly improved application compiling.
  • New optimizations to reduce the size of nearly every program.
  • Read from pointers in reverse (big endian).
  • Change log included with the parser.
  • New masked sprite drawing routine for 3 level grayscale.
  • Main sprite drawing routines can be drawn to any specified buffer.

Changed:

  • Fixed end of program bug.
  • Text command syntax has changed to look exactly like the output and display syntax.
  • Fixed bug with file pointers.
  • Fixed small bug in defragmenting and app compiling.


I didn't release 0.4.0 here because there were some bugs I had to fix first. A lot of new and important things here. Especially flash reading, external variable manipulation, and the largest axe command I've written so far: the grayscale compact masking routine that draws a fully masked 3 level grayscale sprite from only 2 layers like how Pyoro does it.
Very impression, Quigibo; nice job. I'm curious why you decided to add big-endian pointers; was that something frequently requested? How about the link port stuff, do you disable interrupts for that specifically, leave them disabled all the time, or leave it up to the program to choose?
Big endian was requested to make reading tokens from programs and strings easier since they're both stored in big endian. Link ports have nothing to do with interrupts really, I haven't added the automatic linking routine to send bytes yet, its just the direct control right now for things like sound and shake detection.
quigibo wrote:
Big endian was requested to make reading tokens from programs and strings easier since they're both stored in big endian. Link ports have nothing to do with interrupts really, I haven't added the automatic linking routine to send bytes yet, its just the direct control right now for things like sound and shake detection.
Yeah, but if the TI-OS interrupts are enabled, they love to either get confused by the state changes or interrupt them and ruin good songs. Smile
Axe Parser 0.4.3

New Features:
  • Create Axe Backup files automatically to preserve source code during ram clears!
  • Manually manage your backups in the compile menu.
  • Include external source code directly into your main source code!
  • Basic sprite rotation and flipping!
  • Automatic Calc-To-Calc linking with the I/O cable!
  • Static pointers and label names can now be up to 3 letter/numbers!
  • Many new auto-optimizations.
  • Faster division routine (but also slightly larger).
  • [2nd] and [Mode] now also work in the GUI like [Enter] and [Clear] respectively.
  • Screen-shift the back buffer in any direction.
  • Bit checking for 16-bit numbers.
  • New auto-opts for bit checking.
  • Missing label displayed when receiving a missing label error.

Changed:
  • Fixed bug that would randomly make the high-nibble of long hex numbers 0.
  • Fixed progress bar looping when compiling from large programs in rom.
  • Fixed division bug with constants close to 255.
  • Compatible with Mac TI-Connect.
  • Return optimization in no longer automatic due to possible program leaks.
  • Parser always resets the window top to the correct position.


To summarize, the largest improvements are the new backup system and the ability to split your source code into several files and "include" them like the C language does. Each of the individual files can be in rom and they can be set to not show up on the compile menu if they should not be compiled independently (library files).
Sounds good, Quigibo, very nicely done. Are you still planning to reach 1.0 by the beginning of September, or no?
Calc to calc commands


Surprised
Not sure how realistic that goal is anymore. I was actually planning to finish by end of August. Its true though, I have significantly less on my to-do list in terms of commands to add. Those I will finish by then most likely. But I was planning a lot more things with the parser itself like improving the TI-BASIC editor, that help option on the menu that currently does nothing that everyone is asking about, 2 page app compiling, etc. I'm not sure what I will do, either start making it very stable so I can release 1.0 soon, or I can continue adding new features but at a much slower rate come September.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 2
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement