[comp.sys.atari.st.tech] 520 ST Memory upgrade...........

Yonderboy@cup.portal.com (Christopher Lee Russell) (12/11/90)

Well I tried to send this to 2 people and it bounced both times.. So, I'm
just going to put it up here... A friend of mine has done this upgrade and
it seems to work fine... Do desolder the caps as it meantions:
                     Atari ST Memory Chips

                  Jeff Rigby / SOTA Computers
                 3949 Sawyer Rd. Sarasota, Fl.

  The following is a brief overview of the Dynamic Memory used in the ST
series of Computers.  Provisions were made in the design of the Memory
Management Unit for 64K (4164), 256k (41256) and 1meg (411001) chips.

  The Memory Management Unit does a variety of jobs in dealing with the
memory, all these are transparent to the 68000 MPU.  Dynamic Ram is currently
the most popular memory used in computers today, it is very inexpensive and
reasonably fast.  The bad news is that it has to be refreshed every 4ms
or it looses it's memory. Refreshing is accomplished by strobeing all the Rows
in the multi-plexed memory.  In computers without a MMU the MPU looses up to
20% of it's time in just doing refresh.  The great news is that Atari designed
the ST with no wait states. The MMU does the refresh and Multi-plexing of the
dynamic ram and the CPU (68000) is free to do what ever is needed.  The MMU
can controll two banks of two 8 bit words each.  The current method of
determining the amount of memory uses an 8 bit byte as it's base.  In other
words, 8 bits * 256K = 256K bytes of memory.  In the ST we have 16 bit words
2*( 8bit )* 256K = 512K bytes of memory in one bank using 256K chips; with two
banks you have 1 meg (this is the one that will be added).

  Using the new one meg chips you have 2*(8bit)* 1meg = 2meg byte per bank.
If you are going to upgrade your memory then replacing one of the 512K byte
banks of memory with 1 meg chips gives you 2meg plus what you have in the
other bank for at least 2.5meg bytes.

         41256  4 - CMOS very low power (runs cool)
                1 - 1 bit
                256 - by 256K

                        top
                      |-----|
              A8   1 -|     |- 16  Vss
              Din  2 -|     |- 15  CAS/
              WE/  3 -|     |- 14  Dout
              RAS/ 4 -|     |- 13  A6
              A0   5 -|     |- 12  A3
              A2   6 -|     |- 11  A4
              A1   7 -|     |- 10  A5
              Vcc  8 -|     |-  9  A7
                      |_____|

       A0-A8   Address lines
       Din     Data in
       Dout    Data out (on the ST the data in and out are hooked together)
       WE/     Write enable when this line is low
       RAS/    Row Address Strobe
       CAS/    Column Address Strobe
       Vss     Ground
       Vcc     5 volts

  Refresh and RAS  are accomplished when the RAS line is held low and the
proper row address is selected. Refresh requires that all 256 rows be
addressed one at a time.  The RAS line is held low and a number (base 2) is
put on  A0-A6, the address bus.  This is done 256 times (one for each
address).

  Writing to Memory is done by:

       1) bringing RAS low
       2) put the proper address (row address)on A0-A8
       3) bring RAS high
       4) bringing CAS low
       5) put the proper column address on A0-A8
       6) bringing CAS high
       7) bringing WE low
       8) put data on Din
       9) bring WE high

  Reading Memory is done the same way but use Dout in step 8.


  As you can see there is a lot that the MMU has to do, it is running at 16Mhz
doing the calculations for the Multi-plexing and other functions, but the
Memory it's self can only be addressed at 4 Mhz due to the speed restrictions
in CMOS devices.

  The chip that is in your ST now is a 41256 dynamic ram memory chip; the one
meg chips you may have heard about are still too expensive but they will come
down in price soon.  When they do you may upgrade your computer to a 2.5meg
byte or 4meg byte ram system.

       411000   4 - CMOS low power (due to improvements this chip runs 20%
                    faster than 41256)
                1 - 1 bit
                1000 - by 1000k


                        top

                      |-----|
              Din  1 -|     |- 18  Vss
              WE/  2 -|     |- 17  CAS/
              RAS/ 3 -|     |- 16  Dout
              N/C  4 -|     |- 15  A9
              A0   5 -|     |- 14  A8
              A1   6 -|     |- 13  A7
              A2   7 -|     |- 12  A6
              A3   8 -|     |- 11  A5
              Vcc  9- |     |- 10  A4
                      |_____|

  If you will notice there is an A9 pin on the DRAM that was not on the 256K
chip, this is where it gets the extra address range.  The A9 pin on the MMU is
not connected to anything in the ST and as you notice the pin configuration of
the 1meg chip is nothing like the 256K chip so to upgrade I guess I am going
to have to make a PC board to hang on the mother board of the ST.  The refresh
and addressing of this chip are the same as the 256K chip with the exception
that refresh is done on 1000 addresses and the row and column addresses are 1k
by 1k.

  The ST is one of the best designed personal computers on the market.  We
