Author Topic: Axe Parser  (Read 551829 times)

0 Members and 2 Guests are viewing this topic.

Offline chickendude

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +90/-1
  • Pro-Riot Squad
    • View Profile
Re: Axe Parser
« Reply #2100 on: January 06, 2012, 02:59:37 pm »
Another possibility would be to create a smaller Axe shell (or something xLib-style, containing the necessary routines) for people who don't program with Axe or even talk to Kerm about including support for Axe routines in DoorsCS (are there any other shells currently still in development? Ion comes with the source...).

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 #2101 on: January 06, 2012, 05:17:06 pm »
Nope DCS7 is the only one still under active development. MirageOS 1.3 had no news since 2005 or so, Crunchy since 2004 and Ion since 2002 I think.

Offline FinaleTI

  • Believe in the pony that believes in you!
  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1830
  • Rating: +121/-2
  • Believe in the pony that believes in you!
    • View Profile
    • dmuckerman.tumblr.com
Re: Axe Parser
« Reply #2102 on: January 06, 2012, 05:25:23 pm »
All I can say is, I love the idea of the Axe Framework. It could make games smaller and faster, and could enhance Axe IDEs *cough*XDE*cough* by allowing them to be tested by compiling with AXF, then finally compiled a different way if desired, among other things.


Spoiler For Projects:

My projects haven't been worked on in a while, so they're all on hiatus for the time being. I do hope to eventually return to them in some form or another...

Spoiler For Pokemon TI:
Axe port of Pokemon Red/Blue to the 83+/84+ family. On hold.

Spoiler For Nostalgia:
My big personal project, an original RPG about dimensional travel and a few heroes tasked with saving the world.
Coding-wise, on hold, but I am re-working the story.

Spoiler For Finale's Super Insane Tunnel Pack of Doom:
I will be combining Blur and Collision Course into a single gamepack. On hold.

Spoiler For Nostalgia Origins: Sky's Story:
Prequel to Nostalgia. On hold, especially while the story is re-worked.

Offline chickendude

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +90/-1
  • Pro-Riot Squad
    • View Profile
Re: Axe Parser
« Reply #2103 on: January 07, 2012, 08:00:40 am »
Nope DCS7 is the only one still under active development. MirageOS 1.3 had no news since 2005 or so, Crunchy since 2004 and Ion since 2002 I think.
And of those, only ion released the source, though it looks like BrandonW (or someone) disassembled MirageOS:
http://brandonw.net/calcstuff/MirageOS.txt

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Axe Parser
« Reply #2104 on: January 09, 2012, 12:24:01 am »
Well it took countless hours of work to get it working right, but it works!

What works? Take a look at the screenshot. ;D



(If you'd rather just read what it is)
Spoiler For Spoiler:
Custom Axiom tokens! :D
« Last Edit: January 09, 2012, 12:39:06 am by Runer112 »

Offline ZippyDee

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 729
  • Rating: +83/-8
  • Why not zoidberg?
    • View Profile
Re: Axe Parser
« Reply #2105 on: January 09, 2012, 12:49:08 am »
That is....pretty damn amazing.
There's something about Tuesday...


Pushpins 'n' stuff...


Offline kindermoumoute

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 836
  • Rating: +54/-3
    • View Profile
Re: Axe Parser
« Reply #2106 on: January 09, 2012, 01:54:05 am »
Good job runer 112 ! Thx to work on it. :)
Projects :

Worms armageddon z80 :
- smoothscrolling Pixelmapping : 100%
- Map editor : 80%
- Game System : 0%

Tutoriel français sur l'Axe Parser
- 1ère partie : en ligne.
- 2ème partie : en ligne.
- 3ème partie : en ligne.
- 4ème partie : 10%
- Annexe : 100%

Offline LincolnB

  • Check It Out Now
  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1115
  • Rating: +125/-4
  • By Hackers For Hackers
    • View Profile
Re: Axe Parser
« Reply #2107 on: January 09, 2012, 09:50:09 am »
very cool, my friend.
Completed Projects:
   >> Spacky Emprise   >> Spacky 2 - Beta   >> Fantastic Sam
   >> An Exercise In Futility   >> GeoCore

My Current Projects:

Projects in Development:
In Medias Res - Contest Entry

Talk to me if you need help with Axe coding.


Spoiler For Bragging Rights:
Not much yet, hopefully this section will grow soon with time (and more contests)



Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Axe Parser
« Reply #2108 on: January 09, 2012, 11:37:40 am »
Nice work Runer! =)

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 #2109 on: January 09, 2012, 03:09:18 pm »
Wow, that's awesome!  How'd you do it?

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Axe Parser
« Reply #2110 on: January 09, 2012, 03:12:40 pm »
Yeah, I would like know too  :o

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Axe Parser
« Reply #2111 on: January 09, 2012, 03:25:49 pm »
Pretty much, I detect whenever the source code open in the program editor has changed to become an Axe program (this mainly applies to the action of opening an Axe program). I then scan the entire program for any AsmComp( tokens (that's #Axiom( in Axe). For each one found, I check that it's in a valid position (e.g. not in the middle of a line, in a string, etc.) and then attempt to locate the appvar. If found, I skip to the end of the Axiom and check for a second header after the standard Axiom footer that signals that the Axiom includes token replacements, and if so, these token replacements are cached in RAM. Then, it's just the simple matter of running the token hook as usual, but checking this area of RAM in addition to Axe's built-in token replacements. :)

Although to be fair, the whole process wasn't a simple matter. :P Every time I wanted to test a change, I had to hex-edit my hook into the Axe application. And I tried to do the whole thing in a very optimized manner, which means trying multiple code possibilities every step of the way. I must've spent over a dozen hours on this thing.


One thing that this upgraded hook does not do is dynamically check for Axioms while the program is being edited. Adding such a feature would be a bit of a pain and probably add at least 50 bytes and slow down the hook, so I figured it's just best to leave it out. If you want to reload Axioms, it's easy enough to do so by closing and reopening the program.
« Last Edit: January 09, 2012, 03:29:26 pm by Runer112 »

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Axe Parser
« Reply #2112 on: January 09, 2012, 03:27:51 pm »
Awesome, just awesome :D

EDIT : Maybe I said it 'cos I'm just a beginner  XD
« Last Edit: January 09, 2012, 03:31:36 pm by Matrefeytontias »

Offline kindermoumoute

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 836
  • Rating: +54/-3
    • View Profile
Re: Axe Parser
« Reply #2113 on: January 09, 2012, 03:32:19 pm »
Wow.. and what happen if :
- An axiom use same token than Axe parser ?
- two axiom have same tokens ?
 ;D
« Last Edit: January 09, 2012, 03:56:44 pm by kindermoumoute »
Projects :

Worms armageddon z80 :
- smoothscrolling Pixelmapping : 100%
- Map editor : 80%
- Game System : 0%

Tutoriel français sur l'Axe Parser
- 1ère partie : en ligne.
- 2ème partie : en ligne.
- 3ème partie : en ligne.
- 4ème partie : 10%
- Annexe : 100%

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Axe Parser
« Reply #2114 on: January 09, 2012, 03:37:23 pm »
Axe gets first priority for token replacements. This is partially for speed reasons, and partially because there's not much sense in overriding an Axe token since you cannot (yet) override the Axe command. After that, Axioms get priority in order of appearance in the source code.