[net.micro.atari] New 1 meg upgrade document

Augenbra@MICRO.UDEL.EDU (01/26/86)

I have just completed the 1 meg memory upgrade on my 520st using a 1 meg upgrade
document taken off of a bulletin board in Florida.  I found the document a
little difficult to follow, and there was one major mistake in it.  I am not
sure if there are different versions of the document (I think they all derive
from a posting that I saw on INFO-ATARI a while ago).  Rather than sending a
correction, I decided to rewrite the whole document.  I hope that this will help
those people who have yet to make the upgrade.  The document below is derived
from the version of the memory upgrade that includes the 68 ohm resistors (the
one that reportedly was tested by an anonymous engineer on Atari's development
staff).  My PC board has "REV. B" written on it.  I'm not sure what the
different rev's are, but I'll give warning to be careful about following these
explicit instructions if your board is not REV B.

A couple of side notes:

	1)  I'll be happy to answer any questions about the memory upgrade
		(another public service) as long as the volume isn't too
		high.  I'm augenbra@udel-scrooge.arpa

	2)  When I followed the (wrong) instructions that I got from the
		bboard the machine did not boot.  As a matter of fact the
		screen would turn on in white or blue for one second and
		then go blank again.  I didn't even get the boot screen.
		I then figured out that the instructions were wrong and
		made the corrections that were necessary and the machine
		booted.  The moral is that following the wrong instructions
		(for anyone out there who did) is not fatal to any component,
		and you can get things working again by correcting the
		mistake.

	3)  I only upgraded one machine, using those old instructions.
		The moral of this is that I've never used the document below
		and it could contain mistakes.  I'll read it through pretty
		well, though.

	4)  I take no credit for this upgrade.  I used some of the text from
		the original document word for word.  I forget who posted the
		original instructions, but he deserves any credit.


cut here--------------------------------------------------------------


		1 MEG MEMORY UPGRADE FOR THE 520ST

WARNING:  This will void your warranty, etc.
WARNING2:  This upgrade is not for beginners.  You really need to have the
	right tools and know what you are doing to get it right.  Also, if
	you damage the machine with this upgrade it is unlikely that you will
	be able to find anyone who will fix it.  This upgrade involves cutting
	three traces on the board, so you couldn't just take out the new chips
	and try to send the machine back to Atari.  OK, enough scare.

