Computers Overview
Commodore PET
Sinclair ZX80
Sinclair ZX81
BBC Micro
Sinclair Spectrum
Memotech MTX
    About
    Library
    Manuals
    Options
    Photos
    Projects
    Repairs
      FDX Power
      FDX Systems
      MTX Capacitors
      MTX Keyboard
      MTX Power
      MTX RAM
          Andy
          Dave
          Mark
          Martin
      MTX ROM
      MTX Speculator
      MTX VRAM
      MTX VRAM - 2
      Spare Parts
      Video Wall DDFS
    Software
    Tools
    User Groups
    Video Wall
Memotech CP/M
Atari ST
PDAs
DEC 3000 AXP
OpenVMS
Raspberry Pi

 

 
 
 

The Memotech MTX Series

Memotech MTX RAM Fault Diagnosis / Repair

Courtesy of Martin Allcorn

System Description : MTX 512 Serial No.?????, 4000-?? computer board with 32k DRAM chips.

Problem Description : Unbricking a brick

There have been a couple of failed attempts at upgrading an MTX500 (32kb) to an MTX512 (64kb) by removing the 32k DRAMs and replacing them with 64kb ones. Both Andy (see here) and myself (see here) have tried, and failed, with this upgrade, but, other than poor workmanship, there does not seem to be any reason why an upgrade like this can't be done.

Martin Allcorn has recently (July 2014) managed to recover a faulty MTX500 and upgrade the memory to 64kb by doing just that.

