Computers Overview
Commodore PET
Sinclair ZX80
Sinclair ZX81
BBC Micro
Sinclair Spectrum
Memotech MTX
    About
    Library
    Manuals
    Options
    Photos
    Projects
      CFX
      Hardware Hacks
          New Keyboard
          NFX
          RAM Upgrade
          Video Upgrade
          VRAM Upgrade
      Legacy (1980s)
      MAGROM
      MTXPlus+
      PAL Reader
      PC Keyboard I/F
      Programmers
      ReMemotech
      ReMemorizer
      SDX
      SFX
    Repairs
    Software
    Tools
    User Groups
    Video Wall
Memotech CP/M
Atari ST
PDAs
DEC 3000 AXP
OpenVMS
Raspberry Pi

 

 
 
 

The Memotech MTX Series

MTX500 RAM Upgrade to 64k (MTX512)

 

 

I purchased a second "MTX512" from eBay, when the item arrived, it turned out to only have 32k of RAM. When I compared the internals of this machine to the MTX512 that I bought new, I found that my original MTX512 has the same 32k of RAM fitted to the main board, along with an expansion memory board soldered to the edge connector of the main board. As I understand it, some MTX512 machines had 64k of RAM fitted to the main board. Obviously, others, like mine, had the additional RAM installed on an expansion board.

Until recently, I believed that in order to upgrade my second machine to 64k of RAM, I would need to find and install a RAM expansion card as fitted to my original machine. Given, the age and scarcity of these machines, the likelihood of that was pretty remote.

However, in June 2012, I came across a "Memotech MTX500 Upgrade Kit" advertised on eBay. This kit consisted of 8x64kbit RAM chips along with a replacement address decoder that were intended to replace the corresponding chips on an MTX500. This page describes my experiences in attempting to install this "upgrade kit".

It should be noted that Memotech did not market component level upgrade kits for the MTX500, the basis for this upgrade is the reverse engineering and Memory Investigation done by Andy Key and posted on his website, together with an "MTX Upgrade Kit" purchased off eBay. If you're in a hurry, see below for the final outcome. - Updated 08/08/2014 - it now works!

18/06/2012 - Upgrade kit purchased

The upgrade kit consists of a set of DIL sockets and 64k RAM chips to replace the 32k memory chips which are soldered onto the motherboard at positions 2C to 5C and 2D to 5D. The original chips were 8, 32kx1 bit RAM chips, some may have had generic "4132" identifiers, but on both my machines, the chips are M3732L-20RS from OKI semiconductor.

In addition to installing the extra RAM, the address decoder chip on the motherboard must be upgraded to allow the system to see the additional RAM. Address decoding for the original machine was done by a PAL, programmable logic device, a Monolithic Memories PAL14L4 installed in position A6 on the main board. PALs are one-time programmable, modification of the logic requires replacement of the chip. This device is obsolete but can be replaced by an also obsolete, but available, Generic Array Logic device from  Lattice Semiconductor, a GAL16V8. GALs are much more flexible than PALs; they can replace many PAL devices and can be programmed, erased and reprogrammed multiple times. It is also worth noting how the name of the GAL conveys something of its capabilities, in this case :-

16 Inputs (max)

V  Electrically Erasable CMOS, i.e, Variable output configuration

8   Outputs (max)

The programming controls how this number of signals can be configured on a 20 pin IC.

This article provides a good introduction to the use of GALs in hobbyist projects.

Andy's site describes the required logic changes to the address decoder.

29/06/2012 - Preparation

As the existing RAM chips are soldered into the motherboard, removal is not particularly easy if your soldering skills are not of the top order - mine aren't! Without specialist equipment, or at least an IC de-soldering tip, removing the existing RAM chips without damaging the circuit board or the RAM chips is a challenge. To reduce the risk of damage to board, it is probably better to accept that the RAM chips are not going to be salvageable and remove the chip by first snipping the legs. The legs can then be des-soldered, removed and the holes cleaned up one at at time. This will limit the amount of heat that is applied to the board and consequently, the risk of damage.

The next question is whether you want the upgrade to be reversible. It is likely that the 64k RAM chips would work in 32k mode if they were installed in the board and the PAL not updated. However, I decided that I wanted the flexibility to completely back out of the upgrade. This meant that I needed to source replacement 32k RAM. These chips are obsolete too and as far as I can see, there is nowhere in the UK to obtain them in reasonable (low) quantities. They are still available from component warehouses in China, at this point, I am waiting for quotes for the supply of replacement RAM. I won't be butchering the board until I have these in my hands!

