Sunsoft 5B audio: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
Rainwarrior (talk | contribs) (starting stub page) |
Rainwarrior (talk | contribs) |
||
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. | ||
=== 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. | |||
{| 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) |