Sunsoft 5B audio: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(starting stub page)
 
Line 5: Line 5:
The audio hardware is a type of the General Instrument AY-3-8910 PSG, or Yamaha's YM2149F variant.
The audio hardware is a type of the General Instrument AY-3-8910 PSG, or Yamaha's YM2149F variant.


Writing $C000 selects an internal hardware register.
=== Audio Register Select ($C000) ===


Writing $E000 writes data to the internal register.
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.
 
{| class="tabular"
! Register || Bitfield || Description
|-
| $00 || <tt>LLLL LLLL</tt> || Channel A low period
|-
| $01 || <tt>---- HHHH</tt> || Channel A high period
|-
| $02 || <tt>LLLL LLLL</tt> || Channel B low period
|-
| $03 || <tt>---- HHHH</tt> || Channel B high period
|-
| $04 || <tt>LLLL LLLL</tt> || Channel C low period
|-
| $05 || <tt>---- HHHH</tt> || Channel C high period
|-
| $06 || <tt>---P PPPP</tt> || Noise period
|-
| $07 || <tt>--C BAcba</tt> || Noise enable on channels C/B/A, Tone enable on channels c/b/a
|-
| $08 || <tt>--EV VVVV</tt> || Channel A envelope enable (E), volume (V)
|-
| $09 || <tt>--EV VVVV</tt> || Channel B envelope enable (E), volume (V)
|-
| $0A || <tt>--EV VVVV</tt> || Channel C envelope enable (E), volume (V)
|-
| $0B || <tt>LLLL LLLL</tt> || Envelope low period
|-
| $0C || <tt>---- HHHH</tt> || Envelope high period
|-
| $0D || <tt>---- CAaH</tt> || Envelope shape: continue (C), attack (A), alternate (a), hold (H)
|-
| $0E || <tt>---- ----</tt> || I/O port A (unused)
|-
| $0F || <tt>---- ----</tt> || I/O port B (unused)
|}

Revision as of 05:32, 10 March 2012

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)