Atari ST 72-pin SIMM 4Mb Memory Upgrade - July 25th 2005 - v1.03
0. Introduction
1. The signal lines
2. 16pin 41256 DRAM pinouts
3. 72pin 4Mb SIMM pinouts
4. Building a test-bed to identify 'good' SIMMS
5. Preparing the Atari ST for connection to your SIMM
6. Connecting your SIMM socket to the STs motherboard.
7. Hardwiring a chosen SIMM to the motherboard
8. Hints and Tips
9. Adding a toggle switch for 4Mb or 1Mb operation
10. RAM testing programs
11. Final note
12. More notes
13. Some images at a web address
14. Static precautions
15. Credits

0. Introduction
These procedures are written to roughly describe the procedure of upgrading the memory of the Atari 520ST or 1040ST to 4Mb.  This is achieved by utilising a single 72-pin SIMM memory stick and wiring it in to replace the existing ram.  All connections are made directly to the ram banks.  There is some soldering involved, well, there's actually quite alot of very delicate soldering involved, especially on the SIMM.  If your machine has 16 or 32 RAM chips then this is for you.  The procedures are also suitable for other machines if you put your mind to it.
As a disclaimer (we're seeing alot more these days aren't we!) it has to be said that you're on your own.  If you blow up your computer or electrocute the cat when it sits on the open power supply, then don't say you weren't warned of what could happen.  Use your common sense.  If the steps are too steep then look where you're going.  This procedure does work and has been used numerous times before releasing here in written form with our names on the bottom.  Best of luck.

1. The signal lines
There are three main groups of signal lines.  D0 thru D15 refer to what would be the individual chip selection lines, if there are 16 chips as there are in the Atari ST, then there are 16 individual chip select lines.  A0 thru A8 are the address lines, by looking at how many of these you can determine how much RAM the machine can physically address.  In the standard ST configuration a maximum of 512K can be utilised from 16 chips, or 1024k if 32 are used.  If now the A9 address line is enabled (as it will be later) then we can address 4Mbytes.
The other lines are the row and column strobes, RAS, CAS etc.  Memory by its design loses the information it contains after a short while, these signals are used to refresh these values periodically, this is all done automatically by the memory controller.  Remember the various settings in an IBM PC compatible's BIOS for setting these?  RAS/CAS delay etc.
Finally the last group are straightforward.  GND and +5v provide power to the memory.  The WE signal line tells the chips if they should be receiving or sending data, WE is sort of on its own as far as signals go, it's not a D or A line, and it's not a RAS/CAS select line.  If it had to be grouped then it could be put with the RAS/CAS lines although it is quite different.

2. 16pin 41256 DRAM pinouts
The pinouts for the chips used in the ST are as follows.  Note, some STs have 8 1Mbit chips and these revisions are not discussed here.
   A8 |1          16| GND
    D |2          15| CAS
   WE |3          14| Q
  RAS |4          13| A6
   A0 |5          12| A3
   A2 |6          11| A4
   A1 |7          10| A5
  Vcc |8           9| A7

3. 72pin 4Mb SIMM pinouts
These are the pinouts for a standard 4Mb 72pin SIMM.  On a 1Mbyte SIMM the A9 line is N/C, and on an 8Mbyte SIMM A10 is now present.  The sticks that we are interested in have a minimum of A0 thru A9 enabled.
SIMM Description
2+3 D0 + D16
4+5 D1 + D17
6+7 D2 + D18
8+9 D3 + D19
10 +5v
12 A0
13 A1
14 A2
15 A3
16 A4
17 A5
18 A6
20+21 D4 + D20
22+23 D5 + D21
24+25 D6 + D22
26+27 D7 + D23
28 A7
30 +5v
31 A8
32 A9
34 RAS1
39 GND
40 CAS0L
41 CAS1L
42 CAS1H
43 CAS0H
44 RAS0
47 WE
49+50 D8 + D24
51+52 D9 + D25
53+54 D10 + D26
55+56 D11 + D27
57+58 D12 + D28
59 +5v
60+61 D13 + D29
62+63 D14 + D30
64+65 D15 + D31
72 GND
*40 connections to be made
a. A0 thru A9 are the address lines
b. D0 thru D32 are the data/chip lines
c. CAS0L thru CAS1H are the column select lines
d. RAS0 and RAS1 are the row select lines
e. WE is the Write Enable line
f. GND and +5v are the power supply for the SIMM board