It is encouraging that Martin has been successful in replacing the RAM and should give me the impetus to revisit my failed upgrade and see if I can recover the situation, Martin has kindly documented his MTX problems and fixes, it is posted here in the hope that others will find it useful - particularly if you have bodged a memory upgrade like me :-(

 

MTX500 to 512 memory upgrade and repairs

   -   the saga of the Bricked MTX

Background

Back in the 80's early 90's, I had an MTX500 that was upgraded to 64k and RS232 so I could run CP/M and the FDX. When the FDX died in the mid 90's, the MTX went to a family member for their children to play on. Eventually it went out of use and ended up in a loft.

After my Grandfather died, I inherited his MTX500, but that had no software. A few years back the upgraded MTX and one box of software was located and returned to me. However, when I went to try the software out, the expanded system would only work with the expansions removed.

At that point I decided to upgrade one of the 2 500's to 64k on the motherboard. I de-soldered all the RAM and the LS157 multiplexers. The idea was to use 2 32k Static RAMs and some HCT logic on a small daughterboard to make up the 64k RAM.

For whatever reason that didn't work, it looked ugly too. So I went to plan B and removed the PAL and ROMs and put all the memory on an external card. I worked around Memotech's paged ROM system by using a 128k flash chip divided into 8, 16k pages, with the OS ROM programmed into the lower half of each page.

The RAM was initially the 2, 32k static RAMs. That's the red function keyed MTX on the MAGROM development page. The red keys were to remind me which MTX needed the expansion card plugged in to work! The final version of that card has 4 RAM (2x 32k and 2 x 512k) and 1 ROM sockets and gave the system 784k RAM and 128k ROM. Obviously the card sticking up from the side like that wasn't a long term solution, but did lead indirectly to the development of MAGROM.

Initial Fault Diagnosis and Repair

At this point the MTX display started to distort and wobble after being on for a while, the same symptoms it had with the original 32k expansion board fitted. With a CMOS Z80 and CTC fitted things got better so I thought it may be a power related issue. I replaced the 5v and 12v regulators and both 4700uf capacitors which improved the situation, but didn't quite fix it.

The next step was a much simplified 64k only RAM card, but to return to using the original EPROMs, this particular MTX was factory modified to use 2564 EPROMs instead of mask ROMs, so there were some cut tracks and yellow wires to accommodate the different pin-outs.

Fault no. 1. occurred at this point, I managed to put the PAL back in the wrong way around and thoroughly cooked it. Since building the standard logic based expansion card, I'd acquired a more modern programmer as was able to program an ATF16v8 PLD to replace the PAL.

The true source of the power problem was revealed when I happened to touch the 10W resistor R62, it was HOT, indicating the real source of the power problem was the TIP 2955, which I'd not replaced when I did the regulators. It also explained why the CMOS CPU swap helped, as the reduced current consumed by that device reduced the rate at which R62 overheated.

Having replaced the TIP, all of the power related problems went away so fault no. 2 was fixed.

[See here for the diagnosis and repair if a similar TIP 2955 problem]

Memory Upgrade

Dave generously provided some 6164 DRAMs, so that I could install those on the board along with some new LS157 multiplexers and get rid of the expansion card. With a suitably programmed PLD replacing the dead PAL and the motherboard links set for 64k Drams, I put the ROMs back in their sockets, and got . . . . . . .

nothing!

just the black screen and hum of a bricked MTX.

A Z80 doesn't NEED RAM to work with so I wrote a custom ROM, based on some of the early MAGROM code, that initialised the VDP, turned the sound off and then displayed the results of some very basic tests of the RAM. With this fitted onto the expansion card, and using the new internal RAM it revealed that the visible 48k of the 64k of RAM was working and seemed reliable.

It's not possible to re-program the old TI 21v EPROMs with modern programmers, so I re-wired the ROM sockets to use modern EPROMs and put the 2864 EEPROM with the test program into the OS ROM socket and got the expected result. So I programmed 3 2864s with the full MTX ROM set and plugged them in, I had a working 64k MTX512. YAY!

. . . . . . . . . . .  for about 3 minutes until it crashed.

There then followed a couple of weeks experimenting with the timing chain.

Part of the RAS/CAS timing for the dynamic RAM goes through the PAL and part through the on-board LS logic. As the PLD I was using in place of the PAL has a much faster response time typically 3ns (and 15ns worst case) instead of the original device's 25/35ns, I thought there may be a RAM timing issue.

The RAS delay is fixed as it is MREQ delayed by being passed through 2 LS04 inverters. In generating CAS, MREQ goes through the PAL, 2 inverters and then a resistor-capacitor delay at R14/C6 before the multiplexers are switched and then a further delay with R15/C5 and 2 more inversions before CAS is generated. I was hoping that increasing the resistor/capacitor delay at R14/C6 I could restore the original timings. The theory being increasing that delay by 20ns would restore the timings to their original values.

I tried numerous variations, based on some formulae found on the net, and some additional values Dave came up with when he ran the timing chain through SPICE. Sometimes it would work for an hour or more, on other it would need 3 or 4 resets to even start. But I never found a stable solution. So eventually gave up and put the original value parts back, as there had to be another problem.

As part of the MTX+ project Dave and I have built diagnostics cards to enable the status of the system to be seen in the event of problems. So I put together a small adaptor board to enable me to connect the MTX+ diagnostics board to the MTX500. I also made a 2Hz clock to fit in place of the 74HC04 chip at 9D on the board enabling me to watch on the indicator lights each clock cycle as the system booted. ("Ready" would take around 2 days to come up at that rate).

[For details of the 2Hz clock, see Martin's post on Memorum]

That revealed fault no. 3 :  address line A7 was intermittently stuck high. A check of the circuit diagrams in the manual revealed that there are only a few places where A7 comes into contact with board components. The CPU and memory, and the I/O port decode logic.

I removed the socketed parts, (the Z80 and ROMs) and the RAM multiplexers, then tested with a multi-meter. A short was present, an indication that the I/O select could be the culprit.

In the I/O logic, A7 is connected to pin 13 of the 74LS27, the pin next to the 5v power supply. There were no visible external shorts, so I replaced the chip. The stuck A7 problem vanished. Fault no. 3 was fixed.

Since that chip is located on the MTX motherboard right next to the PAL it's possible that the chip had been damaged when I cooked the PAL in the socket next door.

Having fixed that, the diagnostics board was able reveal fault no. 4 : once the system was warm, A12 would start to stick high too. A12 is only connected to the Z80 and memory.

After much searching, I found that one of the tracks that had been cut in the factory to fit the original EPROMs was bridging when warm, there was probably a minute fleck of foil that I'd disturbed when I made the extra changes to fit the modern EPROMs.

However, having widened the cut the problem went away fault no. 4 was fixed. Since then there have been no further problems of any kind. (and I've done considerable amounts of MAGROM “testing” to make sure!)

 

A selection of photos from the process can be found on the Smörgåsbord photos page

 

The Moral of the story:

It IS possible to upgrade an MTX500 to 64k, it should only need new RAM chips and a new PAL/GAL/PLD and the motherboard links being correctly set.

Depending on the RAM it might need a timing chain modification, but with the chips Dave supplied that wasn't needed.

Cooking the PAL in the process is not to be advised.

 

 

 

mailto: Webmaster

 Terms & Conditions