A Parallel Bus Interface for your 1200XL
By Bob Woolley SLCC
If you did the CLEARPIC modification in the August Journal, then
you qualify as a 1200XL nut, just like me. No use fighting it, though,
you really do yearn for the MIO type stuff that all the 800XL/130XE users
have been bragging on. The easy way to get one is to buy an 800XL, but
since when do we have to take the easy way out? Face it, you want an MIO,
you gotta do this mod. You might even get a disk interface thrown in.
There are only two hardware functions that are missing on the 1200XL that
are required to run the Parallel Buss - a 16K ROM select and the
-EXTernal SELect input. All the other circuitry already exists in the
1200XL. So, let's get a 16K ROM in there, first.
The 1200XL OS does not have the PBI code in either of its two 8K
ROMs, which means we'll have to either recode an EPROM or use the 800XL
or 130XE (same chip) OS ROM. Since many people don't have an EPROM burner
and don't want to spend $150 for one, maybe $5 or $10 for an Atari ROM
out of an 800XL (CO61598B) is a good idea. Also, it really isn't legal to
copy the Atari ROM into an EPROM, even for your own use. Even if you
destroy your source ROM, even. Atari was nice enough to provide an easy
upgrade path, use their ROM. OK? First thing you may find is that the
1200XL ROMs are 24 pin devices and the new ROM is a 28 pin package. No
problem. All of the 1200XL main boards have 28 pin sites for the ROMs.
All you need to do is pull the 24 pin socket at U13 and solder in a 28
pin unit. One more address line (A13) is needed, so remove the W6 jumper
and solder a wire from pin 23 of the CPU chip (U21) to the top pad of W6.
Now, plug the 800XL OS ROM into U13. The 16K ROM select is just as
simple. Take a look inside your 1200XL. See the chip that has 20 pins
(U14)? That is your MMU. It is the main difference between a 1200XL and
an 800XL. Same number of little pins, same number of inputs and outputs
..... But the 800XL IC has the 16K select for the OS ROM. So, lets jump
right in and swap the MMU with the 800XL part (CO61618). Fits just fine,
doesn't it? Pull out all the jumpers except W11, W12 and W9 and you have
a ROM select line that will select the address range from $C000 to $FFFF
in a single ROM, like the 800XL.
Since the 1200XL has two ROM sockets, and there may be some hard
core nuts out there that just must have the internal Basic ROM, get a
version C ROM and bend up pins 24 and 21. Plug this ROM into U12 and
solder a wire from pin 24 of the Basic ROM to +5v at the top of C11 (just
to the left of U13) . Solder another wire from pin 21 of the ROM to the
left hand pad of W7 (which should not have a jumper in it) . One more
wire from pin 18 of U14 to pin 11 of U23 and your machine has Basic under
the covers, just like the big guys ! Now you get the thrill of holding
down OPTION when you want to boot without Basic, where those of us who
don't do this section only need to pull the cartridge. To be fair,
though, SpartaDos will now turn Basic on and off in your 1200XL with the
Basic On and Basic Off commands - which is kinda nice.
All right ! Half way there. Now, for the -EXTSEL line. You need a
74HC08 for this part of the upgrade. You could use a 74LS08, but the 74HC
devices draw much less power than the older LS chips and they are better
behaved on the buss compared to the standard parts. Bend up all the pins
on the new IC except 7 and 14. Cut off pins 4,5,6,8,9,10,11,12, and 13.
Pull U17, an LS08, and place the HC08 on top of it so that all the pins
line up. Solder the two devices together at pin 7 and pin 14 and plug the
pair back into U17. You should have pins 1,2 and 3 of the HC08 bent away
from the LS08 such that wires can be soldered to them. Looking at the
BOTTOM of the board, cut the trace that runs from pin 16 of U14 to a pad
about 1 inch above pin 14 of U11. Cut the horizontal trace on the bottom
of the board, not the vertical trace from the pad down to pin 1 of U11.
Solder a wire from pin 3 of the new HC08 to this pad. Solder a wire from
pin 1 of the HC08 to pin 16 of U14. The last wire needs to connect thru a
2.7K resistor to +5 volts. If you have done the CLEARPIC mod, pull C117,
just above Q16 and solder a wire from pin 2 of the HC08 to the old
collector pad of Q16 (bottom pad of the transistor) . If you have not
done the CLEARPIC upgrade, solder a 2.7K resistor from pin 2 of the HC08
to + 5 volts. Either way, pin 2 of the 74HC08 that you added is now the
-EXTSEL line (pin 2 on the PBI connector) that you were missing. Your
1200XL now contains all the lines necessary for PBI operation.
You know what comes next, don't you? Solder one end of a 50
conductor flat cable to each point listed below. Be absolutely certain
that you are counting the flat cable wires correctly. They read kinda
goofy - the red stripe is pin 49. Pin 50 is the next wire into the flat
cable. Next is pin 47 and then 48. It continues in that odd fashion to
pin 2 on the right edge of the cable. Be careful - I warned you !
The pin connections:
Note: the connections marked [fixed] have been modified from
the original instructions according to the amendment at the
bottom of this page.
As far as the length of the flat cable is concerned, I have used
the PIO Controller from the July and August Journals with a 4 foot cable.
None of the logic in that design would have a problem with this 1200XL
setup. However, other commercial hardware may not be so forgiving. I have
not finished my 1200XL wiring , but I have tested the ROM and Basic
changes - check with me on CIS (75126,3446) if you are planning to run an
MIO or the Supra Hard Disk controllers. Otherwise, get yourself a Supra
MicroPort kit and check the Journal next month.
** Important Amendment on May 31, 2008 **
The following excerpt is taken from an AtariAge forum thread where
Beetle has finally got the above mod working on his 1200XL with help from
Bob Woolley and several other AtariAge members. Specifically, with the
following changes, the mod now works with the CSS Black Box
PBI Mod to 1200XL was finally a success. Thank you all for helping and
brainstorming. Without your help, i'd still be stuck with a non-working mod.
What we learned:
* PBI pin 40 (refresh line) should go to MMU pin 11, not pin 14
* PBI pin 31 (phi2) should be taken from ANTIC pin 29 instead directly from CPU phi2 output pin 39
* even a BB can run on 1200XL - if you try hard enough :)