Author Topic: Axe Parser  (Read 562455 times)

0 Members and 4 Guests are viewing this topic.

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Axe Parser
« Reply #930 on: July 02, 2010, 01:16:14 am »
This is a bit off topic, but:
Program editor? Did you make an on-calc IDE? Can I have a link? :D

This is a project im kinda working on half on half off.  Its a small font editor for Basic and Axe programs.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Axe Parser
« Reply #931 on: July 02, 2010, 01:40:50 am »
Wow I like all the new features added. I'M not sure yet if I'll need them in my program but they'll sure eventually come handy in later programs, if I make any, especially interrupts.

Nice job again Quigibo!
* DJ Omnimaga goes to rate up his new version's post.

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Axe Parser
« Reply #932 on: July 02, 2010, 02:16:37 am »
* Deep Thought will join DJ as soon as he gets the new version.




Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: Axe Parser
« Reply #933 on: July 03, 2010, 10:49:59 am »
Nice update!  I like the new features. ;D

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Axe Parser
« Reply #934 on: July 10, 2010, 11:29:07 pm »
I'm glad to see the new update out! Nice features again. I'll be sure to give the draw shape commands a try tomorrow or monday, providing I am not too tired

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Axe Parser
« Reply #935 on: July 10, 2010, 11:34:34 pm »
Yeah so let me go through a few of the new features.

First of all, FP multiplication and high order multiplication are very advanced features.  Odds are if you don't know what those mean you probably won't ever need them.  The only time you do need them is for extremely low level math.

The rectangles are all filled.  The way to make a rectangular border is by drawing 2 rectangles on top of each other or you can just use 4 lines or even 4 rectangles of heights and widths of 1.  By using the back buffer you can actually get some really cool menu boxes with different shades of gray from the border inwards.

The freq() command is no longer totally compatible with my MidiToAxe converter because the lowest note C is now actually so low you can't hear it, however the rest of the notes are still the same.  I'll be updating the converter for the new format later anyway, so you'll just have to wait for that.

I think that sums up most of the FAQs I anticipate.

EDIT: also, I should mention, there are less than 100 bytes left in the app.  I had to do some major parser optimizations to be able to fit everything.  So this is the last version that will fit on a single page.  From now on, Axe will be 2 pages (never more) and the next version will be 0.4.0 because I want to make sure I add enough new features to justify the extra page.
« Last Edit: July 10, 2010, 11:39:20 pm by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Axe Parser
« Reply #936 on: July 10, 2010, 11:42:08 pm »
Grayscale transparent-ish boxes seems epic ;D

And no problem with Axe being 2 pages, considering everything it offers

Offline nemo

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1203
  • Rating: +95/-11
    • View Profile
Re: Axe Parser
« Reply #937 on: July 10, 2010, 11:52:16 pm »
which is faster:

drawing a 4x4 black rectangle, then inverting a 2x2 in the center to make a 4x4 outline rectangle

or

8x8 pt-on sprite.


Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Axe Parser
« Reply #938 on: July 10, 2010, 11:58:30 pm »
I don't know they sound about the same.  You can test these you know with a loop.  Either use an interrupt counter or a stopwatch.

EDIT: By the way, you also have size to consider.  The rectangle routines are nearly the size of the sprite drawing routines and having 2 of them (Rect and RectI) when they don't need to be there is really a lot of extra bytes, probably 200 extra combined.
« Last Edit: July 11, 2010, 12:01:31 am by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline nemo

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1203
  • Rating: +95/-11
    • View Profile
Re: Axe Parser
« Reply #939 on: July 11, 2010, 12:00:11 am »
i know, i thought i would ask here though, since you would probably know as the designer of the parser. a quick addendum, would it be faster to draw the 4x4 black rectangle then pixel-off the 4 in the center? or is this again about the same speed? i have some testing to do...

EDIT: speed over size in this scenario. even if speed is marginal for 200 bytes, i'll take it.
« Last Edit: July 11, 2010, 12:04:25 am by nemo »


Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Axe Parser
« Reply #940 on: July 11, 2010, 12:04:44 am »
Even as the creator I don't know the speed of the routines since they're different depending on a lot of factors like where they're drawn, how big they are, if there's clipping, etc.  I can only give you a rough estimate without physically testing it.  I could be totally off too.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: Axe Parser
« Reply #941 on: July 11, 2010, 12:20:06 am »
axe never ceases to impress me
i got the new version just before my recent net 'reprieve', and had plenty of chance to mess around with the new features. i hope to use the grayscale routine i made in my axe entry

keep up the awesome work, i cant wait!

Offline squidgetx

  • Food.
  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Re: Axe Parser
« Reply #942 on: July 11, 2010, 10:40:22 am »
Looks mad nice

Quote
The signed multiplication is performed using the high byte as the integer part and the low byte as the decimal part returning a number in the same format.

I don't do too much lower level programming, so from what I know this sounds like decimal-multiplication. Which would be extremely useful. My question is, which byte is the high byte? The first one?


Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Axe Parser
« Reply #943 on: July 11, 2010, 12:30:06 pm »
I just tried the new rectangle routines and they are pretty nice.

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Axe Parser
« Reply #944 on: July 11, 2010, 04:52:47 pm »
Quote
The signed multiplication is performed using the high byte as the integer part and the low byte as the decimal part returning a number in the same format.

I don't do too much lower level programming, so from what I know this sounds like decimal-multiplication. Which would be extremely useful. My question is, which byte is the high byte? The first one?
You can't really think of it as "first" and "second" because they're stored in registers one way and in memory the opposite way.  I don't know a better way of describing it, but the high byte is 2329 and the low byte is 2329 where this is a hexadecimal representation of your favorite number.

2 => E200 = 512
1 => E100 = 256
.5 => E80 = 128
pi => E324 = 804 etc.

Also, the reason there is no FP division is because you can multiply by decimal numbers.  Keep in mind, if the answer is 20 it won't return 20, it will return a number in FP format which is 20*256 so if you want to immediately round and display an FP number X you have to do X//256.

EDIT: I COMPLETELY forgot to mention another feature!  When you absorb pics, they can now be in archive and pictures of larger sizes are now supported and will be imported to their original size.  However it has no effect if imported as a tilemap.
« Last Edit: July 11, 2010, 05:18:08 pm by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!