This is a small tool that helps decoding ROMs that have their address and data lines swapped.
It allows you to remap address and data lines. Changes are shown in realtime using a hex+ASCII view, allowing for WYSIWYG decoding.
rom-descrambler input.bin
The tool will then open its main window.
Global keys:
O
- show Options dialogS
- show "Save descrambled data" dialogQ
- quit
Hex view:
- cursor keys: scrolling (up/down: 1 line, left/right: 1 byte)
- page up/down: scroll up/down by 1 page
- home/end: jump to beginning/end of the file
+
/-
- increase/decrease number of bytes per lineG
- show Go To Offset dialogV
- change view mode (original, descrambled, side-by-side)M
- go to Line Mappings
Line mappings:
- cursor keys - nagivate between address/data line mappings
- 'A' + number - jump to address line
- 'D' + number - jump to data line
R
- reverse all mappings0
..9
- change value (confirm by moving or Return, cancel using ESC)+
/-
- increase/decrease value- ESC - go back to hex view
In order to compile the tool, you will need CMake and NCurses. (PDCurses should also work.)
On Debian, this would be the following packages:
cmake
libncurses-dev
Thanks to https://github.com/mrdudz/unidec for the inspiration for this tool.