• Please review our updated Terms and Rules here
  • Exhibitor application for VCF West 2022 is now open! If you are interested in exhibiting, please fill out the form here.
  • Here are the results of the VCF East 2022 Post Event Survey: Survey Results

ZX Spectrum 48K Repair. I could really use some help from the other side of the pond repairing this...

daver2

Veteran Member
Joined
Jun 19, 2012
Messages
6,797
Location
UK - Worcester
Where does the 0V for the composite video card come from?

According to the schematics, the transistor collector (Q1) should be connected to GND - but I can't see a GND connection...

If one side of the PSU is connected to earth this may be a problem if it is not the negative side of the power supply - but (in this case) I would not expect it to work when the oscilloscope WAS connected.

Dave
 

VERAULT

Veteran Member
Joined
Jan 30, 2012
Messages
5,072
Location
Connecticut, USA
Well you were right! The ground shell of the composite connector didnt go anywhere?! I checked all points on the bottom of that little board. I added a quick jumper to to the ground plane of the board. And I now get video fine.
I will reach out to the seller and let them know about this.
IMG_20220126_145826.jpg
IMG_20220126_150333.jpg
 

VERAULT

Veteran Member
Joined
Jan 30, 2012
Messages
5,072
Location
Connecticut, USA
I mean I am getting the same random patterns I was before but without the scope probe connected. So the missing video ground WAS an issue.

1 more problem down... more to go I guess. Progress none the less. :)

If I press around the board in the vicinity of the Z80 The buzz getts higher pitched. I find that odd.

Also what do we think on the orientation of C46? If you look online you can cite a few places that claim its wrong in the silkscreen and some photos showing the cap in a reversed orientation to the board.
 

daver2

Veteran Member
Joined
Jun 19, 2012
Messages
6,797
Location
UK - Worcester
Probably the next thing is to get some more objective data from the oscilloscope. Can you monitor the following pins please:

ULA (IC1):

Pin 12 /INT
Pin 33 /IORQ
Pin 38? /MREQ - Try IC2 pin 19 instead (I can read that pin number on the schematic!).
Pin 3 /RD
Pin 2 /WR

DRAM (say IC6):

Pin 3 /WRITE
Pin 4 /RAS
Pin 15 /CAS

ROM (IC5):

Pin 20 /CE
Pin 27 /OE

I am looking for signs of life at this point in time.

The other thing to try would be to forcibly reset the Z80 CPU by temporarily connecting IC2 pin 26 to GND and removing it again.

The reset circuit is just a simple resistor and capacitor. It 'should' work - but is very crude...

Dave
 

VERAULT

Veteran Member
Joined
Jan 30, 2012
Messages
5,072
Location
Connecticut, USA
So that strange second wave form on IC1 pin 6 seems to happen while the cpu is in reset. If it lingers I am assuming its stuck in reset. Using your method of IC2 pin 26 to ground resets the system but we get different results. Sometimes the waveform clears up sometimes it has the second form while in reset, sometimes that waveform lingers.::BELOWIC2 pin 6.jpg

ULA pin12 is pretty hard to get a clear image of BELOW:ULA pin12.jpg
ULA pin 33 Showing high at 3.3V with lots of ripple BELOW:
ULA pin33 3.3V.jpg
ULA pin 38 and Z80 pin 19 look the same:
ULA pin 38 below:
ULA pin 38.jpg
Z80 pin 19 BELOW:
Z80 pin 19.jpg
ULA pin 3 Below:
ULA pin 3.jpg
ULA pin 2 showing high at 3.5 volts below
ULA pin 2 3.5V.jpg

More in the next post. Let me know if I should be taking a photo with X10 on to clear things up.
 

VERAULT

Veteran Member
Joined
Jan 30, 2012
Messages
5,072
Location
Connecticut, USA
Ok Next is DRAM IC6 pin3 about 3.3V below:
DRAM IC6 pin3 3.3V.jpg
DRAM IC5 pin 15 below:
DRAM IC6 pin 15.jpg
DRAM IC6 pin 4 below:
DRAM IC6 pin4.jpg



Ok onto the ROM IC5 Pin 20 is giving me pretty much nothing.


ROM IC5 pin 27 is giving me +1.22V on my voltmeter not much to see on the scope.
With the voltmeter I am measuring +0.25V
 
Last edited:

cj7hawk

Experienced Member
Joined
Jan 25, 2022
Messages
73
Location
Perth, Western Australia.
If you're getting screens like you posted earlier, it's a pretty safe guess that the 16K ram chips are faulty, assuming there's no track damage between them and the ULA and then via the resistors to the Z80.

