ColecoVision ROM Hacking

abandoned

Reverse engineering a 1983 console by editing Donkey Kong's sprites byte by byte.

Tech Stack

Z80 AssemblyPythonROM Hacking

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 0x2953 for both poses. The result runs in emulators and on real hardware.

March 2026.