broken 48K issue 2

For experts to discuss very technical stuff and newbies to ask why the Spectrum they bought off ebay doesn't work.
Post Reply
Wolfgang
Drutt
Posts: 13
Joined: Mon Jul 22, 2019 5:41 pm

broken 48K issue 2

Post by Wolfgang »

Hi,

my first posting here is already a request for help, sorry. :roll:
I got a 48k issue 2 that had a faulty TR4 (ZTX650) which I replaced with a 2N3904 that I had here.
After checking the voltages at the 4116s look okay, but it does not boot to the logo. Instead I get black and yelow bars on the screen.

https://photos.app.goo.gl/3ja79qp3qv9Dpu8i8

Any clues what I should check next? Can I somehow disable the upper ram to rule those out? The lower ram is in sockets, I could cross check those in another Spectrum.

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

Re: broken 48K issue 2

Post by Ast A. Moore »

A black border, too, huh? Then RAM doesn’t seem to be your problem. Or, rather, there are more problems. The CPU doesn’t seem to be executing instructions from the ROM, or the ROM doesn’t put them on the data line. I’d do a ROM swap, then a CPU swap with known good chips.
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.
Wolfgang
Drutt
Posts: 13
Joined: Mon Jul 22, 2019 5:41 pm

Re: broken 48K issue 2

Post by Wolfgang »

Thanks, I will try this. I forgot to mention that the ULA is fine. I tested it in a working model.
User avatar
1024MAK
Bugaboo
Posts: 3104
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: broken 48K issue 2

Post by 1024MAK »

To disable the "upper" 32k of RAM, 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.

The border being black is not a good sign. Is it black EVERY time you try it?

Also the 2N3904 transistor you used in TR4 position may not last very long before failing. TR4 has to be a fast switching transistor, I recommend a new ZTX651 or a new ZTX653.

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.
Wolfgang
Drutt
Posts: 13
Joined: Mon Jul 22, 2019 5:41 pm

Re: broken 48K issue 2

Post by Wolfgang »

Can I just connect +5V to pin5 of IC23 without removing any connection?
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: broken 48K issue 2

Post by Ast A. Moore »

Wolfgang wrote: Tue Jul 23, 2019 8:43 am Can I just connect +5V to pin5 of IC23 without removing any connection?
Sure. You don’t need to break any other connections at this point. Just pull Pin 5 (one of the OR-gate inputs) high, and you’re good. What Mark is saying is that pulling it high temporarily for the duration of the RAM test after a power-up/reset is easier to facilitate with a switch. You then open the switch, returning the Spectrum to normal operation, and can perform some additional tests of the upper RAM from BASIC.

If you’re careful enough and have a steady hand, you can simply hold a jumper wire from the +5V rail to Pin 5 of IC23 while the computer powers up/resets. Then remove the wire and do some tests. This method, however, is very accident-prone.

Also, as Mark already mentioned, if a RAM IC got stuck in a funny state and messes around with the data bus (say, pulling some data lines high or low continuously), disabling the upper RAM won’t clear the fault. If your ULA, ROM, and CPU are okay, then that’s likely to be the problem (aside from cold solder joints/trace cracks, solder splashes, etc.), and you’ll have to start physically removing upper RAM ICs one by one to find the culprit.
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.
dfzx
Manic Miner
Posts: 673
Joined: Mon Nov 13, 2017 6:55 pm
Location: New Forest, UK
Contact:

Re: broken 48K issue 2

Post by dfzx »

Wolfgang wrote: Tue Jul 23, 2019 8:43 am Can I just connect +5V to pin5 of IC23 without removing any connection?
If you mean to ask whether you need to remove the power while you make that IC23 connection, yes, do it with the machine powered off.

I seem to recall someone else started poking at pins with the machine powered up a few months ago. Not a good idea unless you have a very stready hand. :)
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
User avatar
1024MAK
Bugaboo
Posts: 3104
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: broken 48K issue 2

