User:Synthetoonz/sandbox
This userpage has been blanked. If this is your userpage, you can retrieve the contents of this page in the page history. Alternatively, if you would like it deleted, simply replace the content of this page with {{db-u1}}. |
WP:COPYARTICLE, old copy of POKEY which this user had just edited, except for the following draft additions:
W I P
Pinout
[edit]
Audio Channel Frequency
[edit]The AUDF* registers control the frequency or pitch of the corresponding sound channels. The AUDF* values also control the POKEY hardware timers useful for code that must run in precise intervals more frequent than the vertical blank.
AUDF1 $D200 Write
[edit]Audio Channel 1 Frequency
AUDF1 $D202 Write
[edit]Audio Channel 2 Frequency
AUDF1 $D204 Write
[edit]Audio Channel 3 Frequency
AUDF1 $D206 Write
[edit]Audio Channel 4 Frequency
Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
---|---|---|---|---|---|---|---|
? | ? | ? | ? | ? | ? | ? | ? |
Each AUDF* register is an 8-bit value providing a countdown timer or divisor for the pulses from the POKEY clock. The values $0hex/0dec to $FFhex/255dec are incremented by POKEY to range from $1hex/1dec to $100hex/256dec. So, smaller values permit more frequent output of pulses from POKEY, and larger values, less frequent. The actual audible sound pitch is dependent on the POKEY clock frequency and distortion values chosen. See Audio Channel Control and Audio Control.
Audio Channel Control
[edit]AUDF1 $D201 Write
[edit]Audio Channel 1 Control
AUDF1 $D203 Write
[edit]Audio Channel 2 Control
AUDF1 $D205 Write
[edit]Audio Channel 3 Control
AUDF1 $D207 Write
[edit]Audio Channel 4 Control
Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
---|---|---|---|---|---|---|---|
Noise2 | Noise1 | Noise0 | FVol | Vol3 | Vol2 | Vol1 | Vol0 |
Bit 0-3: Control over volume level, from 0 to F.
Bit 4: Forced volume-only output. When this bit is set the channel ignores the AUDF timer, noise/distortion controls, and high-pass filter. Sound it produced only by setting volume bits 0:3.
Bit 5-7: Shift register responsible for noises/distortion. Bit values described below:
Noise Value | Bits Value | Description |
---|---|---|
0 0 0 | $00 | 5-bit then 17-bit polynomials |
0 0 1 | $20 | 5-bit poly only |
0 1 0 | $40 | 5-bit then 4-bit polys |
0 1 1 | $60 | 5-bit poly only |
1 0 0 | $80 | 17-bit poly only |
1 0 1 | $A0 | no poly (pure tone) |
1 1 0 | $C0 | 4-bit poly only |
1 1 1 | $E0 | no poly (pure tone) |
Generating random noises is served by reading 8 bits from top of 17-bit shift register. That registers are driven by frequency 1.79 MHz for NTSC or 1.77 MHz for PAL. Its outputs can by probed independently by four audio channels in channel's divider's rate.
AUDCTL $D208 Write
[edit]Audio Control
Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
---|---|---|---|---|---|---|---|
17vs9Poly | CH1-1.79 | CH3-1.79 | CH2+1 | CH4+3 | FI1+3 | FI2+4 | 64vs15Khz |