ATARI 8-BIT IN STEREO

A great gadget is the stereo upgrade from Chuck Steinman. The following text describes how to build a second POKEY chip inside your Atari 8-bitter. I've been told that POKEY chips aren't very expensive in the USA so I think I'll try to get some.
Wouldn't it be great to have four channels stereo sound?
Software? Well, first take a look at side two of this disk and unpack the GUMBY file.
I hope some hardware freaks will soon develop an 'easy to install' version of this useful gadget so everybody can have it without being familiar with electronics. Then it would also be more fun to write some software for it.

------------------------------

POKEY STEREO UPGRADE by C. Steinman (GEnie User:  DataQue.1)

Information file for adding stereo to an Atari 8-bit computer using two pokey chips.

Note: Installation of this modification will void any warrenty you may have on your computer. Chuck Steinman, DataQue Software, or GEnie telecommunication service cannot be held responsible for the installation of this upgrade or any incidental or concequential damage to any equipment or persons using this upgrade or any variation of it. In other words....
you are on your own.

This is upgrade version #1. It will only provide stereo output for software written specifically for this upgrade. It will not produce stereo output for existing software.  Also, the keyclick will NOT be fed into the stereo outputs, as it does not originate from POKEY.

Parts Needed
------------

1) Second Atari POKEY Chip
  a) BEST
     CO12294           $5.00
  b) B&C ComputerVisions
     C2294             $3.50

2) 74LS14/74HCT14 Inverter
  a) BEST
    (74LS14)  CO16541  $0.30
  b) Jameco
    (74HCT14) 74HCT14  $0.29

3) 1000 Ohm, 1/4 Watt Metal Film 2-5% Tolerance
  a) Jameco
  (10 lot) R1.0K       $0.50 for 10
  b) Radio Shack (2 lot)
     Dont know P# or $

4) Two RCA style phono jacks
  a) Radio Shack, Jameco or other electronics outlet

5) Two 0.01 (or close) 16V (or more) bypass capacitors.
Jameco DC.01,  $0.10 each

6) Two short (6-12" each) sections of shielded audio cable.

7) A standard dual RCA to RCA patch cable.

8) Optionally two 50k single turn trimmer pots.
Jameco  63P50K  $0.89 each

Hardware
--------

1) Inverter Information

  a) Bend up all pins of the inverter except for pins 7 and 14.
  b) Cut off the narrow part of the pins which were bent up.
  c) Install the inverter over top of the existing 74LS14 (or another 74LS part if more convenient) on the motherboard.
Make sure that the new chip has its locator notch/dot on the same end as the chip below it.
  d) Solder pins 7 and 14 of the inverter to the same pins of the lower IC.
  e) Run a small wire (wire wrap type works best) from pin-1 of the inverter to pin-13 of the CPU. The CPU is part number CO14806 on the XL/XE series.
  f) On the old POKEY there is a 3k pullup resistor connected between pin-31 and Vcc.  You will need to unsolder this resistor and remove it.
  g) Run a small wire from pin-2 of the inverter to pin-3 of the inverter, and then on to POKEY pin-31. Note, you can use the pad where the resistor was just removed. Be sure to get the correct one.

2) POKEY Information

  a) Bend up all pins on the new POKEY which are marked with a minus on the diagram. This includes POKEY pins:  8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 and 29.
  b) Cut off the narrow part of each pin bent up.
  c) Tin each lead which was NOT bent up. This includes pins 1, 2, 3, 4, 5, 6, 7, 17, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39 and 40. These pins are marked in the diagram as *,>>, or <<.
  d) Now, bend up the pins indicated by the >> and << symbols.
Do NOT cut these pins short.
  e) Place the new POKEY on top of the old POKEY in a piggy-back style.
  f) Solder the unbent pins of the new POKEY to the old POKEY. If your original POKEY was in a socket, then it is easier to connect the two if it is removed. Make sure no excess solder flows down the pins to the narrow part of the OLD POKEY. Reinsert both POKEYs into the original socket.
  g) Solder the 1k resistor from pin 37 to Vcc. The most convenient location to pick up Vcc is where the 3k resistor was removed earlier.
  h) Solder a wire from pin-31 of the new POKEY to pin-4 of the inverter.
  i) Mount the two RCA jacks on the rear of the case, preferably in an area close to the POKEYs.
  j) Solder a bypass capacitor to each of the center conductors of the RCA jacks.
* k) With the trim-pot knob facing you, pin 1 should be to the left side. Solder a wire from this pin on each trimmer, to a ground trace on the motherboard.
* l) Connect the free end of the bypass capacitor to the center pin of the trimmer (one capacitor to each trimmer).
* m) Connect the shields of the audio cables to the provided solder lugs on each RCA connector, and the center conductor of the free terminal of each trimmer.
  n) Connect the center conductor of the free end of the audio cable which is connected to the left RCA jack/trimmer/cap to pin-37 of the OLD POKEY.
  p) Connect the center conductor of the free end of the audio cable which is connected to the right RCA jack/trimmer/cap to pin-37 of the NEW POKEY.
  q) The shield of the audio cable on the POKEY end, should be cut and taped (or heat shrinked) so that it does not touch anything.
  r) Run a 18-20 AWG wire from the ground lug of the RCA jacks to the wide ground area on the motherboard. This normally makes contact with the shield box that covers the motherboard.
  s) You will now be able to connect the two RCA cables to an AUX (or Tape) level input of a stereo or boom box.
