ZX+ lower ram diagnostic help

For experts to discuss very technical stuff and newbies to ask why the Spectrum they bought off ebay doesn't work.
Jayhay
Berk
Posts: 8
Joined: Sat Jan 05, 2019 12:23 pm

ZX+ lower ram diagnostic help

Post by Jayhay » Sat Jan 05, 2019 12:47 pm

Hello everyone. I was given a ZX+ for Christmas which worked for a little while, managed to get a few round of Jet Set Willy and Dizzy in before it just crapped out on me. See the image for the issue I'm having.
I've looked around online and discovered that it could be a lower ram issue. Im a competent electronics hobbyist and have replaced the two ram chips that appeared to be causing the issue, which I used the 'piggyback' technique to diagnose, but I'm still getting the same issue.
Ive now been looking through posts on here and discovered that's not necessarily the best way to diagnose the issue!

Can someone help me out by perhaps talking me through what I need to check? I've looked at the 4116 pinouts to see what pins are the 5v and 12v lines, so I guess I should check that out. Is there anything else I can do? I have 3 more spare ram chips but I can't really afford to invest in more hardware like rom testers etc...

Thanks in advance!

Image
0 x

User avatar
1024MAK
Manic Miner
Posts: 450
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: ZX+ lower ram diagnostic help

Post by 1024MAK » Sat Jan 05, 2019 9:00 pm

4116 DRAM chips NEED three supply voltages plus a 0V/GND. The most important supply is the -5V bias supply.
So use a digital multimeter to confirm that ALL three supplies are okay. If any are out of specification, switch off at once. A missing -5V is known to cause damage to any remaining good 4116 DRAM chips.

-5V should be within +/-10%, but on earlier issue boards between -4V and -5V is acceptable.
+5V should be within +/-5% (often a lot better depending on which 7805 regulator was used)
+12V should be within +/-10%

If any are low, then there is a problem. Often the -5V is near 0V and the +12V is between 10V and 11V. If this is the case, then transistor TR4 and / or TR5 have failed. Possibly due to the edge-connector being abused (expansion removed or fitted while the system is powered up) or due to a failed 4116 DRAM chip shorting out or overloading either the +12V or the -5V supplies.

If you have to renew either TR4 or TR5, test again the voltages when you switch on, while keeping an eye on the temperature of TR4. If either of the -5V or the +12V voltages are still incorrect, or TR4 gets hot, switch off at once. One (or more) of the 4116 DRAM chips is shorting out.

Mark
1 x

Jayhay
Berk
Posts: 8
Joined: Sat Jan 05, 2019 12:23 pm

Re: ZX+ lower ram diagnostic help

Post by Jayhay » Sun Jan 06, 2019 10:53 am

Thanks Mark. I'll check the voltage today and see what might be going on!
0 x

Jayhay
Berk
Posts: 8
Joined: Sat Jan 05, 2019 12:23 pm

Re: ZX+ lower ram diagnostic help

Post by Jayhay » Sun Jan 06, 2019 11:37 am

Hi again - thanks for the input. I've checked the voltage lines.

All -5v pins are reading -4.86v which seems within range.
All +5v pins are reading +4.94v
All +12v pins are reading +11.82v

The voltages are all stable, with none of the chips running hotter than any others. In fact, no single component is running any hotter, apart from the 7805 but that's to be expected. It's not excessively warm and the heatsink is doing its job just fine...

Any ideas on what I can do next? Thanks again!

Joe
0 x

User avatar
1024MAK
Manic Miner
Posts: 450
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: ZX+ lower ram diagnostic help

Post by 1024MAK » Mon Jan 07, 2019 12:33 pm

Yes, those voltages are fine :D

So the next step depends on a number of things. Apart from a multimeter, do you have, or have access to any other test gear?

Which chips are socketed in your machine? Which issue PCB is it? [Printed in white or yellow text near the front edge of the board].

When powering up, is the displayed image always the same, or is it a different random “pattern” each time? Power it up at least five or six times to see. Pay particular attention to the colour of the border, as this helps tell us a bit more. If possible use a TV / display that either keeps showing static / blank screen with no input signal, or one which is very fast to respond to an input signal, so that you can watch from the moment of powering the Spectrum.

When powered up (assuming this is a ZX Spectrum+ ), does pressing the reset button produce and change on screen?

I assume from your first post, that you don’t have another ZX Spectrum. Do you have any other 8 bit computers?

What level are you soldering skills?

Do you have, or have access to an EPROM/EEPROM programmer?

Mark
0 x

Jayhay
Berk
Posts: 8
Joined: Sat Jan 05, 2019 12:23 pm

Re: ZX+ lower ram diagnostic help

Post by Jayhay » Sat Jan 12, 2019 1:45 pm

Hi Mark
I've checked everything over again.
The board is a 1983 issue 4s.
Unfortunately I don't have any test gear but I can probably knock together an oscilloscope or something.

