Author Topic: Axe dissasembler  (Read 24476 times)

0 Members and 2 Guests are viewing this topic.

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Axe dissasembler
« Reply #15 on: July 06, 2011, 05:18:58 pm »
Perhaps he wants to get whatever the Axe source would be for a program that was written in ASM, not necessarily one that was written in Axe. Of course, that's even more impossible than trying to disassemble a program written in Axe back to its source.
If that's the case, that kind of makes my head hurt even thinking about it.

Offline annoyingcalc

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1953
  • Rating: +140/-72
  • Found in Eclipse.exe
    • View Profile
Re: Axe dissasembler
« Reply #16 on: July 06, 2011, 05:45:30 pm »
As far as I know, the only finished and released Mario games were written in z80 assembly, not Axe. So it sounds like you don't want an Axe disassembler, just a regular z80 disassembler.

However, unless the author of a program explicitly tells you that you can use their code in your own project, do not use their code. Even if it's not illegal, more importantly it's just not right.
Actually it includes the Asm source code
http://www.ticalc.org/archives/files/fileinfo/174/17451.html
but It looks as if it is in Axe though
This used to contain a signature.

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 dissasembler
« Reply #17 on: July 06, 2011, 05:47:44 pm »
That file was submitted in 2001, so it was written at least 9 years prior to Axe's release.


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 annoyingcalc

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1953
  • Rating: +140/-72
  • Found in Eclipse.exe
    • View Profile
Re: Axe dissasembler
« Reply #18 on: July 06, 2011, 06:20:38 pm »
Spoiler For oh:
*.* *.* *.* *.* *.* *.* *.*
This used to contain a signature.

Offline BrownyTCat

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 420
  • Rating: +37/-8
    • View Profile
Re: Axe dissasembler
« Reply #19 on: July 06, 2011, 07:06:02 pm »
Possible: Yes
Feasible: No
And I'm sure Axe programmers wouldn't like it.

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 dissasembler
« Reply #20 on: July 07, 2011, 12:16:57 am »
An Axe disassembler is nearly impossible for the following reasons:

-You lose the names of Pointers, Labels, and Variables
-You lose comments and code formatting
-You can't tell if specific data was a string, or number list, or sprite, or picture, etc.
-Each new version of axe changes the routines used so the disassembler would have to be rewritten each version
-Peephole opts make it even more difficult to disassemble.
-Axioms, inline assembly, and other things like that would not translate

It is however, fairly trivial to disassemble it to assembly, and then map native Axe routines and variable locations to the assembly program.  But you would definitely not be able to turn it back into Axe language unless you do it by hand or something.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline DrDnar

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 546
  • Rating: +97/-1
    • View Profile
Re: Axe dissasembler
« Reply #21 on: July 07, 2011, 12:22:58 am »
A decompiler is most certainly possible, but it would require as much work as creating Axe itself. It's no trivial undertaking. It's not worth the trouble.
"No tools will make a man a skilled workman, or master of defense, nor be of any use to him who has not learned how to handle them, and has never bestowed any attention upon them. . . . Yes, [] the tools which would teach men their own use would be beyond price."—Plato's The Republic, circa 380 BC

SirCmpwn

  • Guest
Re: Axe dissasembler
« Reply #22 on: July 07, 2011, 12:29:57 am »
Can someone make an Axe dissasembler (dissasembles Asm programs and gives source code) on calculator? That would be nice
Will do.

Offline ralphdspam

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 841
  • Rating: +38/-1
  • My name is actually Matt.
    • View Profile
Re: Axe dissasembler
« Reply #23 on: July 07, 2011, 01:51:06 am »
Can someone make an Axe dissasembler (dissasembles Asm programs and gives source code) on calculator? That would be nice
Will do.
That would be awesome!  :D
ld a, 0
ld a, a

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Axe dissasembler
« Reply #24 on: July 07, 2011, 06:29:33 am »
An Axe disassembler is nearly impossible for the following reasons:

-You lose the names of Pointers, Labels, and Variables
-You lose comments and code formatting
-You can't tell if specific data was a string, or number list, or sprite, or picture, etc.
-Each new version of axe changes the routines used so the disassembler would have to be rewritten each version
-Peephole opts make it even more difficult to disassemble.
-Axioms, inline assembly, and other things like that would not translate

It is however, fairly trivial to disassemble it to assembly, and then map native Axe routines and variable locations to the assembly program.  But you would definitely not be able to turn it back into Axe language unless you do it by hand or something.

Can someone make an Axe dissasembler (dissasembles Asm programs and gives source code) on calculator? That would be nice
Will do.

And this is SirCmpwn challenging the Universe limits! :P I wish him good luck although it is very unlikely to get fairly accurate code.

Offline Keoni29

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2466
  • Rating: +291/-16
    • View Profile
    • My electronics projects at 8times8
Re: Axe dissasembler
« Reply #25 on: October 20, 2011, 02:01:24 am »
:( I lost the source of my awesome game. I have a rlly outdated backup, but I'd rather deasm my executable asm script.
If you like my work: why not give me an internet?








Offline Jonius7

  • python! Lua!
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1918
  • Rating: +82/-18
  • Still bringing new dimensions to the TI-nspire...
    • View Profile
    • TI Stadium
Re: Axe dissasembler
« Reply #26 on: October 20, 2011, 10:21:06 am »
Axe Disassembling would be cool but, it's quite hard due to its compiled nature. Unfortunate that SirCmpWn is no longer among us, and this project may never come to fruition
Programmed some CASIO Basic in the past
DJ Omnimaga Music Discographist ;)
DJ Omnimaga Discography
My Own Music!
My Released Projects (Updated 2015/05/08)
TI-nspire BASIC
TI-nspire Hold 'em
Health Bar
Scissors Paper Rock
TI-nspire Lua
Numstrat
TI-nspire Hold 'em Lua
Transport Chooser
Secret Project (at v0.08.2 - 2015/05/08)
Spoiler For Extra To-Be-Sorted Clutter:

Spoiler For Relegated Projects:
TI-nspire BASIC
Battle of 16s (stalled) | sTIck RPG (stalled) | Monopoly (stalled) | Cosmic Legions (stalled)
Axe Parser
Doodle God (stalled while I go and learn some Axe)

Offline ISSOtm

  • LV3 Member (Next: 100)
  • ***
  • Posts: 56
  • Rating: +4/-0
  • Programming or playing games I've programmed
    • View Profile
Re: Axe dissasembler
« Reply #27 on: November 09, 2013, 07:39:03 am »
A friend of mine (Natch) made a hex decompiler ; he wrote the code, I made the design (the home screen, and two bugfixes)

I gave an example, but it sometimes fails (it seems it's linked with Axe compilation ?) at the step "Name of the hex prgm ?", then quit, shut down, and retry

I gave a pack with the source and two libs needed

Do NOT ask me anything about the code, even Natch doesn't know how it works !

NEVER DECOMPILE : - already decompiled programs (you get a bugged program, and mem losses; - the decompiler itself (RAM clear if you set any split setting to "Yes"

Sometimes, the split settings create glitches (bytes half-cut, or program corruptions), so use them carefully
Programmer ("always start, never finish")

Currently owning :
 - TI 84+SE (crashed by zStart :P )
 - Computer for life



Voir aussi la version française.

Puzzle Master (if you hate mathemathics...)

Also on codewalr.us !

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: Axe dissasembler
« Reply #28 on: November 09, 2013, 08:01:42 am »
So all this does is convert an existing prog to its hex? Because i thought decompiling was a bit more ???
« Last Edit: November 09, 2013, 08:02:01 am by Sorunome »

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Axe dissasembler
« Reply #29 on: November 09, 2013, 08:57:49 am »
I wrote a 500-bytes equivalent in Axe a while ago that doesn't need any of your restrictions. It's called PROG2HEX, and what it does is simply getting a name from an input and unsquishing it in a program which has the same name starting with theta. http://www.ticalc.org/archives/files/fileinfo/449/44973.html
« Last Edit: November 09, 2013, 10:01:20 am by Matrefeytontias »