hear of all the co-processors in the Amiga but never hear of the co-processors
in the ST; there are several of them including several DMA channels.  Atari
just doesn't blow it's own horn loud enough.  Did you know that in all most
all tests the ST is faster than the Amiga or the Mac.  The memory upgrades to
the Amiga slow down the Amiga 12% (refresh is not transparent).  Upgradeing
the ST is very inexpensive and very expensive on the Amiga or the Mac.  Atari
went to great expense to make the ST VERY UPGRADEABLE, for our benifit and
theirs (they wanted several new improved models to sell later).


  I have brought this over un-editted from the arpanet info-st mailing list. I
TAKE NO RESPONSIBILITY FOR ITS CONTENT OR ACCURACY. I HAVE NOT TRIED THIS
MODIFICATION ON MY OWN ST AS YET. I AM PASSING THIS ALONG TO THOSE WHO DO WISH
TO TRY IT.  FOLLOW THE DIRECTIONS AT YOUR OWN RISK.
--Dwight McKay (75776,1521)

From: gert@pescadero

  WARNING: This is a hardware modification that will void the warranty of your
520ST.  If you do not have the appropriate tools or experience you have a
substantial chance of ruining your 520ST. Proceed at your own risk!  This
modification has been in my 520ST without any problems for 6 days now.
However, I have (of course) not checked with knowledgable sources at Atari to
verify if this modification endangers the long term machine reliability and/or
software compatibility (I suspect it may endanger their software compatibility
if enough of us do it!)

Tools & components needed :

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

A good quality, preferrably temperature controlled soldering iron, with a
minature tip (tip should be narrow enough to avoid touching 2 I. C. pins at
the same time) e.g. Weller type soldering station.

Good quality resin core solder (thin).

Approximately 4 foot of wire-wrap wire and a good stripper for it.  (you will
have to route 3 wires over a sequence if I.C. pins.  The easiest way to do
this is t have a stripper allowing you to shift the insulation forward over
the wire, solder the next point, measure new length, shift over insulation,
etc. until the endpoint).  The "No Nik" 0.014 (dark green handle) wire wrap
stripper is the best tool for this.  Available e.g. at Jensen tools, Phoenix,
AZ (602) 968-6231 catalog no. H4B305.

Desoldering wick and solder suction tool.

Philips type screwdriver (for opening your ST), tweezers, pliers, etc.

A steady hand and self-confidence.

Explaination of the modification :

(Please read the rest of this document before starting.  It may save you time
and an 520ST)

  The current memor inside the 520ST consists of 16 256K*1 RAM chips.  Address
(A0..A8) lines are common to all those chips.  The Write Enable line is also
common to all chips.  Data (in and out) lines are of course individual.  The
RAS (row-address strobe) line is common to all chips.  The 8 chips forming the
high order byte group have one common CAS line, and the 8 forming the low
order byte group have one common CAS line (CAS is used as enable for write
operations, such that Write Enable can be common to both groups).  The high
order group from MSB to LSB consists of U45, 44, 43, 42, 38, 34, 33, 32.  The
low order group of U30, 29, 28, 25, 24, 28, 27, 26.  Note that all chips are
adjacent, though the numbering has gaps.  RAS0, CAS0H, and CAS0L are supplied
from U1 pin 8,6 and 7 respectively (the 0 indicates bank 0).

  Bank 1 that you are going to build in will be "piggy-backed" on top of the
current chips, where all pins of the new chips EXCEPT RAS (pin 4) and CAS (pin
15) are soldered to the old chips equivalent pins.  Thus they will end up
sharing addresses, data, Write Enable and power and ground with the existing
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 memory controller, marked
3H-2119C or so).  The CAS pins of the 8 new high order byte chips (on top of
U45..U32) are wired together and supplied from the "CAS1H" signal generated
on pin 22 of U15.  Analogously, the CAS pins of the new U30 to U16 are wired
together and supplied with "CAS1L" from pin 21 of U15.

How to go about it:

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 2: Desolder all of the capacitors adjacent to the existing RAM chips.
(DO NOT SKIP THIS STEP. You'll lose time if you do, and worse, the
modification will not be reliable since you can't solder pins obstructed by the
capacitors reliably (if at all)).  To desolder them, I found it easiest to
heat the island on the non-component side, and bend the wires straight.  After
doing that on each capacitor, turn over to the component side and heat the
islands while pulling the capacitor out with the tweezers.

Step 3: Open up the holes of all the desoldered capacitors, using a combination
of de-soldering wick and suction tool.  Do this from the non-
component side.  If certain holes are difficult to open up, you may want to
use a wood splinter. (push it through while heating).  Be carefull to remove
all solder debris!!  THE REASON for opening the holes NOW is that they will be
less accessible once you've done the other steps!  Patience is a virtue.

(NOTE: Step 2 & 3 are the only ones that may damage your ST PC board.  Be sure
not to use excessive force while pullling out the capacitors.  If you damage
your PC board anyway, cure the problem now and not later).

