Disassembler for Power Macintosh ROMs.
Go to file
Maxim Poliakovski 4e75ac0f3c Fix detokenizer for OF 1.x images. 2022-07-28 01:30:13 +02:00
database BEIGEv3_DB: annotate Cuda Manager. 2021-10-21 23:09:28 +02:00
PowerRomDasm.py Use main script's path to locate the database directory. 2021-10-22 13:00:35 +02:00
README.md Create README.md 2021-03-22 02:19:29 +01:00
detok.py Fix detokenizer for OF 1.x images. 2022-07-28 01:30:13 +02:00
detok_of.py Fix detokenizer for OF 1.x images. 2022-07-28 01:30:13 +02:00
extractdict.py Add OpenFirmware detokenizer. 2021-08-07 22:00:36 +02:00
mactraps.py PDMDB: annotate SlotMgrInit module. 2021-10-21 19:55:37 +02:00



An attempt to disassemble a Power Macintosh ROM using widely available disassemblers will likely lead to disappointing results. While some state-of-the-art disassemblers employ various heurictics for distinguishing embedded data from executable code, a lot of additional manual work still need to be done to produce a nice disassembly. Additionally, Power Macintosh ROMs contain code for several CPU architectures (68k, PowerPC, FCode) so a multi-architecture disassembler is required for telling all this stuff apart.

The purpose of this repository is to provide a tool for producing a nice disassembly for the existing Power Macintosh ROM dumps annotated with various symbols like function names, entry points etc. The resulting text dump can be used for easier debugging of MacOS system software and emulator development.


The following components are required to run PowerRomDasm:


python3 PowerRomDasm.py --rom_path=[path to a Power Macintosh ROM dump] --start=0 --end=0x300