Author Topic: Axe Omega 1.2.0 released  (Read 12495 times)

0 Members and 1 Guest are viewing this topic.

Offline squidgetx

  • Food.
  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Axe Omega 1.2.0 released
« on: November 22, 2012, 09:02:50 pm »
Happy Thanksgiving! (if you're into that)

It's been over six months since the last Axe update. Quigibo's activity began to decline, and soon Axe development seemed to have ground to a halt. However, management of the project has been temporarily passed to Runer112, an extremely proficient assembly and Axe coder and responsible for many of the optimizations now thought standard by the community and for many of the speedy routines you can find in Axe 1.1.2.

After a lot of work, Runer112 has released a fresh update. The original post can be found here.

Axe Parser
Omega 1.2.0



It's Thanksgiving, and this year, we can all give thanks for Axe living on! Just temporarily under new management. :)

New Features:
  • Have the need for speed? Using #ExprOn will request that all following code and called Axe routines be optimized for speed instead of size! Using #ExprOff does the reverse. Currently this only affects a few Axe routines (*, Pt-On(), Pt-Change(), DrawInv, Horizontal+/-, >Hex), but more will come! Axe Fusion always uses the fastest Axe routines available.
  • Continuing with the speed theme, DispGraphRecallPic has been added! It's the same as DispGraph and then RecallPic, but it's almost as fast as DispGraph alone.
  • Fixed point division! Syntax is: /*
  • Fixed point square! Syntax is: ²r
  • Labels and constant names can be up to 13 characters long!
  • No longer corrputs the OS when unlocking flash!
  • Even shinier commands list! BIG thanks to jacobly! I'm also trying to add size and speed data for everything; it's a work in progress, so please excuse errors/missing values for now.
  • Full support for big endian variables.
  • Signed min() and max(): just throw on an r.

Changed:
  • Better string parsing, including spelling out multi-character tokens, more reliable "var", and "grp" (w) is now "tmp"; these arbitrary-size variables will be automatically deleted on exiting.
  • Optimized most DispGraph variants: all but 4-level DispGraphClrDraw are smaller, which is larger because...
  • 4-level DispGraphClrDraw is about 15% faster. Also, 4-level DispGraph is about 5% faster.
  • Optimized >Hex, stdDev(), Horizontal-(EXPR), getKey(EXPR), -1, interrupts, and all archived variable routines slightly.
  • Optimized more stuff that I forgot.
  • nib{}r now always reads from the half of memory your code exists in.
  • inData(0,DATA) now returns 0, so no more adding 1 to all your key checks!
  • ln(0) now returns -1, it seems slightly more proper than 255.
  • Disp >Tok accepts the same argument type as Text >Tok.
  • Added "signed" equal and not equal operators.
  • Added optimizations for ^10, //0, and //-1, not that the latter two will ever be needed.
  • The A-theta variables have been moved, so L1 is now 768 bytes long by default.
  • When pointed into a variable in RAM, the Y1T and Y2T variables will be updated automatically if the variable is moved.
  • The X1T and X2T variables will act similarly when pointed into a VAT entry.
  • The X4T-Y6T variables have been added.
  • Slightly larger but faster multiplications by some large powers of 2.
  • Fixed a bug when a string displayed in an app went offscreen.
  • Fixed drawing sprites to arbitrary buffers.
  • Fixed rectangle clipping.
  • Fixed the size of the stdDev() subroutine.
  • Fixed some Axe fusion-related bugs.
  • Fixed some bugs with the token hook.
  • Fixed some bugs with comments.
  • Fixed some peephole optimization bugs.
  • Fixed a silly typo in an error message.
  • Fixed many errors in the command list.
  • Fixed many other bugs that I forgot about.
  • And probably introduced some bugs!

« Last Edit: November 22, 2012, 09:07:53 pm by squidgetx »

Offline Juju

  • Incredibly sexy mare
  • Coder Of Tomorrow
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 5730
  • Rating: +500/-19
  • Weird programmer
    • View Profile
    • juju2143's shed
Re: Axe Omega 1.2.0 released
« Reply #1 on: November 22, 2012, 10:23:23 pm »
Yay \o/

Remember the day the walrus started to fly...

I finally cleared my sig after 4 years you're happy now?
THEGAME
This signature is ridiculously large you've been warned.

The cute mare that used to be in my avatar is Yuki Kagayaki, you can follow her on Facebook and Tumblr.

Offline epic7

  • Chopin!
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2200
  • Rating: +135/-8
  • I like robots
    • View Profile
Re: Axe Omega 1.2.0 released
« Reply #2 on: November 22, 2012, 10:47:06 pm »
Nice, Runer!
* epic7 feels like he should do some more z80 programming
« Last Edit: November 22, 2012, 10:49:14 pm by epic7 »

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: Axe Omega 1.2.0 released
« Reply #3 on: November 23, 2012, 02:02:28 am »
:w00t:

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3915
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: Axe Omega 1.2.0 released
« Reply #4 on: November 23, 2012, 02:03:13 am »
Yay :D Only problem... I can't send stuff to calc anymore. Did the syntax change a lot?
I'm not a nerd but I pretend:

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Axe Omega 1.2.0 released
« Reply #5 on: November 23, 2012, 02:33:53 am »
Also, did the app format change ? If so, I'll need to reprogram my PageSwap axiom.

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Axe Omega 1.2.0 released
« Reply #6 on: November 23, 2012, 02:51:10 am »
I seem to be having strange problems with an Invalid-Token error that pops up randomly D:

Offline Eiyeron

  • Urist McEiyolobster
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1430
  • Rating: +130/-10
  • (-_(//));
    • View Profile
    • Rétro-Actif : Rétro/Prog/Blog
Re: Axe Omega 1.2.0 released
« Reply #7 on: November 23, 2012, 08:41:29 am »
Yay! :D... BUilderboyd? D:

Offline Runer112

  • Moderator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Axe Omega 1.2.0 released
« Reply #8 on: November 23, 2012, 10:59:28 am »
Yay :D Only problem... I can't send stuff to calc anymore. Did the syntax change a lot?

What can't you send to your calc any more? And what linking software do you use? I was a little worried about the ability to send Axe itself because I changed it's header, but I checked and it still seemed to work fine for me with TI-Connect. I'm a little surprised that it has prevented you from sending other things to your calculator.


I seem to be having strange problems with an Invalid-Token error that pops up randomly D:

Is there any of discernible pattern at all? Fixing an error that pops up entirely randomly is nigh impossible, unfortunately. If it happens frequently when compiling one program, perhaps send it to me and I'll try compiling it over and over to reproduce (and hopefully fix) the error.




Anyways, I hope you guys like the new version of Axe! It did require a good amount of work, and a good amount of staring at existing code, but it seems that for the most part I could add a decent array of new features, and hopefully I successfully removed more bugs than I added! As for more updates down the road, I can't make any guarantees, but I hope that the next update will be a lot less than nine months after 1.2.0. :)

And remember, the Bug Reports thread exists for a reason. :P
« Last Edit: November 23, 2012, 11:24:22 am by Runer112 »

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: Axe Omega 1.2.0 released
« Reply #9 on: November 23, 2012, 12:06:00 pm »
the Invalid-Token thing has been happening for quite some time, and there doesn't seem to be any discernible pattern. trying to compile something could lead to the error popping up twice in a row and then finally compiling successfully on the third try, for example.

oh, i did notice one thing that i've never seen before, though. trying to compile an app that already exists on the calculator usually just overwrites the old one successfully. however, this last time i tried it crashed immediately after "defragmenting".
« Last Edit: November 23, 2012, 12:07:28 pm by shmibs »

Offline Keoni29

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2466
  • Rating: +291/-16
    • View Profile
    • My electronics projects at 8times8
Re: Axe Omega 1.2.0 released
« Reply #10 on: November 23, 2012, 01:53:39 pm »
Yay some speed improvements. I really hope that you guys will be able to port all of this goodness to the new color model! We really need a C SE emulator though.
If you like my work: why not give me an internet?








Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6268
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: Axe Omega 1.2.0 released
« Reply #11 on: November 23, 2012, 02:00:34 pm »
We need more information on the C SE before we can even make an emulator for it ;)
/e

Offline apcalc

  • The Game
  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1393
  • Rating: +120/-2
  • VGhlIEdhbWUh (Base 64 :))
    • View Profile
Re: Axe Omega 1.2.0 released
« Reply #12 on: November 23, 2012, 03:49:48 pm »
Nice to see a new release!  Axe is great! :)

Offline Runer112

  • Moderator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Axe Omega 1.2.0 released
« Reply #13 on: November 23, 2012, 04:43:55 pm »
oh, i did notice one thing that i've never seen before, though. trying to compile an app that already exists on the calculator usually just overwrites the old one successfully. however, this last time i tried it crashed immediately after "defragmenting".

I couldn't replicate this issue on either my 83+BE or my 84+SE, both through Wabbitemu and on real hardware. Can you try this again to make sure it wasn't just a one-time thing? If it happens again, I might suggest resending the operating system (yeah I know it's a drag), and if it still happens again, then we know we've got a real bug on our hands.

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: Axe Omega 1.2.0 released
« Reply #14 on: November 23, 2012, 05:05:04 pm »
i can't replicate it either, so one time error it is, i suppose.