[NTLK] ROM Disassembly online?

Steven Frank stevenf at panic.com
Wed Apr 1 12:47:44 EDT 2015


I'd be happy to help with this!  But didn't you already have a tool that merged symbols and comments from a separate file into a raw disassembly?  Albert?

Anyway, probably a script for maximum portability?  I speak Perl, PHP, Ruby, etc...

For it to work, we'll need to agree on some simple specification of how the disassembled ROM is formatted. This could be as simple as:

[label:]<tab>opcode<space>operands<tab>[// 0x00000000 - comment]\n

(where 0x00000000 is the address of the instruction)

... or really anything similar to that.  And a similar spec for the file containing the "injected" symbols and comments.  Something like:

[address] [symbol] [comment]\n

Once we have both of those, writing the script should be trivial.

Do you want to send me a sample disassembly format that you'd like to target (off-list, for legal reasons -- I know we both already have disassemblies, so...)

Is this something that should have it's own GitHub repo, or be a subfolder in the Einstein project?

Steven


> On Apr 1, 2015, at 7:08 AM, Matthias Melcher <mm at matthiasm.com> wrote:
> 
> 
> Hi developers,
> 
> seeing that we all work with more or less well done disassembled ROMs, and that we seem to be commenting the same functions over and over again, I was wondering if we could find a way to put the ROM online.
> 
> Yes, I am aware of copyright issues, so I made a cunning plan. Please give ideas and alternatives! Thanks.
> 
> So, let's start a GITHUB setup and put a disassembler there. I have one that is pretty good by now and disassembles about 98% of all code with many symbols in it. It creates readable assembler code for NewtonScript parts automatically as well.
> 
> The idea is to upload the comments only, and use a modified assembler to add the ROM code when needed, and to remove the ROM code before pushing any additional comments and findings to git. There will never be any ROM code on Github, only our comments, and a program that merges and splits code and comments.
> 
> 
> Now for the problems:
> 
> - I have no clue if that is legal - forget clean-room builds after that - I doubt that anyone at Apple cares
> 
> - a single ROM disassembly is 140MB big - how can we create more manageable parts
> 
> - my disassembler is an utter mess (though the created disassembly is beautiful)
> 
> - existing comments have to be merged into this system somehow
> 
> - new comments must match up with the ROM code somehow, for example by address
> 
> - the resulting code can run through an assembler and recreate the ROM (which it currently does!)
> 
> 
> The disassmbler is here:
> https://github.com/MatthiasWM/dynee5/tree/master/Albert
> 
> Some example code is here:
> https://github.com/MatthiasWM/dynee5/blob/master/Albert/NewtonOS/DataAbort.s
> 
> Matthias
> 
> ----------------------------------------------------------------------
> 
> http://newtontalk.net/




More information about the NewtonTalk mailing list