SSG part
Address (Z80 port 4)
|
Data (Z80 port 5)
|
|
$00
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
Fine tune |
|
Channel A
|
$01
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
- |
Coarse tune |
|
$02
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
Fine tune |
|
Channel B
|
$03
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
- |
Coarse tune |
|
$04
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
Fine tune |
|
Channel C
|
$05
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
- |
Coarse tune |
|
$06
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
- |
Noise tune |
|
Noise channel
|
$07
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
- |
/EN noise | /EN A | /EN B | /EN C |
|
|
$08
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
- |
Mode | Volume |
|
Channel A
|
$09
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
- |
Mode | Volume |
|
Channel B
|
$0A
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
- |
Mode | Volume |
|
Channel C
|
$0B
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
Volume envelope period fine tune |
|
|
$0C
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
Volume envelope period coarse tune |
|
|
$0D
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
- |
Volume envelop shape |
|
See diagram.
|
If 'Mode' = 1, the EG is used instead of the 4bit volume value.
f = 8M / (Coarse*256 + Fine) ?
FM part
ADPCM-A part
'Dump' in register $00 is the key on/off bit. Write 0 to start playing specified channels and write 1 to stop playing.
Address (Z80 port 6)
|
Data (Z80 port 7)
|
$00
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
Dump |
- | CH6 ON | CH5 ON | CH4 ON | CH3 ON | CH2 ON | CH1 ON |
|
$01
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
- |
Master volume |
|
$08~$0D (one for each channel)
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
L |
R | - | Channel volume |
|
$10~$15 (one for each channel)
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
Sample's start address/256 LSB |
|
$18~$1D (one for each channel)
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
Sample's start address/256 MSB |
|
$20~$25 (one for each channel)
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
Sample's stop address/256 LSB |
|
$28~$2D (one for each channel)
|
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Def |
Sample's stop address/256 MSB |
|
ADPCM-B part