4. Building a test-bed to identify 'good' SIMMS
It may be an idea to test your SIMMs in a socket first.  This is discussed in the following paragraphs.
Probably one of the most important aspects here is to have SIMM memory which is actually suitable for the job.  SIMMS generally come in two flavours, EDO and FP.  EDO ram is optimised to allow faster access times and is unsuitable for the Atari ST.  FP or Fast Page ram is required, and as a percentage, EDO ram is more available than FP ram to about 75%, or, a ratio of 3:1.  Thus, you will need to build a test bed first to test your SIMMS prior to any permanent fitting.
A 72-pin SIMM socket is required, these are commonly found on 486 and some early Pentium motherboards.  The method for removing these is to take a butane blow torch to the back of the board and carefully remove the socket, this totally destroys the donor motherboard so you may as well remove all of the sockets, likely 4 off.
Having removed your now slightly charred sockets, wires now need to be soldered to the 'very' small solder pins on the back.  Recommended materials are suggested;
 a. Heat-shrink to seal the connections afterwards
 b. 10 6inch lengths of solid core wire for address lines
 c. 16 6inch lengths of solid core wire for data/chip lines
 d. 32 1inch lengths of SCW for data/chip lines
 d. 3 6inch lengths of SCW for ground lines
 e. 3 6inch lengths of SCW for +5v lines
 f. 6 6inch lengths of SCW for row/column select lines
 g. 1 6inch length of SCW for WE line
It is suggested that your data/chip lines be hooked up first.  There are 16 connections to be made to the ST board, coming from 32 connections on the SIMM.  So.. solder your 32 1inch lengths to the data lines on the SIMM socket, afterwards heat shrink these where they connect, about 5mm of heat shrink each.  It is further suggested to strip these wires to about 3mm before you begin.  Next, the 32 bits of wire you have poking out from the socket need to be paired up and soldered to your 16 6inch lengths.  These connections will also need to be heatshrinked.  That's the data lines done!!  Expected time to do this is about 1-2 hours.
All of the other lines to be connected to the SIMM socket are made singlely so is quite straight forward here after.  All should be individually heat shrinked where the connection is made on the back of the socket also.

5. Preparing the Atari ST for connection to your SIMM
Unfortunately you cannot just make the connections to the various points on the STs existing DRAM banks as the existing dram will interfere with the signals.  There are a number of ways to deal with this;
a. Remove ALL of the dram chips from the STs motherboard.
b. Disable power and RAS/CAS signals to the dram chips, leaving them in place
Performing (a) is probably the best course of action.  Salvaging the existing chips will be difficult however, as potentially expensive and damaging methods are required to get those chips off of the board in one piece.  The method here was to use a hobby drill with a cutting disc fitted and to cut the legs off of every chip, finally removing the remaining 'stumps' from the motherboard.
Performing (b) has the advantage that your dram chips are preserved should you ever wish to downgrade and it's less stressful.  Disabling power to the chips can be achieved by lifting the inductor L51 just next to the main power connector to the motherboard.  This procedure is not however guaranteed as many revisions of the ST motherboard existed.  On my test motherboard the power area where L51 forms a circuit also powers the floppy disk drive.  Power for the FDD can of course be taken from elsewhere on the board as there may be additional solder points, there are some here directly infront of the main power supply connector.  It is only the +5v line which is affected for the FDD, which is the red wire.  The existing dram signals that you must disable are RAS0, CAS0L, CAS1L; That's the main bank in 520STFM models.  On 1040STFM models or 520STs with 1Mbyte upgrades, RAS1, CAS1L and CAS1H must also be disabled.  This is achieved by lifting the 66ohm resistors R59, R60 and R61 for bank0, and R71, R72, R73 for bank1.  If you do not do this then you will be looking at a blank screen when you power-up.  It is also debatable as to whether the +5v actually needs to be disabled to the RAM banks, but since the STs PSU is generally quite small, it makes good practice either way.
Please note again that as there are many revisions of the ST board, such that procedure (a) can only be suggested as solid guidance.  In an ideal world I would always choose (a) since you simply do not know how those existing dram chips will interfere with the other signal lines. 
The next stage is to bring out the A9 signal line.  You have to make a connection directly to pin64 of the MMU chip to bring this line out for use.  Suggested procedure for this is to drill a hole through the ST motherboard and to place a PCB pin to the upper side which connects to the pin64 solder joint on the underside of the board.  The tricky bit there is finding somewhere for your hole on the ST motherboard where no tracks are running.  Space is tight, VERY tight.  The PCB pin here was placed just behind the main power supply connector with barely 1mm spare around it, and a wire taken between the two points on the underside.  There's also another space just infront of the bank of resistors.  You can identify pin64 with a multimeter, pin61 is labelled topside.  (if you don't know how to do this then you shouldn't even be doing it!)  Having brought out A9, a 33ohm resistor will required in series to A9 on the SIMM.  This can be soldered straight to the PCB pin.

