CPU The CPU was an 8-bit
HuC6280A, a modified
65SC02, running at 1.79, or 7.16 MHz (switchable by software). Features included integrated
bankswitching hardware (driving a 21-bit external address bus from a 6502-compatible 16-bit address bus), an integrated general-purpose I/O port, a timer, block transfer instructions, and dedicated move instructions for communicating with the
HuC6270A VDC.
Memory There was 32 KB of work RAM and 128 KB (64 KB per
HuC6270A VDC) Video RAM.
Display subsystem The display subsystem was composed of two 16-bit
HuC6270A Video Display Controllers (VDCs), one
HuC6202 Video Priority Controller, and one
HuC6260 Video Color Encoder (VCE). The HuC6270A featured Port-based I/O similar to the TMS99xx VDP family. The X (Horizontal) Resolution was variable, maximum of 565 pixels (programmable to 282, 377 or 565 pixels, or as 5.37mhz, 7.159mhz, and 10.76mhz pixel dot clock). Taking into consideration
overscan limitations of CRT televisions at the time, the horizontal resolutions were realistically limited to something a bit less than what the system was actually capable of. Consequently, most game developers limited their games to either 256, 336, or 512 pixels in display width for each of the three modes. The Y (Vertical) Resolution was also variable, maximum of 242 (programmable in increments of 1 scanline).
Color had a depth of
9 bits with 512 colors available with up to 512 colors on screen (241 background and 240
sprite colors from each of the two VDCs). There were 32
palettes in total: 16 for background tiles and 16 for sprites. Each sprite palette could have 15 colors defined, and had one transparent color index; and each background tile palette could have 15 colors defined, plus one color index whose color was a color that was shared across all background tile palettes. 128 sprites were simultaneously displayable with sizes of: 16×16, 16×32, 16×64, 32×16, 32×32, 32×64. Each sprite can use up to 15 unique colors (one color must be reserved as transparent) via one of the 16 available sprite palettes. The dual HuC6270A VDCs are capable of displaying 2 sprite layers (1 each). Sprites could be placed either in front of or behind background tiles. Each layer can display 16 sprites or 256 sprite pixels per
scanline, giving the combined sprite per scanline limit of 32 sprites or 512 sprite pixels. Tiles were 8x8 with each background tile able to use up to 16 unique colors via one of the 16 available background palettes. The first color entry of each background palette must be the same across all background palettes. The dual HuC6270A VDCs are capable of displaying 2 background layers (1 each).
Audio capacity Six
Wavetable Synthesis audio channels, programmable through the
HuC6280A CPU. Each channel had a
frequency of 111.87 kHz for single cycle of 32 samples (while not in D/A mode) with a
bit depth of 5 bits. Each channel also was allotted 20 bytes (32×5 bits) of RAM for sample data. The
waveforms were programmable so the composers were not limited to the standard selection of waveforms (
square,
sine,
sawtooth,
triangle, etc.). But the use of standard waveforms, and semi-standard forms, such as a 25% pulse wave were used fairly often. The first two audio channels (1 and 2) were capable of
LFO when channel #2 was used to modulate channel #1. Optional software enabled Direct
D/A which allows for sampled sound to be streamed into any of the six PSG audio channels. When a channel is in D/A mode the frequency is as fast as the CPU can stream bytes to the port, though in practicality it is limited to 6.99 kHz when using the TIMER interrupt with its smallest loop setting (1023 cpu cycles) or 15.7 kHz using the scanline interrupt. There is a method that combines two channels in DDA mode to play back 8-bit, 9-bit, or 10-bit samples. The addition of the
CD-ROM peripheral adds
CD-DA sound, and a single
ADPCM channel to the existing sound capabilities of the PC Engine.
Software media The SuperGrafx is backwards compatible with all standard PC Engine
HuCard-format games in addition to its own. The labels on SuperGrafx HuCards were upside-down relative to standard HuCards; A standard HuCard will read upside down on a SuperGrafx, while its own are right-side-up. The SuperGrafx is also compatible with the CD-ROM² and Super CD-ROM² System add-ons, allowing it to play any CD-ROM² format game with the required System Card. No SuperGrafx-specific CD-ROM² titles were produced. ==Peripherals==