Pocket Miku hardware resources

Pocket Miku, also known as “NSX-39,” has three major integrated circuit components:

Here is the Pocket Miku NSX-39 circuit schematic.

The Generalplus GP3101A is a system on a chip (SOC) advanced multimedia processor. The GPEL3101A is an ARM7TDMI processor with integrated RAM and many peripheral interfaces including:

  • 136KByte SRAM
  • Universal Serial Bus (USB) 2.0 interface
  • 8 channel sound processing unit (SPU)
  • SPI (master/slave) interface
  • Programmable general I/O ports (GPIO)
  • 6-channel, 12-bit analog to digital converter (ADC)
  • 16-bit stereo (2-channel) audio digital to analog converter
  • 0.5W class AB mono audio amplifier

Here is the Generalplus GP31P1003A product brief. The NSX-39 schematic does not specify the clock crystal frequency, but the GP31P1003A can operate up to 96MHz.

The Yamaha NSX-1 eVocaloid processor communicates with the GPEL3101A via SPI. MIDI messages, commands, and initialization data are communicated serially. The GPEL3101A control software converts MIDI over USB to MIDI messages sent to the NSX-1 via the SPI connection.

The GPEL3101A senses the keyboard and stylus inputs through its 6-channel, 12-bit ADC.

The NSX-1 generates a digital audio stream which is sent to the GPEL3101A digital audio auxiliary input. The GPEL3101A converts the digital audio to analog audio using its DAC. (This is a neat solution — no discrete DAC component!) The GPEL3101A sends analog audio to the external PHONE OUT and amplified audio is driven into the NSX-39’s speaker.

The Macronix MX25L1635E is a 16Mbit CMOS serial flash memory. It communicates with the GPEL3101A via SPI (4xI/O mode). The memory can retain 2MBytes of data. The MX25L1635E holds the NSX-39 control program and (probably) the initial eVocaloid database. The eVocaloid database must be loaded into an internal RAM memory within the NSX-1 eVocaloid processor.

We can infer that the eVocaloid database cannot be larger than 2MBytes. The NSX-1 typically sets aside 2MBytes for the database within its large capacity internal RAM memory. Because this memory volatile RAM, it must be initialized with the eVocaloid database at start-up. It would be a sweet hack to replace the eVocaloid database with an English language database or Real Acoustic Sound (RAS) waveforms.

The NSX-39 software keeps the lyric slots and the command slots in the Macronix flash memory. This arrangement retains lyrics and commands across power-down.

Copyright (c) 2017 Paul J. Drongowski