Reverse Engineering a Cheap NES Phone Case: Firmware, Hardware, and Custom Code Analysis

Poking Technology

Summary:

The video details the reverse engineering of a cheap NES/Famicom clone phone case.

  • The device, a "NES-on-a-chip" rather than an emulator, features a unique menu and 36 pre-loaded games.
  • Disassembly reveals a simple PCB with an epoxy blob (main chip) and an SPI flash chip containing the firmware and games.
  • Initial attempts to dump the flash chip on-board fail due to signal interference.
  • After desoldering the chip, the firmware is successfully dumped, revealing unencrypted code and data.
  • Signal analysis using an oscilloscope shows 90 MHz QSPI communication, posing challenges for a logic analyzer.
  • A custom test jig is built, and after breaking the screen, the system is made stable for signal capture.
  • Detailed analysis of QSPI commands identifies the continuous read mode.
  • Further reverse engineering identifies the underlying chip as a VT369, which includes a 4KB internal ROM for initialization and an external EEPROM for settings.
  • The internal ROM is dumped using a novel Morse code method by blinking the screen's backlight.
  • Attempts to emulate the device in MAME fail, suggesting a possibly undocumented mapper.
  • The project concludes with all ROM images successfully dumped and shared, leaving future work for emulator support.
    Phone case comparison, disassembled device, and custom test jig
    Phone case comparison, disassembled device, and custom test jig [ 00:00:20 ]
    Phone case comparison, disassembled device, and custom test jig
    Phone case comparison, disassembled device, and custom test jig [ 00:21:40 ]
    Phone case comparison, disassembled device, and custom test jig
    Phone case comparison, disassembled device, and custom test jig [ 01:40:27 ]

Introduction to the NES Phone Case [0:00]

The video begins with the presenter introducing a novel phone case that doubles as a functional NES (Nintendo Entertainment System) console. The device, purchased from AliExpress for a low price (5 Swiss francs), is noted for its ubiquity and "cheap and nasty" nature.

Comparison of the NES phone case with a similar "Sup" handheld
Comparison of the NES phone case with a similar "Sup" handheld [ 00:00:20 ]

Disassembly and Internal Components [3:23]

The presenter proceeds to disassemble the phone case to examine its internal workings.

Inside the NES phone case, showing the battery, speaker, and the exposed PCB
Inside the NES phone case, showing the battery, speaker, and the exposed PCB [ 00:04:00 ]

Examination of the Printed Circuit Board (PCB) [5:30]

The PCB is removed and inspected more closely, revealing the core logic of the device.

Close-up of the PCB showing the central epoxy blob and surrounding integrated circuits
Close-up of the PCB showing the central epoxy blob and surrounding integrated circuits [ 00:06:00 ]

ROM Dumping and Initial Analysis [7:24]

The presenter attempts to extract the firmware from the SPI flash chip.

The SPI flash chip placed on a carrier board and inserted into a chip programmer
The SPI flash chip placed on a carrier board and inserted into a chip programmer [ 00:09:00 ]

Signal Analysis and Debugging [12:00]

To understand the system's runtime behavior, the presenter connects a logic analyzer to the PCB.

Oscilloscope displaying a high-frequency signal, labeled as 82.0 MHz, from the flash chip
Oscilloscope displaying a high-frequency signal, labeled as 82.0 MHz, from the flash chip [ 00:19:10 ]

Deeper ROM Analysis and Chip Identification [33:28]

With unreliable signal captures, the focus shifts back to static analysis of the dumped ROM and further research.

Dumping Internal ROM and EEPROM [51:30]

Since the internal ROM and EEPROM are inaccessible, creative methods are needed.

Conclusion and Future Work [1:41:53]

The project concludes with all major ROM components dumped, but further emulation proves challenging.

A comparison between the original disassembled NES phone case (left) and a new, functional unit (right)
A comparison between the original disassembled NES phone case (left) and a new, functional unit (right) [ 01:40:27 ]