• Axe Parser 5 1
Currently:  

Author Topic: Axe Parser  (Read 552192 times)

0 Members and 5 Guests are viewing this topic.

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 #90 on: February 18, 2010, 09:01:32 pm »
I'm pretty sure since it's an Asm program, it will run faster (15Mhz) on the 84+/se calcs.  Can someone back me up? :)
Also, the "fast" speed is 15Mhz but what is the slow speed (83/83+).  Thanks! ;D

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6266
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: Axe Parser
« Reply #91 on: February 18, 2010, 09:02:47 pm »
well actually apparently the 84+/se needs to be set to 15Mhz for ASM....but I don't know...
/e

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 #92 on: February 18, 2010, 09:07:22 pm »
when you play a game like Galaxian or Gemini, the calc is slowed down to 6 MHz when launched. I think some games manages to set the calc to run faster for certain game tasks and even during entire games, though.

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 #93 on: February 18, 2010, 10:00:28 pm »
The reason for the down internet is that I just moved closer to the college and I haven't gotten the internet service yet.

Games will most likely not be comparable to the size of the source.  There are several reasons for that.  First of all, many of the routines can be smaller (like Dispgraph) if they use the built-in operating system calls, but that would really defeat the purpose of this project, so I am writing my own faster routines.  Secondly, Axe source code can be made more compact than BASIC source code of the same program, so that kind of gives a bias to the file size numbers.  Lastly, you have to re-learn how to optimize code.  Similar to how there are so many tricks in basic to reduce size and/or increase speed, there are many many more shortcuts in Axe.  For instance, A+1 results in smaller code and faster speed than 1+A.

Don't forget, I still have a lot more optimization to do.  I've already made a lot of improvements for the next version, its already producing 15% smaller code and there are still many more optimizations to do.  Another thing that will be added in the future will be shell support meaning that some routines will simply be calls to the shell functions, greatly reducing the file size.  In the future, I would expect well optimized Axe Parser code to be approximately 1-2 times the size of its source, and only about 1.5 times the size of a pure assembly equivalent.
___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 #94 on: February 19, 2010, 02:15:46 pm »
Oooh ok I see. In my case I still lived at my mom's and she felt I spent too much time online so she got rid of my access, even thought I was the one paying all of it and that I was adult x.x, don't wonder why I moved out the summer after... (see what it did to Omnimaga from Feb to Jun 07)

I recommend writing your own routines, personally, providing it's not tasks close to impossible (I heard doing an horizontal line routine in ASM can be extremly hard), because ROM Calls are often slower in general than if you do it yourself.

I don't really mind if the compiled programs are the exact same size as the source, though, altough smaller will give more freedom in what we want to create ^^

On a side note: how much RAM is needed to compile a program besides the source RAM + the RAM the compiled program will take?

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 #95 on: February 19, 2010, 02:52:23 pm »
Well in the future, the source will be archived as it is being compiled.  No RAM is used in Axe itself, so you have the entire free ram to create the executable.

By the way, that cave scroller game got reduced by about 50 bytes when I compiled it with the new automatic optimizations, plus I reduced it another 50 bytes from simple optimized source code tricks.  An additional 50 bytes or so could be shaved off by using Ion routines.  There is even more that can be done, but I'm just demonstrating that the file size you see now will in no way be the final size when I finish this project.
___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 #96 on: February 19, 2010, 03:03:48 pm »
aaah cool, will it be hard to implement, tho? I heard writing to flash can be quite a challenge, unless for example, the program would be compiled completly in RAM, then archived (which would require more RAM). I could be wrong, though.

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 #97 on: February 21, 2010, 09:28:25 pm »
New update is here!  Expect a new update every Sunday from now on I think.

This version is much more powerful, but still lacks data structure manipulation for complex games (you know, lists and matrices and stuff).  But that will be what I'm going to work on next.

I also included a tiny optimization tutorial with some stats.
___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 #98 on: February 21, 2010, 09:48:33 pm »
Darn that's impressive! Glad you got so much done so far, and that game runs so friggin fast compared to BASIC. Nice job on the project so far ^^, I'm glad finally an alternative BASIC language is going further than just speculation and mockups

