Disassembler for Power Macintosh ROMs.
Go to file
Maxim Poliakovski e3616ecc59 Use main script's path to locate the database directory.
This is required when running the tool from another
project or IDE.
2021-10-22 13:00:35 +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 Add OpenFirmware detokenizer. 2021-08-07 22:00:36 +02:00
detok_of.py Add OpenFirmware detokenizer. 2021-08-07 22:00:36 +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

README.md

PowerRomDasm

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.

Prerequisites

The following components are required to run PowerRomDasm:

Usage

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