TL;DR
Editing a 16KB ROM until Donkey Kong is anatomically enhanced
Original ROM
0x2953: F0 FF F0 C0
0x2957: C0 C0 C0 00
0x295B: 07 FF 0F 03
...
Modified ROM
0x2953: F0 FF F3 C3
0x2957: C7 C0 C0 00
0x295B: 07 FF CF C3
...
Result
🦍
now anatomically
enhanced
The patched ROM booting in Gearcoleco — note the title screen
- Console
- Z80 CPU, TMS9918A video chip: the same pair as the MSX and SG-1000.
- Sprites
- 8×8 tiles, one byte per row, one bit per pixel. Donkey Kong is several tiles composited, front and side poses stored separately.
- Finding them
- Gearcoleco's VDP viewer gives a paused pose's VRAM address; an xxd dump of the ROM, searched for those bytes, gives its offset on disk.
- Patch
- A short Python script rewrites the bytes from
0x2953for both poses. The result runs in emulators and on real hardware.
March 2026.