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
Drutt
Posts: 8
Joined: Sat Jan 05, 2019 12:23 pm

ZX+ lower ram diagnostic help

Post by Jayhay »

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
User avatar
1024MAK
Bugaboo
Posts: 3104
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 »

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
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
Jayhay
Drutt
Posts: 8
Joined: Sat Jan 05, 2019 12:23 pm

Re: ZX+ lower ram diagnostic help

Post by Jayhay »

Thanks Mark. I'll check the voltage today and see what might be going on!
Jayhay
Drutt
Posts: 8
Joined: Sat Jan 05, 2019 12:23 pm

Re: ZX+ lower ram diagnostic help

Post by Jayhay »

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
User avatar
1024MAK
Bugaboo
Posts: 3104
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 »

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
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
Jayhay
Drutt
Posts: 8
Joined: Sat Jan 05, 2019 12:23 pm

Re: ZX+ lower ram diagnostic help

Post by Jayhay »

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
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: ZX+ lower ram diagnostic help

Post by Ast A. Moore »

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 pmPressing 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.
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
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: ZX+ lower ram diagnostic help

Post by Ast A. Moore »

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).
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
Bugaboo
Posts: 3104
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 »

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
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
User avatar
1024MAK
Bugaboo
Posts: 3104
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 »

Watch also these videos (best if you use the 0.25x speed to slow them down)
https://youtu.be/kb_L97IoE9M

https://youtu.be/MtBoRp_cSxQ

https://youtu.be/CuoxxE4KUOY

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
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
Jayhay
Drutt
Posts: 8
Joined: Sat Jan 05, 2019 12:23 pm

Re: ZX+ lower ram diagnostic help

Post by Jayhay »

Hi guys, again - thanks for all the help.

So I replaced IC11 and it's done something!

Image

The vertical red lines against black are gone and instead we have this pink striping thing! You can see the copyright message, though and it responds to key presses, though it's not clear.

Here is a video of it in action and me pressing the reset button:
https://drive.google.com/file/d/1kQD7fl ... p=drivesdk

We're getting there! Does this make a diagnosis any easier? Thanks again guys, loving this repair process!
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: ZX+ lower ram diagnostic help

Post by Ast A. Moore »

This is interesting. So Bit 5 is now good, and the computer passes the boot test. Moreover, the length of the test suggests that it sees all 48K of RAM (although, it doesn’t mean that the RAM is not faulty).

The magenta stripes still throw me back to my original suspicion that something is not quite right with contention or the ULA itself. However, the video output is perfectly clean for the most part of the boot test. The only related instruction I can think of is IM 1, which occurs not long before the screen is cleared and the copyright messages is displayed. I wonder if changing it back to IM 0 will have any effect.

Here are a couple of simple things you could do and observe and describe (or, better yet, take a video of) the results.

1. Enter and execute the NEW command after a reset. Simply hit the A key and then press ENTER.


2. This is a little more convoluted, but would be helpful as well. You’ll need to enter the following short BASIC program. I realize that entering text is difficult, because you can hardly see anything, but I’ll help you with the appropriate keypresses.

Code: Select all

10 POKE 40000,237
20 POKE 40001,70
30 POKE 40002,243
40 POKE 40003,201
50 RANDOMIZE USR 4e4
Typing this on a Plus keyboard should be pretty straight forward. The POKE keyword is the O key, RANDOMIZE is T, and to type the USR keyword, you press EXTENDED MODE, release it and type L.

The last line could be entered directly at the command prompt without the line number. It will execute as soon as you press ENTER

3. A variation of the above:

Code: Select all

10 POKE 40000,237
20 POKE 40001,70
30 POKE 40003,201
40 RANDOMIZE USR 4e4
This should bring you back to BASIC.

I wonder why the stripes are purple and not black/gray. Contention might cause the ULA snow, but why would the ULA read an attribute value that is not present anywhere in screen memory is still a mystery to me.
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.
Jayhay
Drutt
Posts: 8
Joined: Sat Jan 05, 2019 12:23 pm