The PAL, at least in my machines, is in a DIL socket so can easily be removed & replaced. The difficulty there is programming the replacement chip to correctly decode the new RAM addresses. Due to the age of the replacement GALs, programming tools are no longer widely available.

Monolithic Memories (who you'll recall from above), developed and distributed a PAL ASseMbler, cunningly called PALASM. It takes boolean expressions and converts them to fuse maps which were used to program the PAL by burning the appropriate "fuses". (This diagram provides an indication of how breaking these fusible links can modify the logic circuit). After AMD purchased Monolithic Memories, PALASM 4 Version 1.5 was released into the public domain and is available for download here:-

Disk 1 (pending)
Disk 2 (pending)
Disk 3 (pending)

(These files were downloaded from the University of Kentucky engineering web site which also hosts a number of patches etc. for specific devices not applicable to this project. Alternatively, the files are also available from Flavio Fontanelli's site - Italian.)

PALASM Installation instructions, taken from what looks like an AMD Technical Note, are here.

The included manual is for MACHXL 2.1, but it can be used to learn PALASM PDS syntax.

Andy's research also uncovered the required PALASM source code required to program the GAL16V8. This information comes from the "Memotech MTX Series Basic Tutor, Reference & Operators Manual" - the relevant code segments can be found on the pages of Andy's site here.

PALASM in a DOS application which does not appear to run in a DOS box under either WindowsXP or Windows 7.

The other options that I have found for programming GALs are :-

"ispLever Classic" from Lattice Semiconductor, and

"WinCupl" from Atmel Corporation

Both of these applications are available for download once you register on the respective website, an e-mail will be returned with a serial number or license file. I have tried ispLever and it looks capable of programming a GAL16V8D, well, it would do, if I had any idea of how to do it!

I think that the most likely option for me is to dig out an old PC and run PALASM under DOS - or find someone kind enough to blow a new GAL for me, you know who you are :-)

(Update, I am "playing" with ispLever and found this tutorial which gives some handy hints on how to use the program to produce JEDEC files for the GAL programmer. I'm hoping that armed with this knowledge, I'll be able to produce the required JEDEC file myself.)

01/07/2012 - Progress : a team effort

Andy has updated his site in the light of his experiences. In short, PALASM does not seem to be a viable option for programming the GAL16V8. Andy has used the National Semiconductor, Opal Jr. package to program a GAL for me. I believe that ispLever will do the job though, but thanks to Andy, I don't need to worry about the programming part.

 

23/07/2012 - Let's make a start - there's no going back from this point !

The system board is secured in the case with a single screw through the base into the heatsink on the board. The heatsink extends beyond the rear of the board into the plastic moulding. Once the screw is removed, the board and plastic panel at the rear of the case can be slid out from the base to release the board. Although not required, I chose to remove the video board before I worked on the RAM.

Given the age of the board and my less than impressive skills with a soldering iron, as I mentioned earlier, I chose to sacrifice the existing RAM chips.

The RAM chips are located behind the cassette "Mic" & "Ear" sockets at positions 2C to 5C and 2D to 5D.

The first step was to use a pair of fine nosed side cutters to snip the legs off the 32k RAM chips, taking care not to damage the PCB tracks while doing so!

The photo shows the legs snipped on the top side of the chips.

Once the other row of legs have been snipped, then the RAM chips can be removed from the board.

The photo shows the RAM chips removed and the legs still soldered to the board.

(As an aside, if the chips in those positions had been 4164 RAM chips, none of this would have been necessary!)

 

Once the chips have been removed, it is fairly easy to remove the legs from the IC pin holes using a micro tip soldering iron. Apply just enough heat to melt the solder then "flip" the legs out one at a time using the tip of the iron and a pair of fine nose pliers if required (the holes will close over as the solder sets).

 

Once the 8 RAM chips have been removed, the chip mounting holes can be cleaned up. It is probably counter intuitive, but applying a little more solder to the holes will make clearing them easier, so apply a little solder to reverse side of each pin hole. The solder can then be removed by reheating them and using a solder "sucker" to remove the solder and leave an open hole for the new IC socket.
Underside of the system board with the RAM removed and the holes cleaned up.

Check both sides of the board and make sure that there are no remnants of solder bridging any connections that they shouldn't.

 

OK, that's the hard work done (I hope!).

The next step is to solder in the sockets for the new RAM.

 

After a bit of a delay, the shiny new 16 pin DIL sockets are installed in place of the old RAM.

 

Ready to install the new RAM chips.

New 64Kx1 RAM chips installed in the new sockets.

Ready for testing . . . . .

 

But . . . . .

 

15/08/2012 - Upgrade Failed

The new sockets have been soldered in and the replacement RAM chips fitted - however, the current status is that the machine does not work :-( The initial symptoms were that when the machine was powered on, the screen had an apparently normal blue background, but no text was displayed and the speaker emitted a continuous low frequency tone. Resetting or powering off/on the machine had no effect on this behaviour on restart.

My initial thoughts were that I probably had a short or dry joint somewhere around the newly soldered IC sockets. On close inspection with a lamp and magnifying glass, no problems were evident, but I cleaned off an excess of residual flux and may have coincidentally corrected a tiny short between a couple of pins. In any event, the symptoms changed slightly, the machine now showed a completely blank (black) screen  with the same continuous tone from the sound chip. The upgrade kit included a couple of spare RAM chips and I tried swapping out pairs of RAM chips in turn, in case there was a bad chip installed, but this had no effect on the fault.

This symptoms, both initially, and after cleaning up the new IC socket soldering, were identical to those seen by Andy Key. This is an unlikely coincidence and I therefore believe that the RAM upgrade kit either has a fundamental flaw in its design, or a number of the RAM chips in the supplied kits were faulty. [Update : This was not true - see below]

The only possibility for reviving the machine would appear to be the new Memory Card being developed by Andy.

 

23/10/2012 - The Interim Solution

I received a MTX Memory Card today from Andy Key, removed the 8x64k RAM chips from the new sockets, connected the new RAM card and powered on the machine - result : the system works again with 64kB of memory available to Basic programs etc. 

Thanks Andy - it is a great relief that I have not "bricked" the MTX with my attempted RAM upgrade.

Here it is :-

 

a memory upgrade for

 the MTX that works!

 

This is Andy's prototype board, with a single edge connector for fitting inside the MTX case.

 

I still hope to get an FDX unit working again. If I can do that, I will need to connect the RS232 board internally, and as the memory card does not have an edge connector to support "pass through" of the bus, I would need to move the memory card to the other edge of the motherboard, outside the case. This would require another edge connector on the board. This is my memory card with 2 edge connectors.
 

Here it is, the new memory card installed in my pseudo MTX512.

Executing "PRINT PEEK(64122)", returns "1", confirming that there are 2x32K (0+1) pages of RAM visible to BASIC. (An MTX500 would return "0", for 1 page installed).

 

 

06/08/2014 - The Final Final Outcome

Doesn't time fly? Almost 2 years later and I have just revisited my failed memory upgrade. Spurred on by Martin Allcorn's successful RAM upgrade, using some of the 64K RAM chips that I had previously tried, I have taken another look at my "upgraded" board and have found the (self-induced) fault.

I don't know how I missed it previously, but I found that there was a lack of continuity between pin 12 on all of the RAM sockets, this pin is the A3 address line and should be connected to all of the RAM chips, I found that the sockets in positions C2, C3, C4, C5 and D5 were connected, as were sockets D2, D3 and D4, however, there was a lack of continuity between these two sets of sockets at D4/D5.

The A3 connection between sockets D4 and D5 is on the component side of the board, and largely invisible once the sockets are mounted.

As it turns out, although my earlier photos did not highlight a problem, as you can see, the connection at D4 is definitely suspect.

Knowing where to look, it is possible that the photo shows the track has separated from the through-hole pad at pin 12 of D4

I was loath to try removing the socket and trying again, instead, in true Memotech tradition, I added a yellow wire to the solder side of the board, linking D4 and D5.

Lo and behold - it fixed it!

I didn't take a photo of the solder side of the board before I reassembled the computer, I'll take one the next time I have the computer board out of the case - if I ever need to.

With the original PAL still in place, the MTX is configured to have 32K of RAM.

As expected, the additional 32K is not visible and "PRINT PEEK(64122)" returns "0".

With the original PAL replaced by the one that Andy prepared for me, the full 64K of RAM is now visible.

"PRINT PEEK(64122)" returns "1".

RESULT ! - My "MTX512" that had 32K of RAM now has "what is says on the tin" - a full 64K of RAM.

 

"Lessons Learned"

  • It is possible to upgrade from a MTX500 to an MTX512 (or beyond)

  • You do not need an original Memotech RAM expansion card

  • You do not need to butcher the MTX500 circuit board

    • But if you do, thoroughly check the interconnects afterwards  

  • You could use the MTX Memory Card from Andy

  • Better still, just upgrade to   REMEMOrizer   !

 

< Back to Memory Repairs >

 

 

mailto: Webmaster

 Terms & Conditions