When powering up, it's identical every time. Border is white, and the screen is black with alternating solid and dashed thin red lines. You can see from the earlier image that there is also a bit of green in the top left, this is blinking like a cursor, but not all of it. It's kinda messy.

Pressing reset doesn't really do anything. It flickers slightly and the green bit sort of 'resets' but it doesn't appear to flicker and run the boot tests like it did previously. The red lines persist. But I'm no expert.

You can see in this photo which chips are socketed now, but this has had no effect.

I don't have an eeprom programmer but I can probably track one down given some time. My soldering skills are intermediate to good. I'm very confident with through-hole but my hand isn't steady enough for Surface Mount.

Again, thanks for the input. I really appreciate it.
Joe

Image
0 x

User avatar
Ast A. Moore
Dynamite Dan
Posts: 1128
Joined: Mon Nov 13, 2017 3:16 pm

Re: ZX+ lower ram diagnostic help

Post by Ast A. Moore » Sat Jan 12, 2019 2:48 pm

Jayhay wrote:
Sat Jan 12, 2019 1:45 pm
Border is white
This is most likely a good sign. The instruction that set the border to white is the seventh instruction (including a jump) after a power-on/reset. So, at least the CPU can read instructions from ROM and execute them, and the ULA seems to be doing its job.
Jayhay wrote:
Sat Jan 12, 2019 1:45 pm
Pressing reset doesn't really do anything. It flickers slightly and the green bit sort of 'resets' but it doesn't appear to flicker and run the boot tests like it did previously. The red lines persist.
The read pattern and the presence of green makes at least some sense. The pattern seems to alternate between 0x2 and 0x22. The former being the expected value, the latter obviously being a RAM read error. The same erroneous value when applied to attributes would represent red ink on green paper. It’s unclear when the pattern appears—during the building of the vertical stripe pattern, or during the clearing. However, what I find more suspicious is that we don’t see attributes applied to 8x8 pixel squares (a ULA fault?).

The easiest suspect to test would be the lower RAM chip responsible for Bit 5. That’s IC11, if I’m not mistaken. Try replacing it or swapping it with another lower RAM chip.
1 x
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.

User avatar
Ast A. Moore
Dynamite Dan
Posts: 1128
Joined: Mon Nov 13, 2017 3:16 pm

Re: ZX+ lower ram diagnostic help

Post by Ast A. Moore » Sat Jan 12, 2019 3:11 pm

Another possibility would be either the NAND gate (IC24) or one of the multiplexors (IC3 and IC4) that are faulty. That, aside from a ULA fault, would more accurately explain the pattern shown in the first picture. However, either of them would have to fail in an unusual clock dependent way to fully explain the green strips (rather than squares).
1 x
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.

User avatar
1024MAK
Manic Miner
Posts: 450
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: ZX+ lower ram diagnostic help

Post by 1024MAK » Sat Jan 12, 2019 6:29 pm

As said above, the white border indicates that the Z80 CPU is able to run the code from the ROM, but is getting stuck during the memory check. So the problem is most likely to be faulty lower RAM.

Some “upper” RAM faults can also cause problems. Although a lot of the time, a Spectrum will fail the “upper” RAM and it will start up and operate as a 16k byte machine.

To disable the "upper" 32k of RAM, (so attempt to eliminate this as the problem) take a piece of wire and connect pin 5 on IC23 (a 74LS32) to +5V. (link).

I suggest you make a temporary solder connection with an SPST on/off switch in series. Start with the switch set to on. Then if you get to the copyright screen and BASIC works, after that, you can turn the switch off so that some simple BASIC commands can access and therefore test the upper RAM.

This is done because the ROM code tries to see how much RAM there is at start-up. After this, the BASIC ROM will ignore any RAM that is not present (or in this case, is disabled)(well, unless you reset the limits using CLEAR n). But the BASIC POKE and PEEK commands have no limits and work across the whole Z80 address range.

Double and triple check that you have the correct pin on the correct chip, or you WILL damage something. This temporary modification will disable the "upper" RAM (when the switch is ON), as the CAS signal won't reach the RAM chips.

Note that if a faulty DRAM IC is jamming one of the data lines, this won't really help.

Mark
1 x

User avatar
1024MAK
Manic Miner
Posts: 450
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: ZX+ lower ram diagnostic help

Post by 1024MAK » Sat Jan 12, 2019 6:57 pm

Watch also these videos (best if you use the 0.25x speed to slow them down)






Notice that the effect on emulators is different to that of a real machine. Emulators don’t emulate the screen of flashing colours at power on.

Now, this all happens very fast...
First, when powered on, the screen is full of flashing colours (as the screen area in the “lower” RAM, the 4116 or equivalent chips).
Then the code in the ROM writes zero to every location in RAM, this causes the screen to go black (apart from the border). As the code in ROM does it’s RAM check, you will see vertical red stripes on the screen.
Then after the RAM check, the code in ROM clears the screen to white, and then prints the copyright message.

Mark
1 x

Post Reply