PC Engine (TurboGrafx-16)#

PC Engine Specifications#

Lifespan

1987-1999

Media

HuCard (credit-card-sized ROM cartridge), CD-ROM (CD-ROM² add-on)

CPU

Hudson Soft HuC6280 (65C02-derived) @ 7.16 MHz

Memory

8K work RAM, 64K video RAM

Display

256x224 (standard), up to 512x240 (overscan), 482 colors on screen from 512

Sound

Hudson Soft HuC6280 PSG (6 channels: 5 wave + 1 noise)

Controllers

2 game pad ports (5-button and 6-button pads)

Best-selling game

Bomberman ‘93, Bonk’s Adventure

PC Engine (by Evan-Amos, public domain)

History#

The PC Engine was released by NEC in Japan in 1987. It was developed in partnership with Hudson Soft, who had previously designed the HuC6280 CPU. The system was notable for its tiny size - it was roughly the size of a paperback book - and its powerful graphics hardware, which could display 482 colors and large numbers of sprites.

The PC Engine was the first console to offer a CD-ROM add-on (the CD-ROM², released in 1988), which allowed games to include full-motion video and CD-quality audio. It was later marketed in North America as the TurboGrafx-16, where it competed against the Sega Genesis and Super NES.

The system’s library included Bonk’s Adventure, Bomberman, R-Type, Castlevania: Rondo of Blood, and many shoot-em-up games. The PC Engine remained popular in Japan until the late 1990s, with the SuperGrafx (1989) and PC-FX (1994) as successors.

Hardware#

The PC Engine is built around a custom Hudson Soft HuC6280 CPU and a pair of custom video/sound chips:

  • CPU : HuC6280 @ 7.16 MHz (3.58 MHz in slow mode)

  • Video : HuC6260 Video Color Encoder (VCE) + HuC6270 Video Display Controller (VDC)

  • Sound : HuC6280 PSG

  • Work RAM : 8 KB

  • Video RAM : 64 KB

  • Backup RAM : 8 KB (on CD-ROM² system cards)

CPU#

The HuC6280 is based on the WDC 65C02, with the addition of:

  • 8 memory map registers (MPR) for bank switching 8 x 8 KB windows

  • Hardware block transfer instructions (TII, TDD, TIN, TIA, TAI)

  • VDC access instructions (ST0, ST1, ST2)

  • Extra addressing modes and bit manipulation instructions (RMB/SMB, BBR/BBS, TRB/TSB)

  • Selectable 7.16 MHz or 3.58 MHz clock

Video#

The video system is split between the VDC (which fetches tiles and sprites from VRAM) and the VCE (which converts pixel data to analog video):

  • 512x512 VRAM tile space, 8x8 tiles with 2 bits per pixel

  • 64 KB VRAM as a single linear address space, word-addressed by the VDC

  • 64 hardware sprites (16x16 or 16x32), max 16 per scanline

  • 4 background tilemap layers (reduced by resolution)

  • 512-color palette (482 usable), up to 32 colors on screen per scanline (16 per background layer)

The standard display is 256x224 pixels (NTSC), with 256x240 available in PAL regions. The overscan area can be used for wider displays, up to 512 pixels.

Sound#

The HuC6280 PSG provides:

  • 6 channels (5 programmable wave + 1 noise)

  • Each channel has a 32-step waveform RAM (5-bit samples)

  • LFO (low-frequency oscillator) for modulation

  • Global volume control

Memory Map#

The HuC6280 addresses up to 8 MB of memory through 8 memory map registers (MPR), each mapping an 8 KB page. The typical layout is:

Address

MPR

Description

$0000-$1FFF

MPR0

Fixed ROM bank 0

$2000-$3FFF

MPR1

Fixed ROM bank 1

$4000-$5FFF

MPR2

ROM bank (bank-switched)

$6000-$7FFF

MPR3

ROM bank (bank-switched)

$8000-$9FFF

MPR4

ROM bank (bank-switched)

$A000-$BFFF

MPR5

ROM bank (bank-switched)

$C000-$DFFF

MPR6

Work RAM (8K, mapped twice)

$E000-$FFFF

MPR7

I/O + work RAM

I/O Ports#

The HuC6280 uses I/O ports for system control:

Port

Function

$0000-$0003

VDC registers (data, address)

$0004-$0007

VCE registers (palette data, address)

$0008-$000B

PSG registers (waveform data, channel select)

$000C-$000F

Timer, IRQ control

$0400-$0403

Joystick ports

Programming#

The 8bitworkshop IDE supports PC Engine development in C (using the CC65 compiler toolchain) and Wiz.

Comments