6. Connecting your SIMM socket to the STs motherboard.
a. Make the D0 thru D15 connections first, these connect to one of either of the 2 dram banks.  D0 for example will connect to the space for dram chip U47 at pin 2.  D1 to U42 at pin 2.  Here's a list;
 U47/pin2 > D0
 U42/pin2 > D1
 U37/pin2 > D2
 U30/pin2 > D3
 U25/pin2 > D4
 U21/pin2 > D5
 U13/pin2 > D6
 U6/pin2  > D7
 U46/pin2 > D8
 U41/pin2 > D9
 U36/pin2 > D10
 U29/pin2 > D11
 U24/pin2 > D12
 U20/pin2 > D13
 U12/pin2 > D14
 U5/pin2  > D15
b. Now make the A0 thru A9 connections.  It is suggested that these are made directly to the resistor bank below the dram banks and above the MMU.  The resistors in this bank do the following;
 R59 > RAS0
 R60 > CAS0L
 R61 > CAS1L
 R62 > A8
 R63 > A7
 R64 > A6
 R65 > A0
 R66 > A1
 R67 > A2
 R68 > A3
 R69 > A4
 R70 > A5
 R71 > CAS1H
 R72 > CAS1L
 R73 > RAS1
 MMU64 > A9
c. The row and column address signals are made as per the information table supplied in (b) above.  It is probably easier to make these connections directly to the resistors rather than to the dram sockets if empty.  If your RAM does remain then you need to lift up the RAS/CAS buffer resistors to separate the signals from the existing RAM.
d. WE (Write Enable) has to be connected to pin3 of any of the vacant dram spaces where the dram would be located.  If you're leaving the existing dram in then just solder to pin3 of any of the chips.
e. The SIMM's power is supplied from the motherboard.  There are 2 methods here to get power.  If you have removed all of your dram chips and L51 is still in place then you may take power from the dram sockets, pin8 is +5v and pin16 is GND.  More than one take off is recommended to source sufficiant power for the SIMM.
If your existing dram remains and you have lifted up L51 then you need to find power from somewhere else other than the dram area.  The pin16/GND's will still be connected at the dram sockets although your +5v will need to be taken straight from L51.  L51 seems the obvious choice although I am concerned about sufficient smoothing being lost as the capacitors within the dram banks are no longer part of the circuit.  To be revised, this procedure is to be tested on my next memory upgrade.
REVISION: 1040ST system with both banks fitted and disabled seems to be functioning well.  +5v for the SIMM is taken from the lifted L51.  The +5v for the FDD is routed from the empty FDD pad bank located in front of the main PSU connector, the +5v/RED wire has been extended to accommodate.  The RAS/CAS resistors have been lifted and laid back down onto insulating tape beneath them.

7. Hardwiring a chosen SIMM to the motherboard
At your discression.  A hardwired SIMM does fit nicely on top of the first bank though.  Is also an idea to have the wires running across the back of the SIMM board rather than simply away from it, as they can be taped down to the board to provide strength.

