Page 1 of 3

How to troubleshoot a Sinclair ZX16K RAM Issue 3

Posted: Thu Jul 01, 2021 4:43 am
by Sam-Can
I have a Sinclair ZX16K RAM Issue 3 that "doesn't work". When plugged in and powered up on an otherwise known working ZX81, it just sits there. When I remove the RAM and power up, K. I've put a scope on pretty much everything on the pack, and the only stuck line seems to be /CAS - it is jammed high-ish (3.5v). (Pin 15 on the ULA, and pin 15 on all the 4116s.) Everything else seems good, like as if the refreshing is working etc. A careful inspection of the board suggests that continuity is generally OK. One plan of action might be to remove the ULA and check it outside of the board. However none of the chips is socketed of course, so before I go pulling it out I was hoping an expert here might be able to mentor me through this please... thanks!

Re: How to troubleshoot a Sinclair ZX16K RAM Issue 3

Posted: Thu Jul 01, 2021 5:42 pm
by 1024MAK
/CAS will only go active if the RAM is accessed by the processor (either a read or a write). Unfortunately if there is no working RAM in the system, we don’t know what the processor will be doing, as that depends on what the fault is…. (the most likely result is that it will be processing garbage and hence be considered crashed). So it is perfectly possible that the processor will not be reading or writing to any part of the RAM.

Somewhere on here, a member worked out how to slightly modify a RAM pack, so that it could be mapped into a different part of the memory map. That then allows the ZX81 to run using its internal 1k bytes of RAM. Then from BASIC you can POKE values to the RAM pack and use PEEK to read values back. That may help to diagnose the problems with it.

I don’t remember which topic it was in, and trying to find the correct magical search term is tricky…

Mark

Re: How to troubleshoot a Sinclair ZX16K RAM Issue 3

Posted: Fri Jul 02, 2021 4:27 pm
by Sam-Can
I don’t remember which topic it was in, and trying to find the correct magical search term is tricky…
Tricky but not impossible when given a helpful hint, thanks Mark. Using this, and inspired by the internal 1K memory being addressed at $4000, I went with the terms "A14 memory" and landed on the thread "How is the onboard RAM deactivated" located at viewtopic.php?f=7&t=4237&p=43138&hilit= ... ory#p43138. Actually my story is not dis-similar to that of that OP :lol:

As Mark has said elsewhere, A14 is low for ROM (which is why $0000 so the Z80 can do its boot from 0 thing etc.) and high for RAM (which is why it starts at $4000): more in this thread: viewtopic.php?f=7&t=2614).

So one possible method would be to break the connection between /RAMCS' and +5V, thereby not letting the RAM pack over-ride the main board RAM. Fortunately "break" can be less destructive than breaking the PCB trace: perhaps removing the 2A spring leaf connector or putting some electrical tape over the PCB.

However this means that reading from and writing to $4000..$43FF will be effectively addressing both the internal 1K memory and the RAM pack memory. Anyone got any guidance as to how to more tidily get these two sets of memory to coexist please?

Re: How to troubleshoot a Sinclair ZX16K RAM Issue 3

Posted: Fri Jul 02, 2021 5:04 pm
by BarryN
Well, lets see, if you move A10 to A15 and then hold the A10 input to the ram pack high that should cause it to skip over addresses $4000 to $5000. That and disconnecting the RAM CS line MIGHT do it, effectively adding the internal 1k to the 16k ram pack for a total of 17k. If you have 2k internal ram you could do the same with A11 instead to cause it to skip over $4000 to $6000. This isa just off the top of my head, totally untested. I suppose you could make a PCB with a male and female connector that would sit between the computer and the RAM pack to do this.

Re: How to troubleshoot a Sinclair ZX16K RAM Issue 3

Posted: Fri Jul 02, 2021 5:30 pm
by citizenfish
Just out of interest. How do you know if it is working once plugged in?

Re: How to troubleshoot a Sinclair ZX16K RAM Issue 3

Posted: Fri Jul 02, 2021 5:51 pm
by 1024MAK
Decoupling the /RAMCS is not too difficult (tape over the edge-connector contact).

But remapping the RAM pack means swapping the signals around on two address lines.

Mark

Re: How to troubleshoot a Sinclair ZX16K RAM Issue 3

Posted: Fri Jul 02, 2021 6:09 pm
by 1024MAK
Okay, found the topics I was thinking of.

Have a read through of these topics:
Repairing Sinclair ZX81 16K RAM Expansion Packs

Especially this one:
Intermittent Memory Errors

Mark

Re: How to troubleshoot a Sinclair ZX16K RAM Issue 3

Posted: Fri Jul 02, 2021 6:22 pm
by 1024MAK
citizenfish wrote: Fri Jul 02, 2021 5:30 pm Just out of interest. How do you know if it is working once plugged in?
  • First, the K takes a bit longer to appear, as the ROM code works out how much RAM is apparently available.
  • Second, you can run this simple code:

    Code: Select all

    1 DIM A(3000)
    2 PRINT “OK”
    Although this does not fully test the RAM.
  • Third, “16k” games or programs will load and run…
Mark

Re: How to troubleshoot a Sinclair ZX16K RAM Issue 3

Posted: Fri Jul 02, 2021 6:27 pm
by Sam-Can
Thanks guys, I've got me some reading to do.

In the meantime, putting electrical tape over 2A (and of course checking for non-continuity prior to switching on) does successfully pass the K test. However there is not the 16K "delay" and the DIM(3000) program above gives me 4/10 i.e. it runs out of memory.

While I'm reading, for those interested in such things, my bench power supply advises me it's providing about 200mA more than the usual 450mA. And here are some regular/heat photos of:

the main board...
IMG_5959.jpg
20210702T121348.jpg
and the rear side of the RAM pack.
IMG_5961.jpg
20210702T121423.jpg
Spot the ULAs :lol:

Re: How to troubleshoot a Sinclair ZX16K RAM Issue 3

Posted: Fri Jul 02, 2021 7:24 pm
by Lardo Boffin
A thermal camera? It would be interesting to see what temp a standard zeddy ULA gets to after being inside a case for a hour (switched on and running! :lol: )