I've fixed quite a few spectrums, and if I ever saw that kind of screen, I wouldn't hesitate to replace the lower 16 RAM chips, then I'd recheck the power rails one by one and make sure they were all OK before installing the new 4116 ram chips. I also have a RAM tester that is useful if I want to save any of the chips.

The DRAM causes the 12v/-5v power supply to fail by drawing too much power when it fails. The failed power rails cause the 4116 DRAMs to further fail ( or more of them to fail ). It's a vicious cycle. The only safe order is remove the old ram, fix the TR4 and TR5 transistors ( make sure the replacements can handle 2A of power ! These are no small transistors though they look like it ) and then replace the RAM chips.

Nice work finding a missing ground on the video output board.

Regards
David
 

cj7hawk

Experienced Member
Joined
Jan 25, 2022
Messages
73
Location
Perth, Western Australia.
Hi Varault,

Apologies that my posts are somewhat anachronistic. Seems it can take several days for my posts to show up as I'm a new user to this site.

There's a very good diagnostic rom here: https://blog.retroleum.co.uk/electronics-articles/a-diagnostic-rom-image-for-the-zx-spectrum/

They make their own hardware too, but you can download the rom, burn it, and install it into the on-board ROM socket and it works just fine. There are other diagnostic roms around also, but this one is pretty good, and will try to write an image to the ram even if the ram isn't working.

A diagnostic rom will do it's best to return something of value if it can boot, and will help you work out what's going on. Often they use the border to convey information, since it's the least affected by ULA faults and other issues, and is often one of the last things that keeps working if the Spectrum is badly broken.

Hope this helps - and that my post shows up soon.

David
 

daver2

Veteran Member
Joined
Jun 19, 2012
Messages
6,797
Location
UK - Worcester
Sorry, been a bit busy for the last couple of days. I will get around to having a look this afternoon.

Dave
 

daver2

Veteran Member
Joined
Jun 19, 2012
Messages
6,797
Location
UK - Worcester
David, if you read post #23 you will observe that the DRAMs have been removed, tested as good and reinstalled in sockets. It would appear as though either the DC/DC converter died of its own accord, or the hasty replacement of all of the transistors and capacitors resulted in the converter malfunctioning. I assume that Verault has checked the DRAM after the converter was repaired? Is this correct?

The DRAM will power up with initial rubbish, and this rubbish can be variable until the CPU has initialised the contents. If the Z80 CPU is not clearing the DRAM, this will account for the rubbish display.

The DRAMs appear to have /RAS and /CAS activity in READ mode (no writing).

What I find interesting is the (seemingly) lack of signal activity on the ROM - implying that it is not being read correctly by the Z80 CPU.

Can you recheck the following signals on your oscilloscope please:

ULA pin 34 (/ROMCS)
Z80 pin 19 (/MREQ)
ROM pin 20
ROM pin 27

One pin of the ROM should be connected to /ROMCS, and the other ROM pin should be connected to /MREQ.

All of the four signals appear to go to a little square icon on the schematic (implying there are some links on the PCB somewhere).

Dave
 

cj7hawk

Experienced Member
Joined
Jan 25, 2022
Messages
73
Location
Perth, Western Australia.
Hi Daver,

Yes, I am thinking that any time TR4 fails, then the lower ram should be suspected, and there's a good chance it has failed, if not previously, then because of the current TR4 failure. I've had some ram chips that tested fine on an external tester, yet failed to operate correctly in circuit.

Also, unless there is a RAM fault, generally TR4 should not fail. Could be a capacitor failure, but the likelyhood is the ram.

As long as the rom is getting selected, and the upper data lines aren't being interfered with, the Z80 will read the rom and execute code locally, as long as it has a valid clock, the reset is high ( and has transitioned correctly ) and the ULA is decoding the ROM addresses. Though the Hitachi ROMs also use MREQ on Pin 27 as an additional enable.

Hence why a diagnostics rom is worth trying. As long as the border is working, you can get an idea if the z80/ROM section of the board is working. Better still if you can wire it up to the expansion port with it's own address/memory decode logic.

If the address lines are moving, then the clock is most likely OK. If the ROMCS isn't going low then it's also worth checking continuity between ULA(IC1) pin34 and ROM pin 20, though they are separated by R33 just below the address-line keyboard socket and is hidden by the heatsink.

A small buck 5v regulator is also a good idea at this stage so the board can be troubleshot without the heatsink in place. They are pretty cheap on ebay, and you can bypass the 7805. In fact, unless you want to keep it stock, they are a better choice in the long run as they won't heat up the Speccy as much as the 7805.

