PC Engine (TurboGrafx-16)#
Open 8bitworkshop IDE
Click here to program the PC Engine in the 8bitworkshop IDE now!
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

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 |
|---|---|---|
|
MPR0 |
Fixed ROM bank 0 |
|
MPR1 |
Fixed ROM bank 1 |
|
MPR2 |
ROM bank (bank-switched) |
|
MPR3 |
ROM bank (bank-switched) |
|
MPR4 |
ROM bank (bank-switched) |
|
MPR5 |
ROM bank (bank-switched) |
|
MPR6 |
Work RAM (8K, mapped twice) |
|
MPR7 |
I/O + work RAM |
I/O Ports#
The HuC6280 uses I/O ports for system control:
Port |
Function |
|---|---|
|
VDC registers (data, address) |
|
VCE registers (palette data, address) |
|
PSG registers (waveform data, channel select) |
|
Timer, IRQ control |
|
Joystick ports |
Programming#
The 8bitworkshop IDE supports PC Engine development in C (using the CC65 compiler toolchain) and Wiz.