37C3 - Reconstructing game footage from a Game Boy's memory bus

Reconstruct game footage from a Game Boy's memory bus by plugging into its memory bus, decoding CPU instructions and converting to a lossless format using a state machine and compression techniques.

Key takeaways
  • The talk is about reconstructing game footage from a Game Boy’s memory bus.
  • The technique involves plugging into the Game Boy’s memory bus and reading the data bus, then decoding the instructions to recreate the game.
  • The Game Boy’s memory bus is a shared bus between the cartridge and internal RAM.
  • The GPU interceptor is a project that can capture Game Boy footage and convert it to a lossless format.
  • The GPU interceptor uses a state machine to observe the CPU instructions and recreate the game.
  • The talk covers the following topics:
    • The Game Boy’s memory bus and how it works
    • The GPU interceptor project and how it works
    • How to use the GPU interceptor to capture Game Boy footage
    • How to encode the captured footage to a lossless format
    • How to use the GPU interceptor to create a cartridge module that acts as a USB video
  • The talk also covers some of the technical details of the process, including the use of discrete cosine transform (DCT) and quantization to compress the data.
  • The talk mentions that not all games will work with the GPU interceptor, but some games can be fixed with specific patches.
  • The talk ends with a compatibility chart showing which games work with the GPU interceptor.