Subject: UPGRADE: 800XL/1200XL -> 512K Memory


The 512k Atari 800XL/1200XL
  By Dan Schmidt
  CIS: 72347,354
  GEnie: D.SCHMIDT4
 
  An upgrade for the 800XL/1200XL computers that already have a 256k RAMBO XL
or Claus Buchholz upgrade installed.
 
 I've been using a RAMBO 256k XL for the last year. It has served me well
without a hitch. Lately, I have been thinking of setting up a BBS. Between
that and an unused set of 8 256k RAMS, I decided to expand to a half meg. I
proceeded by downloading all the information I could find. Needless to say, I
found nothing that described upgrading my trusty XL. Finally, I decided to
make my own upgrade and here is what I came up with:
 
 It uses 1 chip only (not including the 8 RAMS)
 You can have access to the entire 448k of RAM disk, even when you are in
BASIC.
 No switches are needed.
 Diagnostic ROM is available at any time, even though this upgrade uses this
line (PB7) to select the added 256k of RAM.
 The system remains 100% 130XE compatible in CPU mode.
 
 Finally, I have included a patch file for fellow SpartaDOS users, that
modifies RD.COM version 3.2 to support this upgrade.
 
 Unfortunately, for those without SpartaDOS, you are on your own. I'm sure
that any RAM disk handler that uses a bank select table could be modified
without too much trouble.
 
 If you don't have a 256k XL yet, either build Claus Buchholz's upgrade or
buy a RAMBO XL. They are identical.
 
 For those 576XE users that have made it this far, by moving 2 wires in your
XE and using this patched RD.COM file, you can also have all 512k of RAM
disk available from BASIC. However, you will have to use your little switch
to select 256k mode before attempting a coldstart, or your machine will lock
up.
 
 This switch may be then placed back in 512k mode as soon as the boot load
starts and left there until diagnostics is required. (ie, BASIC's BYE
command) For more information on RAM disks, and their handlers, call the
CHAOS BBS at 517-371-1106
 
   The 512k Atari 800XL/1200XL
 
  By Dan Schmidt
 
Parts List:
 
8 256k Dynamic RAMs - 150ns
8 16 pin sockets
1 74S139 - Dual 2 to 4 line multiplexer. I have used a 74LS139 with some
success also, but I won't recommend it as it is slower, less powerful and may
cause the system to lock-up.
1 33 ohm, 1/4 watt resistor,
Hookup wire
2pc 1" heat-shrink tubing
Hot-glue gun
 
Instructions:
 
 Open up the computer, disconnect the keyboard and remove the RF shield. The
upper metal RF shield will no longer fit with the top bank of RAMS in place.
It must either be cut to fit or discarded.
 
 Carefully remove the 8 old 256k RAMS (U9 - U16) from their sockets.
 
 Take the 8 new sockets and gently bend pin 15 out on each of them.
 
 Solder a socket to the top of each RAM leaving a small gap for cooling
between the RAM and the socket. Solder each of the socket's legs to the RAM
below, except for pin 15.
 
 Take the hookup wire and run it from pin 15 to pin 15 on all the sockets.
'Daisy chain' the 8 sockets together leaving about 1 1/2" wire between each.
 
 Replace the RAMs with the new sockets soldered on top of them into their
sockets on the PC board.
 
 Take the 74S139 and bend out all the pins except for pin 8 and 16. Then clip
in half all the pins that you have bent out.
 
 Take the hookup wire and connect pins 2, 13 and 8 together.
 
 Solder another piece of wire between pins 3 and 12.
 
 Take the 33 ohm resistor and clip it leaving 1/4 inch of lead on either end.
Bend one end over sharply then solder that end to pin 6.
 
 Put the 74S139 aside for a moment.
 
 Take the board and locate U23 (CO14795), the PIA. If yours is socketed, you
can pry it up and bend out pin 17. If it is soldered in, you can either have
it unsoldered, or simply cut the trace where it leaves pin 17.
 
 Locate R108, a 33 ohm resistor, one of a pair, located immediately below
the row of RAMs on the board. Heat up the innermost end and gently pry it up
and out. Straighten the resistor end.
 
 I am not sure where this resistor is on the 1200XL's, but it can be located
