To start this blog, I want to focus on a piece of hardware that has caught a bit of interest recently. It is the NJ-250A “NJ Pocket”, a very cheap (under $20) console that can be obtained from several internet retailers:The machine itself is manufactured by Shenzen Nanjing technologies. While a longer, more detailed post on them will be in order later on, SN is known to be a manufacturer of NES/Famicom pirate and original carts. However, this machine does not carry any NES games. In fact it rather carries 60 “original” games, and by that I mean games that despite using stolen art and audio, are original games and have the very bad gameplay to prove it.
Never the less, it’s very obvious that the games look nothing like a NES. Something very different was inside.
The very fine folks at PGC Forums, led me to the right path – the hardware inside is based on the V.R. Technology’s VT1682 solution, a completely original SoC, that while inspired by the NES hardware, has none of the custom parts. Even more interesting, VRT themselves offers detailed datasheets (PDF) , programming guides (PDF) and even a compiler/emulator for the hardware. The specifications are also interesting:
- Main CPU : 5.3Mhz 6502-based hardware. VRT claim to fame is the OneBus system, that replaces the NES CPU dual data bus paradigm for a single, software mappable bus that accesses up to 32Mbytes in data.
- Sound CPU : 21Mhz 6502 with additional DAC outputs. Losing the 2A03-style sound chip is sad, but replacing it with a fast CPU pays off in flexibility. There is potential for synth or module/tracking audio, as well as using it as a co-processor.
- Graphics PU : A fully redesigned video chip with little similarity to the NES. Up to 240 16-color sprites per frame (16 by line), and two background layers with support for bitmap and high-color.
- Memory : 8Kb PRAM with 4Kb shared between sound and main cpu. 4Kb VRAM supporting tiles and sprite data.
- All the other bits and pieces that one expects from a microcontroller – LCD controllers, UART, etc:
- Atmel AT24C02N – a 2048 bit serial memory
- TDA2822M, a classic if cheap audio amp
While the purpose of the later is obvious, the former confounds me. Best I can imagine is that it’s meant to hold some sort of save data. Next post will detail what I found out about the machine pinouts and my plans to dump the data.