As an additional suggestion, maybe remove the upper 32K of memory as well, just in case it's pulling on a data line. This will also stop the CPU from talking to the ROM correctly and they aren't necessary to get a logo up.

The logic chips that drive the upper memory generally don't cause too much trouble as long as the upper memory is removed, even if they are faulty and the upper 32K is in sockets, so should be easy to remove while troubleshooting.

Regards
David
 

VERAULT

Veteran Member
Joined
Jan 30, 2012
Messages
5,072
Location
Connecticut, USA
So many Davids! Hello #cj7hawk and thanks for the input. I sincerely appreciate any and all help getting the speccy up and running. However if you look at post 18 of this thread you will see I tested all the RAM before socketing it. In fact I have tested it again just to play it safe. I have tested the ram in an Apple II plus which I can assure you is a picky and finicky sytem; if the ram is even slightly out of spec it will fail. And all the RAM passes with flying colors.

This diagnostic RAM you speak of. It will run on a machine with no life and just a boarder (like the Commodore 64 Dead test cartridge? Im sorry im just very new to ZX spectrum 48K system repair.

I have been using the system without the heatsink in place when I need to test components. For short periods and I test its input and output frequently. I have MANY 7805 regulators so I dont care much if I burn a couple out.

You think I should remove the 32KB upper RAM? Its my understanding (and please correct me if I am wrong) that the lower bank runs the system before the upper bank is initialized.. So what would that prove? And What about the supporting 74 logic for the upper memory?

#Daver2 I will make those new checks tomorrow when I have time.
 
Last edited:

cj7hawk

Experienced Member
Joined
Jan 25, 2022
Messages
73
Location
Perth, Western Australia.
The diagnostic rom will run on a machine with no RAM in it. It's designed that way to help repairers. There are other diagnostic ROMs and cartridges that do different things, and that particular ROM is designed for it's own hardware, but I've tried it with just an external ROM card I made up and it works fine for the critical tests. I have some schematics too for a home-made external ROM adapter if you have access to a CNC machine or some single-sided circuit board making equipment - I can share it if it's of use.

But plugging the ROM straight into the socket on the PCB should work too, though I haven't tried that with an Issue 2. It should ignore the select on 27 though, and will run on just the ROMCS and the RD lines from the CPU. When I said "Border" I meant that if the RAM is completely broken, then there's no way for the ROM to display the results, so it times and flashes the border different colours, which the ULA can handle even if there's to video RAM. By adjusting the timing, it creates a result like the "Loading Bars" that you see on a spectrum when loading, but it times them with an interrupt so that they are static, and then shows which are working and which are not by either the number, or I think that particular ROM shows some as RED and some as GREEN and the top bar represents D0 and they count down to D7 or something like that.

I do recall you saying you had tested the RAM, but if they are installed and you lose the -5v and 12v lines, then it can actually damage them, and it can do so very very quickly. So if you lose TR4, it's always an assumption that even if the RAM were tested good, that they might have been damaged in the process. Since you have an AppleII to test them, I'd definitely do that.

The ROM, BTW, identifies RAM faults, but the fault may be aside from the memory chip - It could also be a broken trace on the PCB, or another chip ( eg, the 32K ram chips ) interfering.

The Upper 32K memory chips aren't obtainable any longer, but don't worry - they are just 4164 RAM chips with pre-existing faults in half of the chip. ( hence why they sold them as 32K chips ). You can replace a 32K ram chip with a 64K ram chip without modification and you can mix and match them also.

You can even go as far as replacing 4116's with 4164's as long as you fix up the power rails and move the power lines around, which is entirely doable on the Spectrum.

The 12v line from the onboard regulator only powers the lower RAM and the Video circuits, so it's not critical to any other chips.

Removing the upper RAM will eliminate it from causing problems if there are any faults in it - Faults could be in either the upper RAM chips themselves, or in the 4 address logic decode chips ( 4 of the group of 6 ) that control it's access and multiplexing. If for any reason there's a fault in the upper RAM, it may interfere with the data bus and cause the CPU to not execute correctly. Since you have a rather complex problem to fix, removing the upper ram will at least eliminate one potential source of issues and testing/checking/repairing the upper ram as a final step is easy. Unlike the lower 16K RAM chips, the upper 32K is directly on the CPU bus, like the ROM. I had one board I fixed, and never quite managed to find a niggly issue that caused problems, and traced it back to a bad upper memory chip that was simply interfering with the bus at times. If the RAM and selecting / multiplexing logic is all OK, then there's no problem leaving it there, but it's difficult to know for sure until you can get the machine at least booting to logo, and it's easy to eliminate as a potential source of issues ( and you may have multiple faults ).

The final path to getting a Spectrum working, once you have the CPU and ROM working OK, is sometimes just tracking down every trace on the board and testing for continuity -The Lower RAM goes to the ULA and to the resistors that separate the ULA from the Z80 bus. Also, those resistors have been known to get broken before so also test those resistors.

You seem to have a functional video circuit, so the rest of the board should be easy enough to fix once you are confident that the CPU and ROM are working as intended.

BTW, the 74LS157 Multiplexers are also something that frequently breaks, as a fault in the DRAM can introduce 12v or -5v to other lines such as the MUX'ed input address lines, and these go straight back to the 74LS157's as well as the ULA.

Regards
David
 

VERAULT

Veteran Member
Joined
Jan 30, 2012
Messages
5,072
Location
Connecticut, USA
Well..... The good news:IMG_20220131_132221.jpg

So I was just about to take the measurements again #Daver2 from your last post when I thought I would first do a couple things that cj7hawk mentioned. I had already socketed and tested 2 of the 74ls157 logic chips so I thought I might as well socket and test the other 4 since it wouldnt take very long at all. They all tested fine. Since I was testing the logic which controlled the upper bank of RAM I thought I would try what #cj7hawk mentioned about pulling all the upper RAM out and testing it. Well he was abosolutely right! There must be some bad chips in there bringing the whole system down. I have plenty of 4164 RAM chips on hand for all my Apple II repairs so that wont be a problem.
IMG_20220131_132229.jpg

Onto further getting this machine going. First off as I mentioned before.. There is still a loud high pitch squeel coming from the speaker at all times! When I press in the area of the z80 or the ROM the sound changes tone but remains constant. Is this normal until a program loads that utilizes sound? I have no idea it just seems wrong to me.

Second this is pretty much almost the limit of what I can do as the keyboard membrane is completely shot (must be an early model as the membrane is crumbling badly. Anyone know a good source for a new membrane that wont break the bank for shipping to the states? I figure once I have the membrane I can use my phone (temporarily) to load up diagnostics to further check the system and RAM. Once I know the system is fine I want to buy maybe a DIVMMC with joystick and SD card support for easly loading. Is there something better perhaps as I am not up on ZX spectrum upgrades. I know the future was 8 bit sells them: https://www.thefuturewas8bit.com/shop/sinclair/divmmcfuture.html but they dont seem to sell the keyboard membrane.

Well I appreciate everyones help and hope you guys can continue to steer me towards a working speccy soon!

Mick
 
Last edited:

VERAULT

Veteran Member
Joined
Jan 30, 2012
Messages
5,072
Location
Connecticut, USA
And Besides what I mentioned on the last post. I am assuming I cant modify the color and video until I can load a program correct?
 

cj7hawk

Experienced Member
Joined
Jan 25, 2022
Messages
73
Location
Perth, Western Australia.
Congratulations ! Mostly they aren't anywhere near this difficult to fix. Any remaining faults should be easy to fix now :)

The speaker should not squeal, as there's not supposed to be an amplifier in there, so unless the ULA is sending it some weird sound, that's a curious issue. Definitely one for the oscilloscope - Pin28 on the ULA is the sound output I think. It should be stable and not oscillating or changing level. The sound circuit is very simple.

I get my keyboard membranes from Retro Radionics. - https://retroradionics.co.uk/

They price in US dollars, and ship from China. I find their service and quality to be very good, and the price is good. You can also get a new faceplate and other parts from them if needed... Maybe even customise up the Speccy with your wife's favorite color.

You could hardwire in a few keys to allow you to type "Border 1" or something like that to make a color come up, that would be 3 keys in a quickly assembled matrix ( B for Border, Then any number from 1 to 6 then Enter ) which would take just a few minutes, or you could work out which keyboard connectors to short and just short them to type, since it's a very short sequence... I'd probably just short the keyboard connectors in the right order at least once to check if it was an issue I needed to solve.

Or if you burn that Retroleum rom, it will put some rainbow colors across the screen on boot, which might be a good alternative as you can also use it to check that the upper 32K is working when repaired. Even without a keyboard.

You can get a cassette adapter circuit cheap, and these take a SD card and there's about 10,000 games/programs on archive.org for the ZX Spectrum in TAP and zipped TZX format. There's a large archive you can download, but be warned you will need to break them up by first letter, and then you will have to break up some directories by first letter twice, because they are too big for the tape player... look up TZXDuino on Ebay and other sites. They are cheap.

I've never tried the DIVMMC, but should get one and will if I ever see a cheap one.

Sorry I couldn't be of much help earlier. I had to make 10 posts before they took the posting restrictions off, so most of my posts hung around for days waiting for a moderator. :(

David.
 
Top