Doom Runs on a Child's Camera: 2 MB RAM, 891 KB Free

A reverse-engineering project brought Doom to an X9S kid's camera with 2MB RAM. The developer created custom tooling and achieved roughly 30 fps with sound, music, and save support.

Doom Runs on a Child's Camera: 2 MB RAM, 891 KB Free

Key points

  • The project involved dumping the camera's flash memory and extracting data through EXIF photos.
  • The developer built an SDK, emulator, and compiler to work with the undocumented HX332B chip.
  • After assembling about 1.4MB of fragmented memory, the camera ran Doom at approximately 30 fps.

Context

The X9S camera had no manufacturer listed on its packaging and no available documentation for its HX3302B chip. By combining firmware analysis, custom development tools, and memory extraction, the author turned the device into a functioning Doom platform.

What this means for you

Directly applicable

You can use this case as a practical example of combining firmware dumps, extracted assets, custom tooling, and memory analysis to make undocumented embedded hardware usable.

Who benefits: Developers working with embedded systems or unsupported legacy hardware can benefit from the demonstrated workflow for firmware analysis, tooling, and resource-constrained porting.

Share article:

Integrate a system without docs?

API development: connect even poorly documented interfaces reliably, with tests and monitoring.