8. Hints and Tips
The motherboard that has just been worked on with the 2 banks of ram remaining had had its 2nd bank bodge fitted by a previous owner (eBay purchase).  Tracks on this motherboard were damaged and the standard of soldering was lumpy, it is surprising that the SIMM upgrade did not upset things so the dram was chosen to be left in place with the minimum of upset.  The first piece of advice follows;
 *Take pride and time in your work
 *Plan out each job separately
 *Aim to take 2-3days on-and-off to complete this upgrade
 *Before even starting, get some magnifying goggles
 *Prepare your test SIMM socket first, test for shorts with a multimeter
 *Fit your A9 pin as a separate job, use a small manual hand drill and not your Dads hammer action drill
 *Grinding off your ram is a separate job, and don't go through any tracks!!
 *Removing the ram stumps is a separate job
 *Bringing up L51, R59, R60, R61, R71, R72, R73 is only just a separate job, tea time!!
Having the right tools is another requirement for this job;
 *18w soldering iron with a brand new small tip
 *Magnifying goggles (already mentioned)
 *Multimeter with diode test facility (or resistance) for shorts
 *Long nose tweezers
 *Long nose pliers
 *Professional jaw wire cutters, expect to spend £10
 *Dentists tools, picks etc. (also sold as soldering tools)
 *Helping hands (those things with croc clips for holding things)
 *Insulating tape
 *Sharp scissors
That's some of the tips I can think of anyway.  Oh, one last tip for the wire cutters.  You'll notice that stripping wire connected to a delicate board isn't too practical.  Grasp your wire with the cutters, and then using the long nosed pliers hold the wire again just behind the jaws of the cutters, then simply lever the cutters against the pliers.  This enables the wire to be stripped without bending things and jolting everything.
When you start to test your SIMMS to identify a Fast Page version, it may be difficult to determine if your first SIMM is an EDO or if you have a genuine wiring error.  Trust me, I know the anticipation when you switch on for the first time.  The effect of inserting an EDO SIMM is that the screen will be corrupted with lots of coloured flecks pulsing across the screen, and, the computer will likely attempt to boot.  It may even make it to the desktop, just with coloured flecks all over the place, or it may bomb out.  If you have made a wiring error then it is likely that the screen may be blank, or it may be the case that the screen is filled with solid coloured blocks.  Just try another SIMM to see if it behaves the same way, in testing it was found that different brands of EDO SIMMs behaved just slightly differently, a very rare few may even work, it's not known why but two were found here.  It is imagined that you will have a box of 20-odd assorted SIMMs to test.  If you have sourced two SIMMs from eBay then the chances are that these will be EDO sticks.
Before you switch on for the first time, do check for shorts and wiring errors.  It only takes 10 minutes to thoroughly check over for problems.

9. Adding a toggle switch for 4Mb or 1Mb operation
There are bugs!  Surprised?  No, didn't think you were.  Some ST programs, namely games, will not function on a 4Mb machine.  This is caused as some misbehaving programs will attempt to address past the 4Mb ceiling, don't ask me why they do this.  Anyway, on a 520ST or 1040ST this doesn't cause a great problem as the ST's BIOS simply returns a software-error, it's trapped by the program, and everything carries on running.  On a 4Mb machine however, addressing past the 4Mb ceiling creates a hardware-error, which isn't trapped, and the system crashes.  End of story.
When writing these procedures it was decided to try to turn our 4Mb machine back into a 1Mb machine at the flick of a switch.  Interested?
A 2-pole switch was fitted at the back of the machine through the case, in the area between the PSU and FDD shielding.  The A9 signal which runs from the SIMM is common (in the middle), with GND and the MMU A9 signal being selectable.  In one position the SIMM's A9 is connected to the MMU's A9 as per this document.  In the other position, the SIMM's A9 is grounded.  It's as simple as that!  Connecting the SIMM's A9 signal to ground turns our machine into a 1040ST.  It is ok to leave the MMU's A9 floating, as it has been for years since it left the factory.
If you should be tempted to try switching while the machine is switched on, it doesn't work, obviously.  By all means, switch between 4Mb and 1Mb with the machine powered although I don't know if this could destroy the SIMM or MMU.  What has been tried here is to switch over and then perform a reset, which seems to work ok aside from the screen corruption.  On your head be it!