Post by 1024MAK »

If you don’t have a suitable switch, just solder two wires to the board, then hold the stripped ends of the wires together before and during power up. If the machine makes it to the copyright message, you can then let go, and continuity is no longer required. Just make sure the wire ends don’t short out to any other part of the 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.
Wolfgang
Drutt
Posts: 13
Joined: Mon Jul 22, 2019 5:41 pm

Re: broken 48K issue 2

Post by Wolfgang »

dfzx wrote: Tue Jul 23, 2019 11:39 am If you mean to ask whether you need to remove the power while you make that IC23 connection, yes, do it with the machine powered off.

I seem to recall someone else started poking at pins with the machine powered up a few months ago. Not a good idea unless you have a very stready hand. :)
:D
Wolfgang
Drutt
Posts: 13
Joined: Mon Jul 22, 2019 5:41 pm

Re: broken 48K issue 2

Post by Wolfgang »

The 5V on IC23 didn't make a difference. When the machine gets warmer (it is 36 Celcius right now here in Germany :shock: ), I seem to get a light border. https://photos.app.goo.gl/3ja79qp3qv9Dpu8i8
What is the wire on the back side doing?
Next thing I would try is checking the ROM since it is socketed. But since I don't have another Spectrum where the ROM is in a socket, I will need to make the EPROM mod first. But not today....too hot for serious soldering. :lol:
Anything else I should check, maybe with a scope?
User avatar
1024MAK
Bugaboo
Posts: 3104
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: broken 48K issue 2

Post by 1024MAK »

Wolfgang wrote: Tue Jul 23, 2019 6:10 pm The 5V on IC23 didn't make a difference. When the machine gets warmer (it is 36 Celcius right now here in Germany :shock: ), I seem to get a light border. https://photos.app.goo.gl/3ja79qp3qv9Dpu8i8
It looks like that very light green colour should be white. On the issue 1 and issue 2 boards, the video colour has to be manually calibrated by hand using VR1 and VR2 (below and to the left of the ULA). Don’t adjust the two variable capacitors that are near the metal can crystals.
One of the first things the code in the ROM does after the Z80 microprocessor is reset, is to set the border to white. If this happens every time, it is a good sign that the Z80 and the ROM are at least partially functional.
Wolfgang wrote: Tue Jul 23, 2019 6:10 pmWhat is the wire on the back side doing?
It looks like it may be bypassing a broken track. It links diode D8 cathode and Z80 (IC2) pin 5 (address line A14). This connection is as per the schematic.
Wolfgang wrote: Tue Jul 23, 2019 6:10 pmNext thing I would try is checking the ROM since it is socketed. But since I don't have another Spectrum where the ROM is in a socket, I will need to make the EPROM mod first. But not today....too hot for serious soldering. :lol:
If you have a suitable EPROM programmer, it should be possible to read the contents of the ROM using that. You may need to put the ROM in a stamped pin socket so that you can bend one of the legs up so it does not enter the programmers socket.

Argh, it’s too late at night, I can’t think, too tired. If I think of anything after some sleep, I’ll post it later...

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.
Wolfgang
Drutt
Posts: 13
Joined: Mon Jul 22, 2019 5:41 pm

Re: broken 48K issue 2

Post by Wolfgang »

I just took out my scope and looked at the clock signal. The ULA puts out 3.5MHz at pin32, but the CPU only sees a 5V signal at pin6.
This probably means TR3 is dead, correct? Unfortunately, I don't have anything here to replace it right now....
User avatar
1024MAK
Bugaboo
Posts: 3104
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: broken 48K issue 2

Post by 1024MAK »

TR3 needs to be a transistor that has a very fast switch off time. Alas, most TO92 cases transistors will not work in this circuit. So please be absolutely sure before desoldering the old transistor. Also it is very, very rare for this transistor to fail...

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.
Wolfgang
Drutt
Posts: 13
Joined: Mon Jul 22, 2019 5:41 pm

