|
The Neo Geo Pocket Color (or NGPC) was released in 1998 in Japan. It was a 16-bit color hand held game
console designed by SNK, the makers of the Neo Geo home console and arcade
machine. It came after SNK's original Neo Geo Pocket monochrome handheld, which debuted in 1998 in Japan (and was released in the
USA in 1999).
In 2000 following SNK's purchase by Japanese Pachinko manufacturer Aruze, the Neo Geo Pocket Color was dropped from both the United States and European
markets, purportedly due to commercial failure. Remaining stock was bought back by SNK for repackaging in Asia. Before SNK was
bought out, the Neo Geo Pocket Color was being advertized on US television and units were being sold nationally in Wal-Mart, Toys R Us, and other large retail chains. In June 2000 SNK of America (and
Europe) tried recalling most of the backstock of systems and games to be flashed and re-sold in Asia where the system would
continue to be sold and supported. Some of the backstock of US NGPC hardware and software started showing up back on the
marketplace in the US and Asia in 2003.
The system seemed well on its way to being a success in the US. Indeed, it enjoyed a greater success than any Gameboy competitor since Sega's Game Gear. However, it was hurt by several factors, such as the Barone family's (Heads of
US Neogeo in late 90s early 00s) legendary lack of communication with third-party developers, and anticipation of the GameBoy Advance. The decision to ship American games in cardboard boxes in a
cost cutting move rather than the much loved hard plastic cases that Japanese and European releases were shipped in also hurt the
American sales.
The system is unique in that the language is set on the handheld
device, and games display text in the language selected (provided the cartridge supports that language.) Other settings can
be set on the handheld such as time and date, and the system can provide customized horoscopes when one's birthdate is
entered.
Cables for linking multiple systems were available, as well as a cable to connect the NGPC and the Sega Dreamcast for certain games. There was a wireless connector in the works
that would have allowed several players in close proximity to play together. An MP3 audio
player add-on was developed but was not released due to SNK's closure.
Specs:
- CPUs: Toshiba TLCS900H core (16-bit), 6.144 MHz, Z80 at 3.072 MHz for sound.
- RAM: 12k for 900H, 4k for Z80
- ROM: 64kb boot ROM
- Interfaces: SIO 1 channel 19200 bps, 5-pin serial port
- Resolution: 160x152
- Colors: 16 palettes per plane, 48 palettes. 146 colors on screen out of 4096.** NEO GEO POCKET color mode, 20 colors out of
4096.
- Sprites: 64 sprites per frame, 4 colors per sprite*.
- Scrolling: 2 scrolling planes, 8x8 character tiles, 4 colors each*.
- Sound: PSG 6 tone simultaneous output. Stereo sound.
- Cartridges: Maximum 2 MB (16 Mbit) with 4-16Mbit flash memory.
- Batteries: 40 hours on 2 AA batteries. Lithium battery backs up memory and clock.
Programming Information:
Memory map follows, along with locations of certian important areas. You will need either a Bung flasher or an emulator to try your creations. Thankfully, the Neo Geo Pocket is programmed using C.
todo: add programming links
000000 -> 000100 CPU Internal RAM (Timers/DMA/Z80)
000000 -> 006FFF CPU Work RAM
007000 -> 007FFF Sound RAM
008000 -> 00BFFF Video RAM
200000 -> 3FFFFF ROM (GAME CARTRIDGE)
800000 -> 9FFFFF Extra ROM (32 Mbit games)
FF0000 -> FFFFFF NEOGEO POCKET BIOS (64 Ko)
6F82 : Controller Status Byte
6F87 : Language
0 = Japanese
1 = English
6F91 : Color Mode Selection
00 = Neogeo Pocket Classic (Black & White)
10 = Neogeo Pocket Color
6FB8 -> 6FFF : Interrupt Address Table
8000 : Frame #0 Priority Register
8002 : X Start
8003 : Y Start
8004 : X Size (usually A0 = 160)
8005 : Y Size (usually 98 = 152)
8009 : Current Y line
8020 : Sprite Plane Scroll X
8021 : Sprite Plane Scroll Y
8030 : Frame #1 Priority Register
8032 : Frame #0 Scroll X
8033 : Frame #0 Scroll Y
8034 : Frame #1 Scroll X
8035 : Frame #1 Scroll Y
8100 -> 8117 : Palette Table for Black&White games
8118 : Background Selection Register
8200 -> 827F : Sprite Palette Table
16 palettes * 4 colors x 2 bytes
R=G=B=0..15 (4 bits)
1st byte = GB
2nd byte = 0R
8280 -> 82FF : Foreground Palette Table
see Sprite Palette Table
8300 -> 837F : Background Palette Table
see Background Palette Table
8800 -> 88FF : Sprites
64 sprites x 4 bytes
1st byte TTTTTTTT
2nd byte HVBPPPPT
H=horizontal flipping (1 bit)
V=vertical flipping (1 bit)
B=palette selection for Black&White games
P=palette number (0..15) (4 bits)
T=tile number into pattern table (9 bits)
3rd byte = x position
4th byte = y position
8C00 -> 8C3F : Sprites Palette Numbers
64 sprites x 1 byte
9000 -> 97FF : Frame #0 Map
32 tiles x 20 tiles
1 tile=2 bytes
1st byte TTTTTTTT
2nd byte HVBPPPPT
H=horizontal flipping (1 bit)
V=vertical flipping (1 bit)
B=palette selection for Black&White games
P=palette number (0..15) (4 bits)
T=tile number into pattern table (9 bits)
9800 -> 9FFF : Frame #1 Map
32 tiles x 20 tiles
1 tile=2 bytes
1st byte TTTTTTTT
2nd byte HVBPPPPT
H=horizontal flipping (1 bit)
V=vertical flipping (1 bit)
B=palette selection for Black&White games
P=palette number (0..15) (4 bits)
T=tile number into pattern table (9 bits)
A000 -> BFFF : Pattern Table
1 tile=8x8 pixels=16 bytes
1 byte=4 pixels
2 bits=colour (0..3)
bits order : 10 32 54 76
|