$FFFF8800 r |xxxxxxxx| PSG register data
w |xxxxxxxx| PSG register select
Reg Bits Description
0 8 Channel A fine tune
1 4 Channel A coarse tune
2 8 Channel B fine tune
3 4 Channel B coarse tune
4 8 Channel C fine tune
5 4 Channel C coarse tune
6 5 Noise generator control
7 8 Mixer control - I/O enable
8 5 Channel A amplitude
9 5 Channel B amplitude
10 5 Channel C amplitude
11 8 Envelope period fine tune
12 8 Envelope period coarse tune
13 4 Envelope shape
14 8 I/O port A
15 8 I/O port B (centronics printer port)
$FFFF8802 w |...xxxxx| PSG register 5 (Noise Generator)
|xxxxxxxx| PSG register 7 (Mixer Control)
||||||||__________ Channel A tone control (enable/disable)
|||||||___________ Channel B tone control
||||||____________ Channel C tone control
|||||_____________ Channel A noise control (enable/disable)
||||______________ Channel B noise control
|||_______________ Channel C noise control
||________________ I/O Port A status (input/output)
|_________________ I/O Port B status
|...xxxxx| PSG register 8-10 (Channel Amplitude)
||_____________ Channel volume (0-15)
|______________ Hardware enveloping (enable/disable)
|....xxxx| PSG register 13 (Envelope Shape)
||||__________ Hold
|||___________ Alternate
||____________ Attack
|_____________ Continue
|xxxxxxxx| PSG register 14 (I/O port A)
||||||||__________ Floppy side 0/1 select
|||||||___________ Floppy drive 0 select
||||||____________ Floppy drive 1 select
|||||_____________ RS232 Ready To Send (RTS)
||||______________ RS232 Data Terminal Ready (DTR)
|||_______________ Centronics STROBE
||________________ General purpose output (GPO)
|_________________ RESERVED
|xxxxxxxx| PSG register 15 (I/O port B, printer port)