Tools & components needed:

	16 256K * 1 RAM chips, 150 ns access time type, e. g. NEC 41256C-15
	(available at Fry's Electronics, Sunnyvale, CA for $2.77 ea.)

	6 68 ohm 1/4 W carbon film resistors, 10% tolerance.  I used 1/2W,
	but I was cursing the whole time.  This is because 1/2 W are really
	too big, so use 1/4 W if you can.

	A decent soldering iron.  Needs to have a tip that is the same size
	as an IC pin or smaller.  A Weller temperature controlled station would
	be perfect, but I got along with my Ungar Princess.

	Good quality resin core solder (thin)

	A few feet of thin (24 guage is good) insulated wire

	A few feet of solid copper tinned bus wire.  22 AWG would be good, I
	used 24 AWG with no apparent problems.

	Solder sucking equipment

	Normal hand tools (screwdriver, pliers, etc)

	A steady hand and self-confidence


Explanation of the modification:

    U15 is a memory controller chip (Atari calls it an MMU even though it
isn't).  It goes inbetween the 68000 and DMA devices and the memory.  Thus
all communications to memory is done through this chip (someone correct me
if I'm wrong).  The chip knows about two "banks" of memory.  Each bank consists
of 16 chips.  These chips may be 64K, 256K, or 1M DRAMs.  I'm not sure if you
can have different types of chips in the different banks.  As shipped, a 520ST
has one bank of 256K DRAM's.  These chips have all of their address lines in
common.  The RAS line is also common to all chips.  There are two separate
CAS lines, one for the lower 8 chips, and one for the upper 8 chips.  All of
these lines come directly from U15, the memory controller chip.  There are also
3 lines available from U15 that are currently not connected at all.  They are
the RAS line and two CAS lines for another bank of memory.

    We are going to add bank 1 (the original chips are bank 0).  The new chips
will be "piggy-backed" onto the original chips.  All of the pins from the new
chips will be connected directly to the respective pin of the original chip
that it is piggy backed to except for pins 4 and 15 which get wired to the
U15 bank 1 RAS and CAS.  Thus the new chips share address, data, power and
ground with the old chips.

    All RAS pins of the new chips are wired together and will be supplied with
the "RAS1" signal generated on pin 18 of U15.  The CAS pins of the 8 new high
order byte chips are wired together and are supplied with the "CAS1H" signal
from pin 22 of the memory controller, and the 8 new low order byte chips are
wired together and supplied with the "CAS1L" signal from pin 21 of U15.


Reference:

    The existing memory chips are numbered from U16 to U45.  There are some
gaps in the numbering, but they are numbered in increasing order.  The high
order group, from MSB to LSB consists of U45, 44, 43, 42, 38, 34, 33, 32.
The low order group from MSB to LSB consists of U30, 29, 28, 25, 24, 18, 17
and 16.  One of the groups is used for even memory locations and the other
is used for odd memory locations; I'm not sure which is which, though.


How to go about it:


Step 0:  Read these instructions through, and do not apply power to the ST
if the mod is half in.

Step 1:  Open up your 520ST, pull off the keyboard connector and remove the
main circuit card from its top and bottom shielding.  Make sure to remember
which screws go where and note the keyboard connector orientation.

Step 2a:  Desolder all of the capacitors next to the existing RAM chips and
make sure that the holes are clear enough for the cap's to go back in easily.
This step is necessary so that you have enough space to solder the new chips
to the old chips.

Step 2b:  Clear away any solder splatter that is sticking in nasty places on
the component side of the board.  This will soon be real inaccessable.


NOTE:  If you damage the PC board you better fix it before going on.  Things
	start becoming inaccessable now.


Step 3a:  Take a RAM chip, and bend pins 4 and 15 (RAS and CAS) so that they
are sticking up (yes a 180 degree bend).  Use whatever care is necessary to keep
the pins from breaking off.  A rounded bend might be necessary.  For those of
you with poor memories (organic, not silicon), here is where pins 4 and 15 are
on a 16 pin DIP.  Chip is as seen from the top.

		16 15 14 13 12 11 10  9
		________________________
		| Random manufacturer  |
Pin 1 notch ->	 ) writing             |
		|______________________|
		 1  2  3  4  5  6  7  8

Step 3b:  Place this chip on top of one of the existing RAM chips, put it on
the leftmost or rightmost, whichever you prefer.  Bend the other 14 pins so
that it has a snug fit on the RAM chip.  The bottom of the new RAM chip should
be touching the top of the existing RAM chip.  Now solder the 14 pins that
aren't sticking up on the chip.  Don't overheat, everything is static sensitive,
etc.

Step 3c:  Repeat 3a and 3b for the other 15 chips.  No one ever said that this
was going to be fun.

Step 4a:  Remember those capacitors that you spent an hour taking out?  You
guessed it.  Now you have to spend a half hour putting them back in.

Step 4b:  Generally clean up the board.  Look for bits of sticking solder
debris.

Step 4c:  Take a break, eat lunch, have a beer.  You're only about half way
there.


If you've done everything right so far your work should look like a combination
of piggy-backed RAM chips and a bed of nails.


Step 5a:  You must now take a piece of bus wire and cut it to the length of
the chips.  You don't need any extra length since the connection from the bus
to the memory controller will be made to the middle of the bus, in a "T"
fashion.  Take this wire and solder it to all of the pin 4's, forming the RAS
bus.  Cut off any part of the IC pins that extend above the top of the wire.
The wire must actually be touching the RAM chips.  This is so that the wire doesnot touch the metal shielding above, i.e. so that we have maximum clearance.

Step 5b:  Take another piece of bus wire and cut it to the length of the chips
and wire it to all of the pin 15's.  Once again make sure that it is as low as
possible, actually touching the tops of the IC's.  And cut off any part of the
IC pin that extends above the top of the wire.

Step 5c:  Cut the pin 15 bus wire in between U30 and U32, thus making the 16
chip pin 15 bus into two 8 chip buses.  These are going to be the two new CAS
buses.


You now have 3 buses extending above piggy-backed RAM, 2 of the buses are 8
chips long and one of the buses is 16 chips long.


Step 6:  Orient the 520ST (REV B) PCB so that you are looking at the solder
side (non-component side). with the row of d-rams nearest you.  Find the
double square pattern of pads at the 68-pin socket of the memory controller,
U15 (3H-2119).  The following is a guide to locating the six memory control-
ler pins necessary to complete the wiring.  It is not as convoluted as it
looks.  The socket is numbered CLOCKWISE when looked at from the bottom of
the board (this is the mistake that I saw in another version of this document;
it said counter-clockwise).  The sequence starts with pin 1, the square pad
(look closely) in the middle of the bottom outside row.  The sequence, moving
clockwise from pin 1, first on the outside square ONLY:  (NOTE:  the sequence
")(" means to make a 90-degree turn clockwise, e.e. around the corner)

	1,3,5,7,9)(10,12,14,16,18,20,22,24,26)(27,29,31,33,35,
	37,39,41,43)(44,46,48,50,52,54,56,58,60)(61,63,65,67

The sequence, moving clockwise along the inside square only, and starting with
the left side of the bottom row:

	62,64,66,68,2,4,6,8)(11,13,15,17,19,21,23,25)(28,30,32,
	34,36,38,40,42)(45,47,49,51,53,55,57,59

Six 68 ohm resistors are used in the upgrade.  3 go to the RAS and CAS lines
of the new bank, and 3 go to the RAS and CAS lines of the original bank.  These
series terminating resistors minimize overshoot which may damage BOTH BANKS of
memory if ommitted.  The upgrade will not work right if you try to get away with
just the 3 for the new bank.  So bite the bullet and go for all six.

Step 6a:  Solder a 68 ohm resistor to pin 18 of U15, RAS1.  Solder a 24 AWG
stranded wire from the remaining end of the 68 ohm resistor to the pin 4 bus
(RAS) of the new d-rams.

Step 6b:  Solder a 68 ohm resistor to pin 22 of U15, CAS1H.  Solder a 24 AWG
stranded wire from the remaining end of the 68 ohm resistor to the pin 15 bus
(CAS) of the new U45, 44, 43, 42, 38, 34, 33, 32.

Step 6c:  Solder a 68 ohm resistor to pin 21 of U15, CAS1L.  Solder a 24 AWG
stranded wire from the remaining end of the 68 ohm resistor to the pin 15 bus
(CAS) of the new U30, 29, 28, 25, 24, 18, 17, 16.

The other 3 resistors go in series with the RAS and CAS lines to the original
chips.  This means that you have to cut three traces.

Step 6d:  Find the traces leading from pins 6, 7, and 8 of U15 to the RAS and
CAS lines on the original chips.  On my board these traces ran on the component
side of the PCB from the memory controller socket downward.  (For this
discussion the PC board is oriented with the component side up with the memory
chips towards you).  My board has some of the memory controller pin numbers
printed on the board, specifically the numbers 1,9,10,26,27,43,60.  The traces
are three traces that run together straight for about a centimeter below and
to the left of the pin 9 number on my PC board.  They run together for maybe
2 cm altogether, but they are straight and close for only 1 cm of that.  When
you think you've found the right traces scrape off the green stuff and get down
to metal and check your findings with an ohmmeter.  If you are not right, find
the right traces.  If you are right, cut all three traces.  That's right, make
it so that there is no connection.

Now we will reconnect the three traces, but with 68 ohm resistors instead of a
0 ohm wire.

Step 6e:  Connect one side of a 68 ohm resistor to pin 7 of U15.  Connect the
other side to the board-through solder pad that is to the left of pins 1 and 2
of U16.  You will note that this connects directly to left-most of the three
traces that we cut.

Step 6f:  Connect one side of a 68 ohm resistor to pin 6 of U15.  Connect the
other side to the board-through solder pad that connects to the middle trace
that you cut.

Step 6g:  Connect one side of a 68 ohm resistor to pin 8 of U15.  Connect the
other side to pin 4 of U16.  This is the last connection.

Step 7:  Sit back.  Use Brain.  Do you feel confident about the quality of your
work?  No mistakes?  No resistor leads shorting PC board metal?  No solder
splatters that haven't been taken care of?  Applying power with errors might
make your ST into a decorative, non-functional piece of art.  OK?  Either
rebuild your ST into its shielding and cabinet or, or put it onto a surface
clear of wires and solder remains (the better way.  No way that shorting to
shielding is a problem) and connect it to the mouse, monitor, power supply and
disk drive.  Boot it.  If it boots your probably there.  Test if the new
memory works by looking at the phystop variable ($42e) with SID or BASIC.
It should read $100000.  Also note that memcntlr ($424) now holds 5 instead
of 4, and that v_basf_ad ($44e) now holds $f80000 (screen bitmap origin).  Or
you could try a single drive copy and check that it gets the whole disk in one
buffer instead of 2.


In case of difficulty:

    If the new memory does not seem to exist, try depositting and retrieving
words in locations $80000 and up (1/2 meg decimal).  If bit errors occur the
ST bootROM did not detect the extension (it checks all bits of 512 locations by
testing a pseudo random sequence before accepting a memory bank).  Check which
bits are screwed up and look in the reference part of this document and try to
correct the problem.  Note that if you get $84 $80 $84 $80 in all memory at
$a00000 and above it means that you didn't cut the traces on the board right.
Check those traces with an ohmmeter across the resistor.  It will read 0 ohms
if the traces weren't cut right.

    If the machine doesn't boot (doesn't even give the boot screen) you either
made a wiring mistake or burnt something out (or I made a documentation mistake;If there are any differences between this document and the older one that you
have seen besides the clockwise vs. counterclockwise thing, the older one is
right, because that is what I wrote this one from).  Look for wiring mistakes,
have some rational human being check your work.  Look for insidious bits of
solder or wire debris.  If you are determined that you burnt out something,
try the memory controller first since it is socketed.  Find some benevolent
soul with an ST and try your controller in his.  If that works, my guess is that
you fritzed the memory, and you should either desolder it and test it in an
IBM PC or something or cut it out and put in new memory and call it a $100 loss.
You could cut your losses by buying a memory expansion card.  I understand that
they require you to cut out the existing chips.  Sorry I don't have any better
idea.


What do I do with it now that I have it:

    There is a PD 360K ram disk program for a 1 Meg expanded ST.  I haven't
tried it yet (I just put the memory in 2 hours ago, and that 2 hours was
used for writing this document), but that's why I want the memory.


						Joe Augenbraun
						augenbra@udel-scrooge.arpa
						January 26, 1986