Omnimaga

Omnimaga => News => Topic started by: DJ Omnimaga on September 27, 2010, 10:30:03 pm

Title: Axe update
Post by: DJ Omnimaga on September 27, 2010, 10:30:03 pm
A new version of Axe Parser has been released tonight by Quigibo. This is one of the final updates before version 1.0.0 comes out in a few months and the first in one month (due to the contest and being busy). Here are the features and changes below, quoted from his post at http://ourl.ca/4060/121984

Axe Parser
Delta 0.4.5


Wow, its been a while :)

New Features:
  • Direct Nibble manipulation!
  • Subroutines can save and restore argument variables (for recursive uses).
  • Most Axe variables can be dereferenced.

Changed:
  • Correct number of Ends after nested elseif statements
  • White space in program is handled better when scrolling to an error.
  • Axioms are temporarily disabled.
  • Fixed Auto Power Down bug.
  • getkey() routines alway delay long enough to register a key even in 15MHz.
  • DispGraphrr can be used in an interrupt routine now.
  • Optimized Copy() Fill() and Exch() commands.

Download link: Axe Parser v.0.4.5 (http://www.omnimaga.org/index.php?action=dlattach;topic=1463.0;attach=3502)

In addition to that, some of the games that were submitted for the Omnimaga contest (http://ourl.ca/7076) are being updated and/or finished right now. Make sure to check out the Other calc projects and ideas (http://www.omnimaga.org/index.php?board=5.0) section for the many updates and downloads!

Don't forget to vote (http://ourl.ca/7076) for your favorite contest entry as well!
Title: Re: Axe update
Post by: Ikkerens on September 28, 2010, 12:49:52 pm
Ok, I've been staring at the command list for 10 mins now, and I can't figure this  out.
What are nibbles?
Title: Re: Axe update
Post by: Raylin on September 28, 2010, 12:58:46 pm
Well, you know how a byte is two hexadecimal digits? Well, a nibble is one digit.
Title: Re: Axe update
Post by: DJ Omnimaga on September 28, 2010, 01:01:24 pm
Half-bytes.

Basically, native nibble support in Axe means you are no longer forced to grab half a byte from a pointer using L1/16 and the other half using L1^16 anymore. That made it complicated for scrolling tilemappers. Now the new nibbles command should make this process easier.

Btw, the number range a nibble can contain is 0 to 15 (or maybe -8 to 7?). Basically 0 through F. A regular byte is 0 to 255 (00 to FF)
Title: Re: Axe update
Post by: jnesselr on September 28, 2010, 01:17:54 pm
-7 to 7 signed and 0 to 15 unsigned. Can't wait for 1.0.0. Good luck quigibo.
Title: Re: Axe update
Post by: DJ Omnimaga on September 28, 2010, 01:43:23 pm
Mhmm no I think it was -8 for signed. For full bytes it's -128 to 127. Otherwise it wouldn't even be full 16 range.

http://en.wikipedia.org/wiki/Integer_(computer_science)

I do not remember if for anything else than the 26 variables Axe uses signed or unsigned nibbles and bytes, though.
Title: Re: Axe update
Post by: jnesselr on September 28, 2010, 05:12:18 pm
Oh yes, I think you are correct. I was thinking 7 to 0 to -7 made 15, so that was correct. But yes, It is -8 to 7 I think.
Title: Re: Axe update
Post by: calcdude84se on September 28, 2010, 05:26:35 pm
Yes, signed (two's-complement) 4-bit integers range from -8 to 7 :)
Title: Re: Axe update
Post by: DJ Omnimaga on September 28, 2010, 11:10:14 pm
Ah ok. I was not sure since I am used to storing stuff like 250 to L1, not even knowing if it's signed or not. I guess it simply changes to -6 since 128 to 255 == -128 to -1
Title: Re: Axe update
Post by: calcdude84se on September 30, 2010, 07:42:47 am
Well, you can store 250 to L1, and, although its representation is the same as -6, you can still use it as 250.
For example, code sample 1 displays 250, while code sample 2 display 65530 (-6).
Code: (sample 1) [Select]
-6->{L1
Disp {L1}>Dec
Code: (sample 2) [Select]
250->{L1
Disp int{L1}>Dec
(Note that I store the other value just to emphasize my point. Either -6 or 250 would have worked for both.)
Title: Re: Axe update
Post by: DJ Omnimaga on September 30, 2010, 09:13:28 am
Yeah, which is kinda cool in some ways because depending of the situation, one might be easier to read than the other. In a game based on a center screen point of view or something (like 3D games) having negatives helps a lot, while in a game like a RPG we may want our character stats to be stored in a 0 through 255 format.
Title: Re: Axe update
Post by: squidgetx on September 30, 2010, 03:26:35 pm
Yeah, which is kinda cool in some ways because depending of the situation, one might be easier to read than the other. In a game based on a center screen point of view or something (like 3D games) having negatives helps a lot.

....cuberunner ;D
Title: Re: Axe update
Post by: DJ Omnimaga on September 30, 2010, 07:22:14 pm
Yep ;D

Mhmm... Starfox...