Difference between revisions of "PSG Registers R11 - R13"
m |
m (Protected "PSG Registers R11 - R13" ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite))) |
||
(One intermediate revision by the same user not shown) | |||
Line 5: | Line 5: | ||
ee selects the envelope magnitude | ee selects the envelope magnitude | ||
00 No envelope selected. PSG uses the flat volume in 'vvvv' instead. | 00 No envelope selected. PSG uses the flat volume in 'vvvv' instead. | ||
− | 01 Use envelope volume | + | 01 Use envelope volume shifted right by 2 |
− | 10 Use envelope volume | + | 10 Use envelope volume shifted right by 1 |
11 Use envelope volume as-is | 11 Use envelope volume as-is | ||
vvvv indicates the flat volume to use if no envelope selected (ee is 00). | vvvv indicates the flat volume to use if no envelope selected (ee is 00). | ||
Some variants of the AY-3-891x family do not implement both envelope select bits. Those devices only allow selecting the unmodified envelope or a flat volume. On those devices, bit 5 always reads as zero (0). To ensure compatibility across both variants of the PSG, programs should always write ones (1) to both 'e' bits, and also should not rely on a one (1) written to bit 5 reading back as one (1) or zero (0). (Writing zero (0) to bit 5 and subsequently reading it always gives zero (0).) | Some variants of the AY-3-891x family do not implement both envelope select bits. Those devices only allow selecting the unmodified envelope or a flat volume. On those devices, bit 5 always reads as zero (0). To ensure compatibility across both variants of the PSG, programs should always write ones (1) to both 'e' bits, and also should not rely on a one (1) written to bit 5 reading back as one (1) or zero (0). (Writing zero (0) to bit 5 and subsequently reading it always gives zero (0).) |
Latest revision as of 09:03, 4 December 2010
Volume levels and envelope selects for channels A, B and C. Channel A uses R11, channel B uses R12 and channel C uses R13. See PSG Channels and PSG Envelope Generator for more details.
0000:0000:00ee:vvvv where: ee selects the envelope magnitude 00 No envelope selected. PSG uses the flat volume in 'vvvv' instead. 01 Use envelope volume shifted right by 2 10 Use envelope volume shifted right by 1 11 Use envelope volume as-is vvvv indicates the flat volume to use if no envelope selected (ee is 00).
Some variants of the AY-3-891x family do not implement both envelope select bits. Those devices only allow selecting the unmodified envelope or a flat volume. On those devices, bit 5 always reads as zero (0). To ensure compatibility across both variants of the PSG, programs should always write ones (1) to both 'e' bits, and also should not rely on a one (1) written to bit 5 reading back as one (1) or zero (0). (Writing zero (0) to bit 5 and subsequently reading it always gives zero (0).)