Author Topic: Axe dissasembler  (Read 8137 times)

0 Members and 1 Guest are viewing this topic.

Offline annoyingcalc

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1950
  • Rating: +140/-72
  • Found in Eclipse.exe
    • View Profile
Axe dissasembler
« on: July 06, 2011, 01:58:57 pm »
Can someone make an Axe dissasembler (dissasembles Asm programs and gives source code) on calculator? That would be nice
This used to contain a signature.

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Axe dissasembler
« Reply #1 on: July 06, 2011, 02:04:44 pm »
Can someone make an Axe dissasembler (dissasembles Asm programs and gives source code) on calculator? That would be nice

That sounds like yet another Axe Disassembler request. Unfortunately, that's not just very hard, but really impossible.

Ashbad

  • Guest
Re: Axe dissasembler
« Reply #2 on: July 06, 2011, 02:06:01 pm »
It would be possible, but I'm sure you would have a ton of errors in translation along the way.

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Axe dissasembler
« Reply #3 on: July 06, 2011, 02:06:57 pm »
It would be possible, but I'm sure you would have a ton of errors in translation along the way.

Ashbad, that looks like it would get a few things right, but all it could properly do is Bcalls.

Offline Art_of_camelot

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6171
  • Rating: +191/-9
  • YouTube channel has my solo work and collaboration
    • View Profile
    • My YouTube page!
Re: Axe dissasembler
« Reply #4 on: July 06, 2011, 02:07:20 pm »
It would be quite difficult. Most Axe programs include the source anyway though don't they?

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Axe dissasembler
« Reply #5 on: July 06, 2011, 02:07:56 pm »
It would be quite difficult. Most Axe programs include the source anyway though don't they?

Since (for now) we're an open-source community yes :)

Ashbad

  • Guest
Re: Axe dissasembler
« Reply #6 on: July 06, 2011, 02:11:50 pm »
It would be possible, but I'm sure you would have a ton of errors in translation along the way.

Ashbad, that looks like it would get a few things right, but all it could properly do is Bcalls.

Well, it would technically work if it searched for patterns of opcodes in chunks and correlate them to Axe commands -- though I can imagine some errors in places where there are a ton of complex routines mixed with pointers and curly braces.  However, the one place it would definitely be different is that it would put all data declarations together and in hexadecimal delimiting, probably at the start of the program for compilation's sake.  For all non-matches with commands, it would simply insert a Asm(hEx here) instead.

I think it is very possible and very impractical.

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Axe dissasembler
« Reply #7 on: July 06, 2011, 02:14:32 pm »
I spent a few months making a Z80 ASM Disassembler to find out it's impossible to make a perfect one due to the "data vs instructions" thing.

So, if a disassembler is complex know, an Axe Disassembler would be crazy.

Ashbad

  • Guest
Re: Axe dissasembler
« Reply #8 on: July 06, 2011, 02:21:11 pm »
Fortunately, Axe DOES do better with data handling :) in fact, it reserves a .data section where all data is stored soon after the last Return.  Everything in the .data section would then be easily distinguishable -- though only as raw data and not in forms of strings, etc. Unless you go through the program and literally see how the program handles all of the data byte by byte, and that wouldn't be near perfect still.  If someone does try to attempt one (maybe I will after the contest...) I think it should decompile to multiple programs, one for each .section.

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Axe dissasembler
« Reply #9 on: July 06, 2011, 02:24:21 pm »
Fortunately, Axe DOES do better with data handling :) in fact, it reserves a .data section where all data is stored soon after the last Return.  Everything in the .data section would then be easily distinguishable -- though only as raw data and not in forms of strings, etc. Unless you go through the program and literally see how the program handles all of the data byte by byte, and that wouldn't be near perfect still.  If someone does try to attempt one (maybe I will after the contest...) I think it should decompile to multiple programs, one for each .section.

I personally was not aware of that and I could use my disassembler to make it return all the data used and all the instructions used separated and from the instructions work on disassembling instructions and bcalls.

Offline annoyingcalc

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1950
  • Rating: +140/-72
  • Found in Eclipse.exe
    • View Profile
Re: Axe dissasembler
« Reply #10 on: July 06, 2011, 02:43:45 pm »
I want to use some code from a mario ame similar to mine only done
This used to contain a signature.

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Axe dissasembler
« Reply #11 on: July 06, 2011, 02:50:10 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.

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Axe dissasembler
« Reply #12 on: July 06, 2011, 02:53:09 pm »
Yes, no Axe Mario game has been made, why do you want an Axe Disassembler? (as Runer said)

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 #13 on: July 06, 2011, 02:59:44 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.
« Last Edit: July 06, 2011, 02:59:55 pm by FinaleTI »


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 Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Axe dissasembler
« Reply #14 on: July 06, 2011, 05:07:36 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.

Oh I see, that looks a bit too complex and unlikely to work.