10. RAM testing programs
Having completed this RAM upgrade and with a gleaming desktop you of course want to thoroughly test everything.  Two pieces of software have been identified as being suitable.
Peter Knoppers, a hardened techie from Holland, has kindly allowed us to link to his ramtest program found here; .  The one thing to mention about his software is that you have to output to either a parallel printer connected to the ST, alternatively, you can output via the serial port, connecting this to a PC running HyperTerminal with a NULL modem cable.  His software is VERY configurable, so if you have a NULL modem cable then he's well worth a look.  I quite like the software as it leaves you with a status log should your ST die or something.
Chris Swinson, of CPS electronics in the UK has suggested the MARPET test program now found here; .  As far as permission to use the program goes, unsuccessful attempts have been made to contact Marpet thus the package has been deemed abandonware.  Unless anyone knows otherwise that is.  It's an ok program mind in that it outputs directly to the ST's screen, although in comparison to Peter's offering, it doesn't appear to be so intuitive or thorough, guess that makes it easy to use!  I'm not sure if it relocates itself at each run, but of course if you just want output to the screen and to leave the computer testing then it's all thumbs up.
The final method of testing your RAM, as suggested by Chris again, is to create a whopping 3.5Mbyte RAM disk.  Create a totally black .BMP image file on your PC, and port it back and forth using the PARCP transfer program.  If any errors occur then you will be able to easily identify problems from colours creeping into your bitmap file when viewed again on the PC.

11. Final note
Where you position your final SIMM is up to you.  The guidelines provided here are simply to show that it can be done, and roughly how you might do it and to get you started.  You could use your socket or you could hard wire.  As for where you end up and how you do it, that's all part of the fun and job well done.

12. More notes
To aid completeness it was thought an idea to provide web links to some of the tools and equipment used.  Most of this is sourced from Maplin Electronics in the UK who are the equivalent of the Tandy/Radio Shack shops in the USA.
Wire Cutters:
1mm Drills:
PCB Pins:
Helping Hands: (buy these from bargain £1 stores!!)
Wire Brushes: (buy these from bargain £1 stores!!)
Heat Shrink:
Solid Core Wire:
2 Pole Switch:
Dentists Tools:
Desoldering Pump:
Desoldering Braid:

13. Some images at a web address

14. Static precautions
We hear more and more about static, almost as often as legal disclaimers.  The reality is that static is not always an issue.  If you live in a dry non-humid heated climate then yes it certainly is, we've all seen the little blue sparks and heard the crackling on clothes.  If however you live in the UK, where it rains constantly then it may not be so much of an issue.  I'm saying this here as I've just seen one of the progress photos with SIMM sticks laying all over the carpet.  Some environments generate static, others don't.  It is however always a risk but the feeling that it is constantly necessary to hook yourself up to the GND's of the National Electricity Grid is a trifle excessive.  Once again, just use your common sense of what you know about the environment around you, touch a grounded device occasionally.  Oh by the way, the ST's motherboard was always sitting on a newspaper in those photos.

15. Credits
Alison Challis (techie_alison) of Cambridge UK - Author and tester of these procedures
Chris Swinson (Exxos) of somewhere in the UK - original developer of these procedures many years ago, his website is here; .  Chris has been my mentor here and has provided lots and lots of patience.
Peter Knoppers of Holland - kindly allowed permission to use his ramtest program.  It can be found here; .
Christopher Hicks of Cambridge UK - his 30-pin SIMM/SIPP hack helped immensely.  It can be seen here; .
Geir Øyvind Vælidalo of somewhere - his Atari Stacy 4Mb upgrade helped immensely.  It can be seen here; .
Kurt Sharp also gets a mention as he's been viewing the pictures of my upgrades with bundles of wire going everywhere and saying Ooh Ahh.  Most encouraging.  Kurt is in the process of developing a RAM test program so hopefully this will enter the public domain in months to come.
Alison Challis
July 2005