Step 4: In this step we will piggyback the new RAM's on top of the old ones. Be
sure to connect all pins except pin 4 (RAS) and 15 (CAS).  The best way to
go about this is to do chip by chip. First, bend the pins of the new RAM's
such that hey are perpendicular to the package (instead of having slightly
spread "cowboy legs").  Use pliers to bend pin 4 and 15 suchthat it comes out
of the I.C. package horizontal, and cut off the excess length of pins 4 and 15
(I mean part of the pin, you still need to be able to solder to it!).  Make
sure that the new RAM fits snugly on top of the old one (in the same
orientation!!!), without intervening space and with the new pins touching the
old ones.  Now solder each pin (except the non-touching 4 and 15) to the other
RAM's.  The best way to do this with the least chance of damage is to touch
both the new RAM's pin and the old RAM's pin.  Heat them both for a second and
add A LITTLE solder then.  Wait till the solder flows.  After each I.C., check
all pins carefully to assure a good connection (use a magnifying glass).
NOTE: This step is crucial for the long term reliability of the memory
extension.  A badly soldered joint may show up later as sporadic memory
errors.  TAKE YOUR TIME.

(NOTE: until step 6 is finished, do not in any way apply power to your ST.
This intermediate state of affairs will damage your memory chips!!)

Step 5: Remount all the desoldered capacitors.  Bend the pins like they were
before resoldering, such that they will not touch the lower shielding.  Solder
from the non-component side.

Step 6: In this step you will route the 3 wires mentioned earlier. The first
wire connects pin 4 (RAS) of all the new RAM's to pin 18 of U15.  The second
wire connects pin 15 (CAS) of the new U45 to U32 to 22 (CAS1H) of U15.  The
third wire connects pin 15 (CAS) of the new U30 to U16 to pin 21 of U15.  The
best way to do this is to use the stripper to remove 5 inches of insulation.
Solder the first IC pin to the end of the blank wire, measure the distance to
the next pin in sequence and shift over that amount of insulation. Continue in
this fashion until all the pins in sequence are done.  Work from U45 to the
left, soldering directly to the leftover pins on the new chips.  Make sure that
no wire or solder sticks out above the the top plane of the new chips,
since they will almost touch the top shielding! Route the wires through the PC
board hole below and to the left of U15 to connect to U15 on the non component
side.

Step 7: Sit back.  Use Brain.  Do you feel confident about the quality of your
work?  No mistakes?  Check evrything once again if you are but a little
uncertain.  Applying power with errors might make your ST into a decorative,
nonfunctional piece of art.  OK.  Either rebuild your ST into its shielding
and cabinet, or put it onto a surface clear of wires and solder debris and
connect it to monitor, disk and supply.  Boot it.

  It it boots, you're probably there.  Test if the new memory works by looking
at the phystop variable ($42E) with SID if you have the developer stuff.  It
should read $100000 (1M hex). Also note that memcntlr ($424) now holds 5
instead of 4, and that v_bas_ad ($44E) now holds $F80000 (screen bitmap
origin).  If you don't have the developer stuff, try a single drive copy and
check that you get the whole disk in one buffer instead of two.

  If the new memory does not seem to exist, use SID to deposit and retrieve
words on locations $80000 and up (1/2 Meg hex). If bit errors occur, the ST
bootROM did not detect the extension (it checks all bits of 512 locations by
testing a psuedo random sequence, before accepting a memory bank).  Try to pin
point the faulty chip(s) and remove the error.

  If it doesn't boot, you're in trouble.  I'm sorry.  It is difficult to give
hints on what to do here.  So many possibilities.  Desoldering the new chips
probably won't work (if the old ones were functional, the ST would still
boot).  Check for hidden shorts on the RAM pins.  May also be that you have a
flaky new pin connection.

  That's all there is...

PLEASE REMEMBER THAT I HAVE NOT TRIED THIS AND I AM SIMPLY PASSING THIS ALONG
FOR THOSE WHO WOULD LIKE TO TRY DOING THIS.

--Dwight McKay (75776,1521)

A forwarding note...

  Well, there you have it.  What I found in my ST was a revision H mother
board.  On this particular board are the provisions for two 68 ohm resistors
that are installed in series with the CAS1H and CAS1L lines (R136, R137).
There was also a spot where a connector could be installed that would route
the 3 new control lines to the extra memory.  Obviously, someone at Atari
was thinking of a memory mod for this machine.  Other than that, the
instructions are correct.  Believe the guy when he says to remove the by-pass
caps first!!!  If you have had any experience with a soldering iron or kit
building, this project should present no problems.

Dave James 11/30/90

NCOYNE@ESOC.BITNET (12/20/90)

HELP
I WANT TO UPGRADE TO 1MEG I CAN GET THE RAM AND MY MOTHER BOARD ALREADY HAS
SPACES FOR 16 EXTRA 41256'S.MY PROBLEMS OCCUR WHEN TRYING TO DETERRMIN THE
VALUE FOR THE CAPACITORS THAT ACCOMPANY EACH RAM CHIP.COULD ANYONE SUPPLY
ME WITH VALUES,TYPES AND MAYBE PART NUMBER.ALSO CAN ANYONE GIVE ME DETAILS
OF WHERE I CAN GET A CCT. DIAGRAM FOR MY ST.
COME IN YONDERBOY...

NICK COYNE
   E.S.O.C.
   DARMSTADT
   GERMANY