Jump to content

Hudson Soft HuC6280

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 95.169.232.57 (talk) at 18:35, 16 April 2020. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The HuC6280 8-bit microprocessor is Japanese company Hudson Soft's improved version of the WDC 65C02 CPU, an upgraded CMOS version of the popular NMOS-based MOS Technology 6502 8-bit CPU manufactured for Hudson by Seiko Epson and NEC for the SuperGrafx. The most notable product using the HuC6280 is NEC's TurboGrafx-16 video game console.

Description

The HuC6280 contains a 65C02 core which has several additional instructions and a few internal peripheral functions such as an interrupt controller, a memory management unit, a timer, an 8-bit parallel I/O port, and a programmable sound generator (PSG). The processor operates at two speeds, 1.79 MHz and 7.16 MHz.

Memory mapping

The HuC6280 has a 64 KB logical address space and a 2 MB physical address space. To access this entire memory space, the HuC6280 uses an MMU (Memory Management Unit) that splits the memory space into segments of 8 KB. The logical address space is split as follows:

           page 0 -> $0000-$1FFF
           page 1 -> $2000–$3FFF
           page 2 -> $4000–$5FFF
           page 3 -> $6000–$7FFF
           page 4 -> $8000–$9FFF
           page 5 -> $A000-$BFFF
           page 6 -> $C000-$DFFF
           page 7 -> $E000-$FFFF

Each logical 8 KB segment (or page) is associated with one of 256 physical 8 KB sized segment. This can be setup with an 8-bit register (MPR0-7) that contains the pointer of the 8 KB segment (or bank) in physical memory to be mapped in this page. Two special instructions are used to access these registers:

TAMi, transfer the content of the accumulator (A) into an MPR register (0-7).

TMAi, transfer an MPR register into the accumulator.

Sound generator

The Programmable Sound Generator, or PSG, provides 6 sound channels, which can be conveniently paired according to the functionality they provide:

       0-1 - Waveform playback
             Frequency modulation (channel 1 muted)
       2-3 - Waveform playback only
       4-5 - Waveform playback
             White noise generation

Waveform playback is the most common and allows a 32 byte, 5 bit unsigned linear sample to be played back at selected frequencies. Frequency modulation takes this one step further, allowing the playback frequency to be dynamically adjusted according to a specified pattern. White noise is used to simulate percussion instruments and effects, such as explosions, by means of a pseudo-random square wave.

Alternatively, each channel can be individually switched to "Direct D/A" mode in which the programmer can send data directly to the sound mixer, allowing more complex sound patterns to be generated, such as speech. Inevitably, this requires more programming effort and CPU time.