by following the trace leading from pin 15 on the existing RAMs back to it's
origin at the 33 ohm resistor.
 
 Now take the 74S139 and solder pins 8 and 16 on the IC to pins 8 and 16 on
U28, a conveniently located chip.
 
 Take a wire and solder one end to pin 1 on the 74S139. Attach the other end
to the pad where you just removed one lead of R108.
 
 Run a wire between pin 4 and the lifted lead of R108, slipping a piece of
the heat-shrink tubing over the wire before soldering it to the resistor.
 
 Run another wire between the 33 ohm resistor soldered to pin 6 and pin 15 on
the newly added row of RAMs. Use the other piece of tubing to insulate this
resistor also. Slide the tubing over the resistors, making sure no wire
remains exposed and heat gently with a lighter.
 
 Run a wire from pin 11 on the 74S139 to the MMU U3 (CO61618), pin 6. (U14 on
the 1200XL)
 
 Attach another wire between pin 2 of the 74S139 and pin 17 that you lifted
on U23, the 40 pin PIA.
 
 Now take a look at the 256k circuitry. One of the chips is a 74LS153. On the
RAMBO XL's, they are labeled as IC2. Solder a length of hookup wire between
pin 14 on IC2 and pin 14 on the 74S139.
 
  Take the new 256k RAMs and insert them into their sockets on top of U9 to
U16.
 
 If you had to remove the PC board from the case, replace it now.
 
 Leave the keyboard detached for the present. Instead, connect up the power
and monitor and see if the computer starts up. If it doesn't start up,
re-check your wiring job. Also make sure none of the RAMs have bent legs and
that all are inserted properly.
 
 Tack the wires down neatly with the hot glue gun. They can easily be lifted
later by running a hot soldering gun over them for a second.
 
 Replace the keyboard and the modified RF shield. Plug in the SIO line and
reboot.
 
 Run the file PATCH_RD.BAS from BASIC. Insert a disk containing SpartaDOS's
RD.COM on it into D1:. This file will be modified into a file called
RDXL.COM. This is the 512k RAM disk handler program. Load this program as
you would RD.COM, to give you 448k of globally accessible RAM disk.
 
 Unfortunately RDXL.COM does not recognize unmodified 128k XE's. Also, 320k
XE's are treated as 192k XL's. This RAM disk handler is primarily for 512k
systems, fully supporting both the 512k XL and the 576k XE.
 
The rest of this is for XE owners.
 
 Those with 576k XE's who wish to use RDXL.COM and retain their entire 1/2
meg RAM disk even from BASIC, should remove U23 (CO14795) and bend out pin
17. Unsolder the wire attached to pin 11 and reattach it to pin 17.
Straighten out pin 11 and replace the PIA in it's socket again.
 
 Then, find U3 (CO61618), the MMU. Remove the wire soldered to pin 13 and
re-attach it to pin 6 on the same chip.
 
 When you reboot, you will have to switch your system to 256k mode
momentarily as the OS accesses the diagnostic ROM during bootup. As soon
as the drive kicks in, throw the switch back again to 512k mode.
 
PORT B - Memory control register
 
Bit: 7 6 5 4 3 2 1 0
 
     D a b E c d B R
 
D=0 enables diagnostic ROM and upper 256k RAM
B=0 enables BASIC ROM
R=1 enables OS ROM
E=0 enables extended RAM
abcd is the 4-bit extended RAM bank#
 
 The new RAM is now controlled by bit 7, but only when extended RAM is
enabled. Otherwise it controls diagnostic ROM.
 
 Here are the bank control numbers in hex, as used by RDXL.COM.
60,64,68,6C
20,24,28,2C
40,44,48,4C
E0,E4,E8,EC
A0,A4,A8,AC
C0,C4,C8,CC
80,84,88,8C
00,04,08,0C - This final set of banks is only used by XE systems.
 
SpartaDOS and RAMBO XL are trademarks of ICD, Inc. 1220 Rock St. Rockford, IL
61101-1437, USA
 
Atari 130XE, 800XL and 1200XL are trademarks of Atari, Corp.
 
Dan Schmidt
CIS: 72347,354
GEnie: D.SCHMIDT4


Craig Lisowski (clisowsk@mcs.kent.edu)