Offline jsj795

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1105
  • Rating: +84/-3
    • View Profile
Re: Axe Parser
« Reply #99 on: February 21, 2010, 10:05:18 pm »
WOW! Lovely! I would definitely use this for the TLM sequel if I make one!
I love the screenshot too! They are AWESOME
Goob job, and keep up the great work!


Spoiler For funny life mathematics:
1. ROMANCE MATHEMATICS
Smart man + smart woman = romance
Smart man + dumb woman = affair
Dumb man + smart woman = marriage
Dumb man + dumb woman = pregnancy
2. OFFICE ARITHMETIC
Smart boss + smart employee = profit
Smart boss + dumb employee = production
Dumb boss + smart employee = promotion
Dumb boss + dumb employee = overtime
3. SHOPPING MATH
A man will pay $2 for a $1 item he needs.
A woman will pay $1 for a $2 item that she doesn't need.
4. GENERAL EQUATIONS & STATISTICS
A woman worries about the future until she gets a husband.
A man never worries about the future until he gets a wife.
A successful man is one who makes more money than his wife can spend.
A successful woman is one who can find such a man.
5. HAPPINESS
To be happy with a man, you must understand him a lot and love him a little.
To be happy with a woman, you must love her a lot and not try to understand her at all.
6. LONGEVITY
Married men live longer than single men do, but married men are a lot more willing to die.
7. PROPENSITY TO CHANGE
A woman marries a man expecting he will change, but he doesn't.
A man marries a woman expecting that she won't change, and she does.
8. DISCUSSION TECHNIQUE
A woman has the last word in any argument.
Anything a man says after that is the beginning of a new argument.

Girls = Time * Money (Girls are a combination of time and money)
Time = Money (Time is money)
Girls = Money squared (So, girls are money squared)
Money = sqrt(Evil) (Money is also the root of all evil)
Girls = sqrt(Evil) squared (So, girls are the root of all evil squared)
Girls = Evil (Thus, girls are evil)
*Girls=Evil credit goes to Compynerd255*

Offline Raylin

  • Godslayer
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1392
  • Rating: +83/-25
  • I am a certifiable squirrel ninja.
    • View Profile
    • Ray M. Perry
Re: Axe Parser
« Reply #100 on: February 21, 2010, 10:31:01 pm »
Question.
Can xLib commands be parsed as well?
Bug me about my book.

Sarah: TI-83 Plus Silver Edition [OS 1.19]
Cassie: TI-86 [OS 1.XX]
Elizabeth: TI-81 [OS 1.XX]
Jehuty: TI-83 Plus Silver Edition [OS 1.19]
Tesla: CASIO Prizm







Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6266
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: Axe Parser
« Reply #101 on: February 21, 2010, 10:43:58 pm »
No they can't, this isn't anything like standard BASIC, it's got it's own command set.
/e

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 #102 on: February 22, 2010, 02:51:36 pm »
I've never used xLib, but if there's any commands from there you would like to see in Axe Parser, you can always request them.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline Raylin

  • Godslayer
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1392
  • Rating: +83/-25
  • I am a certifiable squirrel ninja.
    • View Profile
    • Ray M. Perry
Re: Axe Parser
« Reply #103 on: February 22, 2010, 03:36:18 pm »
It would be interesting to see:

*[ON] Break toggle on/off
*Tilemapping
*Text Modes
*Draw Shape (a MUST)
*Celtic III filesystem (the ability to make an AppVar and such.)
*Background Hex Sprite scrolling

:D
Bug me about my book.

Sarah: TI-83 Plus Silver Edition [OS 1.19]
Cassie: TI-86 [OS 1.XX]
Elizabeth: TI-81 [OS 1.XX]
Jehuty: TI-83 Plus Silver Edition [OS 1.19]
Tesla: CASIO Prizm







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 #104 on: February 22, 2010, 03:36:40 pm »
I really like the new commands!
Can we do getKey(101)?
All the new commands are excellent, but I think Horizontal and Vertical are the best. ;D

Oh, and the Optimizing Tricks are excellent. :)
« Last Edit: February 22, 2010, 03:42:49 pm by ztrumpet »