[Coco] Portal-9 disassembler
Roger Taylor
rtaylor at bayou.com
Mon Dec 27 17:15:14 EST 2004
I am starting on the disassembler tool for Portal-9 tonight. What I'll be
aiming for is the ability to start a project, load in any binary CoCo
binary as a component, click Unbuild, and an .asm file will pop up in it's
own window. If you then tag the .asm file as assemblable, a Build of the
same project will produce the binary again. The new binary won't overwrite
the original one since project files are kept in one directory while the
output files are kept in another one.
A grid will be used for tweaking subsequent unbuilds. The grid will look
similar to a spreadsheet layout and let you define where opcodes and data
are, the starting address for execution, etc. The disassembler will follow
the code's branches and jumps to help automatically separate code and
data. You'll be able to give predefined label names to certain addresses,
so the next unbuild won't automatically assume something like L000100 for
an address if it's already defined. So, a disassemble session will
eventually turn into two files; the original binary and the tweaker file
(grid). Everything is saved as the project automatically so you can work
on it again another day, or whatever.
The goal is to let novice and experts both take all of the old CoCo games
and programs out there, convert them back to source code, and use Portal-9
to rebuild the programs. Ofcourse, you'll be able to do what you want once
the program is in source code form.
I think a typical session for taking an old popular game, and rewriting it,
etc. would be:
1) create project (like Pitfall 2005)
2) open binary component (like PITFALL.ROM)
3) click Unbuild
4) observe grid and reports therein, make changes where needed
5) observe the produced .asm file (pops up in it's own window)
6) repeat #3 until no mysteries are reported about the original binary or
the produced source code looks promising
--
Roger Taylor
More information about the Coco
mailing list