Re: broken 48K issue 2

Post by Wolfgang »

Thanks Mark. I am getting a bit frustrated with this Speccy :(

Here is what I did so far:
- cross checked ULA
- replaced TR4 (now with ZTX651) and TR5 (ZTX751)
- replaced TR3 (restored the 3.5MHz to CPU)
- changed the regulator
- recaped the board
- desoldered the upper RAM and their logic ICs (to rule those out)
- tried different lower RAM chips
- desoldered and replaced IC3 and IC4
- desoldered and replaced Z80
- changed to EPROM

After all this, I sometimes get a white border and a black center that every ten times or so changes after a long time to the Sinclair logo.
Most of the time I get the vertical black and white bars with blinking squares and sometimes it changes after a while to what you can see in the last picture.

https://photos.app.goo.gl/EwBQ4xTCYQpavVA88

I am running out of ideas here.... :cry:
Wolfgang
Drutt
Posts: 13
Joined: Mon Jul 22, 2019 5:41 pm

Re: broken 48K issue 2

Post by Wolfgang »

One more thing I just discovered.
When I discharge C27 before I turn on the Spectrum, I always get a black screen with white border and after exactly 30 seconds I get the following screen:

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: broken 48K issue 2

Post by 1024MAK »

Check C27 is 1uF and R31 is 220k. Also confirm that the tracks for these are intact.

Is the CPU clock on pin 6 actually 3.5MHz ?

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.
Wolfgang
Drutt
Posts: 13
Joined: Mon Jul 22, 2019 5:41 pm

Re: broken 48K issue 2

Post by Wolfgang »

I can confirm 3.5MHz on pin6
C27 is 1uF 63V
R31 is 220K
I also checked the tracks between all involved components. Only unchecked component is C26.
Won't be able to check anything before tomorrow night.
User avatar
1024MAK
Bugaboo
Posts: 3104
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: broken 48K issue 2

Post by 1024MAK »

So, something is causing the Z80 to run slowly. If the clock signal on pin 6 is good (correct frequency and goes sufficiently high, as in within 100mV of the value of the +5V supply voltage) then maybe it is a control signal being active which is interrupting the Z80.

So check:
Pin 16 (/INT) should be held high by the ULA except for the normal display interrupt (50Hz pulses).
Pin 17 (/NMI) should be held high via R28 (10k).
Pin 24 (/WAIT) should be held high via R29 (value varies between board issues).
Pin 25 (/BUSREQ) should be held high via R30 (value varies between board issues).

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.
Wolfgang
Drutt
Posts: 13
Joined: Mon Jul 22, 2019 5:41 pm

Re: broken 48K issue 2

Post by Wolfgang »

1024MAK wrote: Sun Jul 28, 2019 11:18 pm So, something is causing the Z80 to run slowly. If the clock signal on pin 6 is good (correct frequency and goes sufficiently high, as in within 100mV of the value of the +5V supply voltage) then maybe it is a control signal being active which is interrupting the Z80.

So check:
Pin 16 (/INT) should be held high by the ULA except for the normal display interrupt (50Hz pulses).
Pin 17 (/NMI) should be held high via R28 (10k).
Pin 24 (/WAIT) should be held high via R29 (value varies between board issues).
Pin 25 (/BUSREQ) should be held high via R30 (value varies between board issues).

Mark
It is working again! Your suggestion of looking at these signals was great and very embarrassing for me. Pin17 showed the same 50Hz pulse as pin16. It took me two hours to find the short under the socket of the CPU. It was not visible before I actually removed the solder from the pins. There was a tiny bit of metal connecting the pins. The flux covered it, so it couldn't see it, even with my "Doc Brown" glasses.
Anyway, I can sleep again. Thanks everybody, especially Mark. :D
User avatar
1024MAK
Bugaboo
Posts: 3104
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: broken 48K issue 2

Post by 1024MAK »

Good to hear that your Speccy is up and running 8-)

Well done 👍

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.
Post Reply