Neo Geo Pocket Color
|
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 advertised 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. These units frequently appear bundled with six games, and are readily available online, and are sometimes availabe in video game stores.
The system seemed well on its way to being a success in the US. Indeed, it enjoyed a greater success than any Game Boy competitor since Sega's Game Gear. However, it was hurt by several factors, such as the Neo Geo heads' legendary lack of communication with third-party developers, and anticipation of the Game Boy 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: 12 k for 900H, 4k for Z80
- ROM: 64 kbit boot ROM
- Interfaces: SIO 1 channel 19200 bit/s, 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-16 Mbit 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 certain 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.
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