Re: ZX+ lower ram diagnostic help

Post by Jayhay »

Hey there, thanks for the reply.

So, here is what happens when do the "new" command:
https://drive.google.com/file/d/12Jdy4C ... p=drivesdk

Then I get screens like this after every reset:
Image

But if i disconnect the power, I can get back to distorted copyright screen.

Here are 2 examples of me trying to type the basic code in:
https://drive.google.com/file/d/11YM2hr ... p=drivesdk

https://drive.google.com/file/d/1UHjh5v ... p=drivesdk

It doesn't seem to reliably reset either. Just goes to a black screen.

Here is something else:
Image

The case says 9v DC but the psu gives me 12v DC. It is a spectrum psu.

Its very strange, I hope it's not dead.

Thanks again for any and all help!
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: ZX+ lower ram diagnostic help

Post by Ast A. Moore »

The Spectrum PSU is unregulated. It outputs anything from 11 to 14V (or thereabouts). When loaded, its output will reduce somewhat. There’s a 7805 voltage regulator inside the Speccy that will bring the input voltage down to 5V, dissipating the rest as heat. Ideally, you’ll want to replace the PSU with a modern switch-mode regulated power supply, but for the time being, that’s not an issue.

It seems like your RAM issues are’t over yet. The odd part is that it looks like it’s still Bit 5 that gets intermittently stuck high (white paper is 00111xxx, while magenta is 00011xxx). Something must be pulling it high. Now, why the ULA is reading it only at certain times of the RAM test routine is still a mystery. Perhaps the issue is with one of the address multiplexors, as well.

We’ll start with the upper RAM chip that stores Bit 5, and that is IC20. Remove it and see what happens.
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
Bugaboo
Posts: 3104
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 »

Ast A. Moore wrote: Mon Jan 14, 2019 8:09 pm We’ll start with the upper RAM chip that stores Bit 5, and that is IC20. Remove it and see what happens.
Or use the disable upper RAM trick that I linked to in an earlier post ;-)

When fault finding, remember that all electronics are actually analogue. It’s just that in digital systems only two voltage ranges are regarded as valid. So if the voltage on the data bus is in the middle or near to a logic threshold, sometimes it may read high and sometimes it may read low...

Mark
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: ZX+ lower ram diagnostic help

Post by Ast A. Moore »

1024MAK wrote: Wed Jan 16, 2019 10:24 pm So if the voltage on the data bus is in the middle or near to a logic threshold, sometimes it may read high and sometimes it may read low...
It could be something more serious. If a RAM chip creates an intermittent dead short to either level, then simply disabling it may not clear the fault.
Since replacing the lower RAM IC storing Bit 5 moved things forward a little, it makes sense to suspect that another IC on the same data line went tits up at the same time (plus, it’s still the magenta paper that gets stuck intermittently). So, either the newly replaced IC 11 is also faulty, the upper RAM IC jams D5, a multiplexor has gone berserk, or the ULA is doing some weird stuff. (Oh, and, of course, it might be just the gremlins.) :)
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
Bugaboo
Posts: 3104
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 »

Ast A. Moore wrote: Wed Jan 16, 2019 11:36 pm It could be something more serious. If a RAM chip creates an intermittent dead short to either level, then simply disabling it may not clear the fault.
Yeah. But if the “upper” DRAM chips are soldered in, it’s worthwhile trying the disable trick, just to see if it does have any effect. Because if it does, it extends our knowledge of what may be happening.

If you have a spare known good ULA, it is also worthwhile swapping it around. Even better if you have another ZX Spectrum board with the same ULA so that you can try the suspect ULA in a known good working board. Or even in a another issue board.

Speaking of which Jayhay, what version ULA is in your board?

Mark
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: ZX+ lower ram diagnostic help

Post by Ast A. Moore »

