Sunsoft 5B audio

From NESdev Wiki
Jump to navigationJump to search

The Sunsoft 5B is a superset of the Sunsoft FME-7. It is identical to the FME-7 except it contains extra audio hardware. This audio hardware was only used in one game, Gimmick!

Registers

The audio hardware is a type of the General Instrument AY-3-8910 PSG, or Yamaha's YM2149F variant.

Audio Register Select ($C000)

7......0
----RRRR
    ++++- The 4-bit internal register to select for use with $E000

Audio Register Write ($E000)

7......0
VVVVVVVV
++++++++- The 8-bit value to write to the internal register selected with $C000

Internal audio registers

The AY-3-8910 has 16 internal audio registers, selected with $C000 and written to with $E000.

Register Bitfield Description
$00 LLLL LLLL Channel A low period
$01 ---- HHHH Channel A high period
$02 LLLL LLLL Channel B low period
$03 ---- HHHH Channel B high period
$04 LLLL LLLL Channel C low period
$05 ---- HHHH Channel C high period
$06 ---P PPPP Noise period
$07 --C BAcba Noise enable on channels C/B/A, Tone enable on channels c/b/a
$08 --EV VVVV Channel A envelope enable (E), volume (V)
$09 --EV VVVV Channel B envelope enable (E), volume (V)
$0A --EV VVVV Channel C envelope enable (E), volume (V)
$0B LLLL LLLL Envelope low period
$0C ---- HHHH Envelope high period
$0D ---- CAaH Envelope shape: continue (C), attack (A), alternate (a), hold (H)
$0E ---- ---- I/O port A (unused)
$0F ---- ---- I/O port B (unused)