* t) I would suggest centering the trimmers in their travel, and adjusting them as needed to get the best clarity. You may want to glue the trimmers to the back of the cabinet to keep them from moving around.

* NOTE: On my system the POKEY outputs worked fine without the trimmers.
So I just connected the bypass capacitor on each RCA jack to the apropriate audio cable center conductor. This was driving an AUX 350mV input of a Pioneer SPEC-1 preamplifier.

POKEY Pinout
        ____  ____
       |    \/    |
  Vss *| 01    40 |* D2
   D3 *| 02    39 |* D1
   D4 *| 03    38 |* D0
   D5 *| 04    37 |>>Audio Out
   D6 *| 05    36 |* A0
   D7 *| 06    35 |* A1
   02 *| 07    34 |* A2
Pot-6 -| 08    33 |* A3
Pot-7 -| 09    32 |* R/W
Pot-4<<| 10    31 |<< CS1
Pot-5 -| 11    30 |* /CS0
Pot-2 -| 12    29 |- /IRQ
Pot-3 -| 13    28 |- Data Out
Pot-0 -| 14    27 |- A Clock
Pot-1 -| 15    26 |- B Clock
KS  2 -| 16    25 |- KS 1
  Vcc *| 17    24 |- Data In
Keyb.5-| 18    23 |- Keyb.0
Keyb.4-| 19    22 |- Keyb.1
Keyb.3-| 20    21 |- Keyb.2
       |__________|

C) POKEY Registers:

I will only elaborate on registers used to produce sound in the stereo upgrade.  All registers which were in the original POKEY will appear in the second POKEY 16 bytes higher in memory. The extra UART, key scanner, and pot scanner could be used for all kinds of neat projects.

Addr.  Name   R/W Function
------ ------ --- --------
$D200  AUDF1    W Audio Channel #1 Frequency (Divide F/n)
$D201  AUDC1    W Audio Channel #1 Control (Vol/Distort)
$D202  AUDF2    W Audio Channel #2 Frequency (Divide F/n)
$D203  AUDC2    W Audio Channel #2 Control (Vol/Distort)
$D204  AUDF3    W Audio Channel #3 Frequency (Divide F/n)
$D205  AUDC3    W Audio Channel #3 Control (Vol/Distort)
$D206  AUDF4    W Audio Channel #4 Frequency  (Divide F/n)
$D207  AUDC4    W Audio Channel #4 Control (Vol/Distort)
$D208  AUDCT1   W Audio control for channels 1-4
$D20F  SKCTL1   W Serial Port Control
$D210  AUDF5    W Audio Channel #5 Frequency (Divide F/n)
$D211  AUDC5    W Audio Channel #5 Control (Vol/Distort)
$D212  AUDF6    W Audio Channel #6 Frequency  (Divide F/n)
$D213  AUDC6    W Audio Channel #6 Control    (Vol/Distort)
$D214  AUDF7    W Audio Channel #7 Frequency  (Divide F/n)
$D215  AUDC7    W Audio Channel #7 Control    (Vol/Distort)
$D216  AUDF8    W Audio Channel #8 Frequency  (Divide F/n)
$D217  AUDC8    W Audio Channel #8 Control    (Vol/Distort)
$D218  AUDCT2   W Audio control for channels 5-8
$D21F  SKCTL2   W Serial Port Control

Each Audio Channel Frequency Register is an 8-bit value which is a divisor of the primary frequency.

Each Audio Channel Control Register Controls the Volume and Distortion of each channel. The bits are assigned as follows:

76543210
----vvvv
Volume control bits. Range controls volume as follows:

0000  lowest volume level
 \/
1111  highest volume level

---s----
Volume only bit. Directly controls audio output:

0  Speaker output is off
1  Speaker output is on

ddd-----
Distortion code. Code is assigned as follows:

000  5-bit/17-bit poly noise
001  5-bit poly noise
010  5-bit/4-bit poly noise
011  5-bit poly noise
100  17-bit poly noise
101  pure tone
110  4-bit poly noise
111  pure tone

The AUDCTn register controls all channels. There are several functions assigned to this register as follows:

bit-7 : Makes 17-bit poly into 9-bit poly counter
bit-6 : Clock Channel-1 with 1.79 MHz (CPU rate)
bit-5 : Clock Channel-3 with 1.79 MHz (CPU rate)
Bit-4 : Join channel 1 and 2 to form 16-bit range
Bit-3 : Join channel 3 and 4 to form 16-bit range
Bit-2 : Insert filter in channel-1, clocked by channel-2
Bit-1 : Insert filter in channel-2, clocked by channel-4
Bit-0 : Switch clock base from 64kHz to 15kHz

The SKCTLn register controls various functions of the POKEY device, and only has to be initialized to a value of three to assure all four channels of POKEY are active.

Note:  To detect if the upgrade is installed, look at the 8 extra pots, they will be all zero. Also the keycode register will be also zero.  If you compare the keycode at $D209 with that of $D219, and $D219 is zero, the upgrade is installed. You may want to mask IRQ's during the test for safety.

Let me know what wild things you all come up with for this upgrade... and in a few days I will try to have the version 2 upgrade, if it is possible.

thanks,

Chuck