1024MAK wrote: Thu Jan 17, 2019 7:37 am But if the “upper” DRAM chips are soldered in, it’s worthwhile trying the disable trick, just to see if it does have any effect. Because if it does, it extends our knowledge of what may be happening.
True, but hey, it’s a DIP 16 package. A minute of quality time with a solder sucker and you’re good. ;)
1024MAK wrote: Thu Jan 17, 2019 7:37 amSpeaking of which Jayhay, what version ULA is in your board?
As per his picture, it’s an E-7, which is correct for a 4S board (well, ULAs are downward compatible anyway). Speaking of boards, I just noticed it has a Zilog Z80. I thought 48K machines virtually never got a Zilog CPU. I wonder if this is a 4S thing.

Also, I think we need to tag [mention]Jayhay[/mention], if we want to draw his attention.

P.S. Oh, and I just remembered that the 4S board is more similar to a 3B than a 4A. It doesn’t use two spare inverters on IC24 for the ULA’s RAS signal, so IC24 can also be removed for testing.
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.
Jayhay
Drutt
Posts: 8
Joined: Sat Jan 05, 2019 12:23 pm

Re: ZX+ lower ram diagnostic help

Post by Jayhay »

Hey guys, thanks for the advice and feedback. I will try disabling first, then Desoldering. I just haven't had a chance to look at anything all week, it's been a busy one!
Jayhay
Drutt
Posts: 8
Joined: Sat Jan 05, 2019 12:23 pm

Re: ZX+ lower ram diagnostic help

Post by Jayhay »

Hi everyone,
Sorry for the long time before coming back - it's been a hell if a month.

Anyway - I tried disabling the upper ram by connecting pin 5 to the positive rail and powering up.

And it didn't start up at all. It just became completely unresponsive. Powering up didn't work, resetting, nothing. So I left it for 5 minutes and it started up again.

Tried again and it started fine, but didn't make any difference.

Again, sorry for the delay and I really appreciate any thoughts...
User avatar
Muttley Black
Microbot
Posts: 119
Joined: Wed Apr 03, 2019 3:31 pm

Re: ZX+ lower ram diagnostic help

Post by Muttley Black »

I have about the same problem with [mention]Jayhay[/mention], in issue 3B *modified* board.

I have replaced all capacitors, the transistors TR4 /TR5, the D12 *(r79)* 2k2 was burned so i put new one, i swap ULA / CPU /ROM from a working board, but not any change on the screen. Both lower and upper ram was tested on andruino tester. Voltages (-5,+12,+5,gnd) are ok. All six 74LSxxx are tested on IC tester and they are in working order. The only thing that i am afraid and i going to try it, is to replace the sockets with turned pin ones, cause i am sensing loose connectivity in some upper ram ICs.

Tip that [mention]1024MAK[/mention] post with +5 volts on pin5 of 74ls32n do be able to start the zx in 16k mod also didn't post something new on the screen.


Image Image

I am keeping my fingers crossed for succeed repair! :lol:
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: ZX+ lower ram diagnostic help

Post by Ast A. Moore »

Remove all upper RAM ICs and retest. Then, with the upper RAM ICs still removed, try swapping the lower RAM ICs around and test again. See if that makes any difference.
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
Bugaboo
Posts: 3104
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 »

I generally recommend that with threads where we are discussing repairs, that members start a new thread rather than add to an existing thread. Having a separate threat saves any confusion as people try to help, but get confused over who is reporting what with which board / machine.

If a common issue is later found, then a link or links can always be added to point to other relevant threads or posts.

With all these tricky faults, it is also helpful if the member also states what test gear they have, or have access to.
Useful test gear includes (but is not limited to), decent digital multimeter, logic probe, logic analyser, oscilloscope.

Mark
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
User avatar
Muttley Black
Microbot
Posts: 119
Joined: Wed Apr 03, 2019 3:31 pm

Re: ZX+ lower ram diagnostic help

Post by Muttley Black »

i do that.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: ZX+ lower ram diagnostic help

Post by Ast A. Moore »

1024MAK wrote: Fri May 03, 2019 8:42 am I generally recommend that with threads where we are discussing repairs, that members start a new thread rather than add to an existing thread.
Seconded.
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.
Post Reply