A slightly revised HuC6280A was released and used in the PC Engine CoreGrafx and SuperGrafx. This revision reportedly fixed some minor audio issues in those systems.
Memory mapping
The HuC6280 has a 64 KB logical address space, but a 2 MB physical address space. The HuC6280 uses a Memory Management Unit that splits the memory space into segments of 8 KB.
Each logical 8 KB segment is associated with one of 256 physical 8 KB sized segments. This can be set up with an 8-bit register (MPR0-7) that contains the most significant eight bits of the address of the 8 KB segment in physical memory. Thus the logical 64 KB address space can be overlapping, continuous or scattered in physical address space, depending on the eight MPR registers.
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
PSG-styled wavetable synthesis provides six 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.