The Ben Heck Show

The Ben Heck Show

Ben Heck's Reverse Engineered Game Boy Printer (6x41)


:

A Game Boy printer is used to teach reverse engineering and how data transmission works. The printer is taken apart and hooked up to a Tektronix oscilloscope. Signals are captured, reverse engineered, and replaced with new signals. Using the Game Boy Camera, Ben manages to capture a solid white frame and a solid black frame for testing purposes. This allows him to see how the data is organized. He then hooks up the gamelink cable to the printer and made some test prints. The printer uses thermal paper so it doesn’t have any ink as that would have dried out by now. He discovers that even if you unplug the game boy half way through the print it still finishes the print. This means that the printer has local RAM that stores the image after it starts printing. Ben proceeds to do a teardown of the Game Boy printer. It contains 8 KB RAM to capture images and print it. There’s also an 8 Bit microcontroller. There are no other major IC’s so the code must be inside the MCU, not on an external ROM. There are two optocouplers, also called “opto isolators” because they’re used to isolate signals from each other. The optocoupler has a pair of LEDS inside of it, one emits light, while the other detects light and uses it to trigger a circuit. It’s like a buffer but it’s completely electrically isolated from one side to the other. This is most likely to prevent spikes of current on the print head from affecting the microcontroller. There are 18 pins going to the print head. It sends 5 V to the print head and only syncs to ground, turns on, when something is printing. This gives you power, ground, and 16 bits of data. The communication cable interfaces with the microcontroller, taking the 16 bit connection going into it and using it to send out all 16 pixels vertically and send out more data for every horizontal line. When data is sent over, the Microcontroller puts it into the RAM, once completed, the Microcontroller prints it itself from the RAM. A

  • :
  • : 444
  • : 3
  • element14