PSG Registers R11 - R13

From Intellivision Wiki
Revision as of 00:31, 21 January 2005 by Mr z (talk | contribs)
Jump to: navigation, search

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 writes 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).)