Repairing Sinclair ZX81 16K RAM Expansion Packs

Discussions about Sinclair ZX80 and ZX81 Hardware
Post Reply
User avatar
TMAOne
Posts: 212
Joined: Thu Aug 16, 2012 6:56 pm
Location: Waterloo, Ontario, Canada

Repairing Sinclair ZX81 16K RAM Expansion Packs

Post by TMAOne »

Hi all,

Someone asked for this in another thread. I think it should have its own.

I've had 5 or 6 of the little 16K ZX81 (or Timex 1016) RAM packs in my possession at one time or another, mainly because I didn't know how to repair them. Across the years would simply buy another as one of them failed. This frustrated me, as I would much rather expand my electronic skills to the digital realm and repair what's broken.

My tenacity (a nice word for stubbornness) and the great advice of the kind folks on SinclairZXWorld eventually won out, and I have successfully repaired 4 or 5 different packs now. I humbly offer the following consolidation of some of the advice I've received, as the starting point for the "guide" I always wished I'd had:


Step 0

Step 0 is re-seat the pack. It's "Step 0" not only because computer geeks love to start at zero when we count, but also because it's safe to assume you've already done it! Sinclair folk all know about the spookiness of their machines,...

More advanced things to try in this vein could be running a little sand paper against the fingers of the pack, or tinning the pads of the motherboard edge connector with a thin layer of solder, or both.


Step 1

Okay, the problem is real. Time to open it up. Check the stiff ribbon connector for connectivity between the two circuit boards. As you work through the other suggestions, you may have to come back to this step at some point, because bending the ribbon to work on the board stresses the connected ends. (I've got 3 packs where I've had to replace the ribbon wholesale with wires, a rather laborious detour.)


Step 2

A non-booting pack's problems can be divided into 3 categories:
  • - a failure in the voltage section
    - a failure of one or more of the 4116 (or equivalent) RAM chips
    - a failure in the logic section
I personally have never seen a failure in the logic section. The problems always seem to be on the "other" circuit board.

In case you missed it, that was the "good news". The "bad news" is that IF you have the first problem, chances are good you also have the second problem as well. The 4116 is very easy to kill with bad voltages.

So the first thing to do is check the supply voltages to the 4116's. With respect to the ground pin 16, they should be:

Pin 1, -5V

Pin 8, +12V

Pin 9, +5V

All good? Congratulations. Skip to Step 4.


Step 3

Oh bad luck. It's pins 1 and 8, right? (+5 on pin 9 is the supply voltage from the 7805 on the mother--if you've got problems there go back to Step 0!)

Test and/or replace components of the supply voltages section with the following suggested order:

1) The transistor. Don't worry about an exact replacement for the hard-to-find ZTX750. You need a PNP power transistor. In a pinch you can use just about any PNP transistor experimentally--just don't expect it to last. (A good friend of mine suggested I socket the 3 holes so I could swap it out at will. Thanks Ed in S.Dak.)

2) The electrolytic capacitors. We all know about these caps over time.

3) The larger blocking diodes. The fancy bulbous BA221 may look esoteric but it can be replaced with a common diode like another IN4002 or whatever you have in your junk tray.

4) The zener diodes.

5) The 4148 diodes.

If all of that fails you may have a short somewhere. Check your work. All good? Maybe the short is in one of the 4116's. Fall thru to Step 4, and test voltages again after removing every RAM chip.


Step 4

Chances are wonderful you have one or more bad 4116's. Replacements are drying up but are still available. A great many computers of the day used these chips, so if you have a scrapped TI-99/4A or Apple II lying about, you can harvest a ready supply. Shame about the dead Apple, but hey, we're Sinclair right?

Okay this is the tedious part. Unsolder the 8 chips one at a time and pry them out as gently as possible. It may well be that 7 of them are still good.

IF--and only if--your voltages are good, you can process chips one at a time as follows:
  • - extract a chip
    - install a socket
    - place a known good 4116 in the socket
    - test the pack function again
If you have had BAD voltages, extract all 8 chips, then return to Step 3. With a bare board or only empty sockets, you should be able to get the right voltages.

Either way, check your work for broken traces or shorts. It is easy to create either one while un-soldering the stubborn chips and prying them out.

Your pack should be working by the time you've replaced all 8 chips.
ZX81.h2.gif
RAM pack schematic
(198.04 KiB) Downloaded 1401 times
Other notes:

I have had a ULA fail in the following manner: It works fine on a 2K Timex motherboard, but fails to boot when asked to work with any working 16K pack. (I can't tell you how long it took me to figure THAT one out,...)

I have had cobbled-together mixtures of different "sets" of 4116's work fine, usually in fact, but also experienced scenarios where a particular combination of 8 "good" chips refuse to work with each other. Go figure.

Be sure to use sockets--they're cheap. Once repaired with even a single socketed chip, that RAM pack becomes a "4116 Chip Tester". Handy to have.

Finally, if the problem you have is intermittent, i.e. your RAM pack boots but you subsequently experience pesky errors that seem to be bad memory, try the following little program (attached):

10 FAST
20 LET F=40
30 LET LO=0
40 LET HI=255
50 FOR I=1 TO 20
60 FOR J=(PEEK 16412+256*PEEK 16413+F) TO (PEEK 16388+256*PEEK 16389-F)
70 POKE J,LO
80 LET TLO=PEEK J
90 POKE J,HI
100 LET THI=PEEK J
110 IF TLO=LO AND THI=HI THEN GOTO 130
120 PRINT J;TAB 10;LO;TAB 15;TLO;TAB 20;HI;TAB 25;THI
130 NEXT J
140 PRINT "PASS ";I
150 NEXT I

This may produce results in pairs like 8 instead of 0, and/or 247 instead of 255. That combination would indicate that the D3 chip is the one losing its marbles.

Each 16K x 1 bit chip in the set of 8 is responsible for 1 bit of every byte in the system. The example error is 8 either way, and since 2**3=8, "Data 3" is the chip in error.

Now just use the following map to replace ONLY the chip causing the trouble!
Bits Identified.jpg
Which chip is which bit.
(214.08 KiB) Downloaded 1401 times
Cheers,
TMA-1
Attachments
RAMTEST2.P
Quick & dirty "memory march" algorithm
(1.28 KiB) Downloaded 354 times
Kiwisek
Posts: 39
Joined: Sun Mar 13, 2011 6:09 pm
Contact:

Re: Repairing Sinclair ZX81 16K RAM Expansion Packs

Post by Kiwisek »

Nice article.

There is also very nice RAM test written byt Louis Seidelmann. It does not need a functional RAM to run at all. Just burn it to the EEPROM (2532 or 68764 or similar). Some info here http://www.8bity.cz/2013/sinclair-zx80-ram-test/ (sorry in Czech only, try to use translate icon in upper right corner) and download here http://www.8bity.cz/files/ZX80/LouisSei ... Mtest3.zip.

Regards
User avatar
TMAOne
Posts: 212
Joined: Thu Aug 16, 2012 6:56 pm
Location: Waterloo, Ontario, Canada

Re: Repairing Sinclair ZX81 16K RAM Expansion Packs

Post by TMAOne »

Just burn it to the EEPROM
What a great idea!

PokeMon and I had a similar one--use a bank switching circuit and the native 1K (ZX81) or 2K (TS1000) RAM to run the program, opening up the entire 16K to be available for testing. See that (rather lengthy) thread here: viewtopic.php?f=7&t=923 This circuit (diagram attached) can be used to shorten Step 4, if you have good voltages.

I should also mention that expanding the native motherboard memory with the ZX-TEAM modification is generally much easier and more reliable than fixing your 16K RAM pack. But for those who like to keep things original, or who just can't stand something staying broken, I wish the best of luck.

Ian
Attachments
CHIPTEST.P
"March algorithm" for modified RAM pack
(1.25 KiB) Downloaded 296 times
ZX81MEM1 - Project.pdf
PokeMon's circuit
(12.75 KiB) Downloaded 411 times
User avatar
Andy Rea
Posts: 1606
Joined: Fri May 09, 2008 2:48 pm
Location: Planet Earth
Contact:

Re: Repairing Sinclair ZX81 16K RAM Expansion Packs

Post by Andy Rea »

Good work guys, i might sit down one day and have a fiddle with me bits...

n' bytes :lol:

Andy
what's that Smell.... smells like fresh flux and solder fumes...
Jamtex
Posts: 7
Joined: Mon Apr 09, 2012 3:21 am

Re: Repairing Sinclair ZX81 16K RAM Expansion Packs

Post by Jamtex »

The AM9016 and 4116 (and MM5290) chips tends to be unreliable due to the 3 voltage set up. the old Williams arcade games (like Defender) used these chips and most repair guides they replace the 4116 chips with 4164s mainly as 4116s fail to often.

By getting rid of the 9V input and desoldering all the parts that made up the -5V and 12V circuit (coils, transistors, diodes, etc) then you can use 4164 chips which probably wont need to need replacing ever. You will get 16K as the other pins wont be wired up.

although I have several tubes of AM9016 / MM5290 / 4116 chips from said board replacements if anyone wants to make an offer.
User avatar
1024MAK
Posts: 5118
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: Repairing Sinclair ZX81 16K RAM Expansion Packs

Post by 1024MAK »

Sinclair 16K RAM pack Issue 3 (single PCB type)

I don't have a photo showing the layout of the DRAM chips, but I can give you a list:

Code: Select all

Data  IC
Bit
--------
D0    5
D1    8
D2    4
D3    2
D4    1
D5    7
D6    3
D7    6
Some of the IC identity markings are hard to see on the PCB :( .
With the edge connector at the bottom and pointing way from you, looking at the side of the board that has the chips on, IC1 is top left, then left to right: IC2, IC3, IC4, IC5 and then top right IC6.
Bottom row, again left to right: IC9 (74LS157), IC10 (ULA), IC7 and IC8.

Some more information (including a partial schematic) here.

I hope this helps :mrgreen:

Mark

PS - disclaimer - the above information was obtained by me by reverse engineering a specimen board way back in 2012 that has a fault. I believe that the information is correct, but what I believe and what is fact is up to others to prove :lol:
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
Post Reply