avatar_thesmiler37

Need help fixing a 464 with a potentially dead CPU

Started by thesmiler37, 18:54, 30 December 23

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

thesmiler37

I recently picked up a 464 and GT 65 monitor off ebay, i knew it was untested and probably broken but i enjoy repairing electronics so i wasn't too upset when it was completely dead, the monitor is fine and gives the 464 a solid 5V, my first issue was the power switch which wasn't working but a bit of contact cleaner fixed that, the next issue is that the power and video ports are complete junk, i managed to bodge the power connector by bending the flat contact up slightly to tighten the port, the final issue is that i'm 99% sure that the CPU is broken.

I think it's broken because it has a hot spot near the center of the chip which would suggest an internal short plus it's the only chip on the board that heats up when it's powered on also the internal speaker makes a high pitched noise when turned up which i thought was just interference or something but when i remove the CPU the noise stops, not sure if that means anything but it's worth a mention.

I did manage to get a solid picture out of the very wobbly video port and all i get is a rectangle/blank screen.

I plan on replacing the CPU as that is the only IC that looks broken, where can i get a replacement or what should i look for as a replacement? I know it uses a Z80 but is there a specific kind of Z80 it needs or will any Z80 do, also what should i check to make sure the board won't fry the new CPU as soon as it's turned on?


Any help is appreciated!  ;D

Rabs


Rabs


Rabs

But I would watch all of Noel's video's before deciding the Z80 is faulty. He has a few others which may help.

thesmiler37

Cheers, i'm watching his video on checking the basics although i've watched a couple others from him already, i'm gonna pick up a logic probe off amazon so i can check for activity on the chips.

Rabs

Not sure where you are based but I have a spare logic probe somewhere. I now use an oscilloscope for most fault finding work, Hantek DSO5102P USB Digital Storage Oscilloscope.

thesmiler37

I'm up in Staffordshire, thanks for the offer though, i'm going to focus on the keyboard for now as the keys are all sticky and i'm gonna be typing on it a lot.

thesmiler37

I still think it's the CPU that's busted so i'll order one and hopefully i get a working 464 although i have a feeling that the memory might give me trouble aswell.

Anything i should check to make sure the new CPU doesn't get instantly fried? I'm just being cautious as the last project i did like this went horribly wrong.

eto

The noise from the speaker is normal. I guess when the CPU is gone there are just no longer signals that interfere with the sound output. 

Do you have a bench power supply? If yes, just limit the current to 1A. that should prevent frying components. 

A very typical fault of CPCs is overvoltage. I had several CPCs that were powered at some point by 12V or even 19V power supplies. Usually the RAM or ROM chips are fried first and then act as a kind of fuse which protects the rest of the computer. Depending on the exact fault it might be more or less easy to identify the exact culprit. You might also end up replacing components. But most of them are cheap and easy available. 


thesmiler37

I think overvoltage is possible, the ebay seller thought it was a keyboard so they might have just stuck any old power adapter into it to try test it although other than that it just looks like it's been sitting in someones shed or basement for the last 30 years, the keyboard had a literal carpet of dust underneath the keys. :o

Is there any way to check the ROM chip for failure? It stays stone cold when the computer is powered on which could be a sign of it not being accessed by the CPU?

I'm still gonna replace the CPU and see what happens, it's possible that multiple chips are fried and at least having a known good processor should make trouble shooting a bit easier, i don't have a bench power supply so i guess i'll just cross my fingers and hope for the best.

One last thing, does anyone have any experience with the website retroleum.co.uk? They carry all the parts i'll need to fix my Amstrad so i just want to know if they're a trusted source before buying anything.

Thanks for all the help so far! :D

Rabs


eto

Quote from: thesmiler37 on 11:37, 01 January 24Is there any way to check the ROM chip for failure? It stays stone cold when the computer is powered on which could be a sign of it not being accessed by the CPU?

If you have a multimeter, you can check all data and address lines if one of them has a short or an uncommonly low resistance between the pin and VCC or GND. Unfortunately that does not help to identify which IC has the short. It could still be the RAM, ROM or some other IC that is connected to the bus.

But if it would have a short, it probably would get warm. So maybe the CPU is a good candidate.

Quote from: thesmiler37 on 11:37, 01 January 24I'm still gonna replace the CPU

Make sure to buy the NMOS version. There are tiny differences between the CMOS and NMOS variants and some software depends on undocumented opcodes of the NMOS version.

thesmiler37

Thanks for the tip on NMOS CPU's i wouldn't have picked up on that, i'll test the ROM later as i'm taking a break from this project for now because retroleum doesn't re-open till the 6th and i should have a 2600 turning up soon.

I'll post an update when i put the new CPU in, hopefully that's all i need to do.

SerErris

I do not think that the CPU is broken. It is normal that it is getting hot. 

But if the ROM is broken, you will not get any output, as the ROM code is either carbled or the CPU cannot execute anything. (NOPs all the time).

So the CPU might be perfectly fine running all NOPs.

Without a probe at least, or better an Oscilloscope you will have a hard time to figure out, what is going wrong.

Also an external diagnostic ROM would be good to be able to test the internal rom (as long as it does not garble the data bus as in my case). 

Typically you work your way from the CPU via a an oscilloscope. You fist find out if the clock signal is good. Then check the reset line and then you check the control bus of the CPU. Esp the M1 lines and the RD and IORQ lines are interesting. If they are working normally, you also can check the data lines and address lines if they are looking like data signals.

In my case everything was good until I got to the data lines. They were all grounded and did not work. So I needed to figure out what was grounding those lines and it turned out that it was the ROM chip, that was malfunction and pulling all lines low. So nothing worked, as the data bus was always 0 and the CPU executed all NOP cycles (Z80 interprets 00 as NOP instruction). You could see that that you have a steady 1mhz M1 frequency. So every M cycle was a M1 cycle. That is not normal in normal operation.

But as I said some good tools are required.

A Multimeter (which I think you do have)
At least a logic probe (which gives you only the answer to the logic levels of a pin), better a oscilloscope with 2 channels.
And in addition a multiline digital probe (which can read multiple pins at the same time).

And of cause a bench power is something good to have to ensure that you do not damage anything and have trusted voltages
Proud owner of 2 Schneider CPC 464, 1 Schneider CPC 6128, GT65 and lots of books
Still learning all the details on how things work.

thesmiler37

Just replaced the CPU and unsurprisingly nothing changed, the new ports are great though and i at least get a solid power and video signal now.

I'll poke around a bit more later and see if i can pin down which IC is dead, it's got to be either RAM or ROM and i'm really hoping it's the ROM.

SerErris

Do you get a blue screen? Or what color does your screen have?
Proud owner of 2 Schneider CPC 464, 1 Schneider CPC 6128, GT65 and lots of books
Still learning all the details on how things work.

thesmiler37

This is what i get when i turn the computer on, i'm guessing the CRTC is good because i get a stable picture, it's probably a sign the CPU was good aswell but i just didn't trust the hot spot the old one had, so i'm only left with ROM or RAM as the culprit, (i'm not sure if a dead gate array would cause an error like this) i can get a switchable ROM from retroleum so i'll be able to run diagnostics when i get that delivered.

SerErris

The CRTC is not producing the picture. The GateArray is. But CRTC is at least outputting stable values of HSYNC and VSYNC to the GateArray. 

That is good.

GateArray can be all kind of things not working in a CPC as it is actually the heart of everything. 

It may look like the CPU is in Controll of everything, but actually it is the Gatearray. It controlls RAM access and ROM access and all kind of things as well as outputting the Video. It also generate the Clock of everything so it IS the heart of the CPC. 

What is the screen you are using? If that is a normal Color Screen that has not been set to green mode, then the colors are off.

That means that the registers in the GateArray are not set correctly or the GA not working correctly. I suspect the first. 

And that would mean, that your ROM does not work correctly. Also there is a chance of a broken IC 115, which sits in between the CPU and the Gatearray data lines. 

Up to this point, the ROM code does very little.

Here is what it does before the screen gets blue background with a blue border:

1. Disable upper Rom, Enable Lower Rom (this is GateArray command).
2. Initialize PIO
3. Read Screen Frequency from the Bridge (PIO)
4. Setup CRTC for correct screen mode
5. Copy Hi Kernel Jumps
6. Restore Jump Vectors
7. Initialize Keyboard Manager
8. Reset Sound
9. SCReen Init

So step 9 is, where everything is set where every GateArray color register is set to 00 (border and 16 colors), which is blue. So you actually should see blue everywhere. 

As you do not see any blue, it might be the GateArray not putting out the right color, but I assume it is more like a problem with the ROM.

What speaks against  the ROM is, that step 4. of the above is setup the CRTC which will generate HSYNC/VSYNC and that works correctly. 
Proud owner of 2 Schneider CPC 464, 1 Schneider CPC 6128, GT65 and lots of books
Still learning all the details on how things work.

thesmiler37

I have the monochrome monitor, i set the emulator to monochrome mode then used ink commands to replicate what my actual computer looks like, i can get a pic of the real monitor if you'd like.

eto

yes, please make a real picture. Replicating it on an emulator might not be exact and we might be missing some information. 

If you get a bright rectangle with dark boarder this usually means, that the first bytes of the ROM have already been processed properly. The initialize the CRTC and the GateArray to properly display a screen. It also means that there is no short on an address or data line (which is good) as otherwise the CPU could not read properly from ROM. 

If nothing else happens this usually is an indication that one or more of the RAM ICs is/are faulty. The boot process stops as soon as the CPU leaves ROM to work in RAM. (not 100% sure, but it might also be the 74LS373 )

eto

:doh: sorry, SerErris already explained most of it

thesmiler37

Here it is on the real monitor, i've suspected RAM from the beginning but i don't have good de-soldering skills or equipment so i'm trying to avoid it if possible.

thesmiler37

The image didn't upload for some reason.

Bryce

You could have saved yourself some time and money if you had posted that picture first. The fact that there's a square in the middle means that the CPU, Gate-array and CRTC are all working fine. You most likely have a failed RAM chip.

Bryce.

SerErris

#24
Thank you for the Image.

So it looks like ROM and CPU are okay. Also for now I would assume CRTC okay. It is delivering at least correct Sync.

However the CRTC is responsible to select the correct RAM address for the GA to read the pixel bytes.

I think now you really would need some tools.

Diagnostic ROM would be required. You need any way to run it as Lower ROM.

This can be Dandanator, M4, Diagrom board from myself or any other board that allows to run Lower ROM. Not every ROM board does (e.g. Eight-ROm does not, it only support upper ROMs).

Also you need a logic probe (that can identify high, low or active signal) or a Oscilloscope. Otherwise you will not be able to identify the real culprit and need to replace a lot of chips via trial and error.

One example: If IC115 is not working, you cannot write to RAM. This will result in the scenario above. It can be cause by the GA not working properly and never pulling the 244EN line low. That is something you can only verify with the probe/oscillator.

For clarity, I am not saying that this is your problem. But it very well can be. More likely is a failed RAM chip or a failed MUX chip.

If RAM does not work correctly (any scenario) the first function failing would be TXT init. So right after SCR Init, TXT init will not work and crash the CPC as the memory address BDD0 is not populated correctly and a Call to it is ending in nirvana. That would then eventually reset the CPC and start over and over again, however as nothing changes in CRTC or GA, you will not recognize that happening.
Proud owner of 2 Schneider CPC 464, 1 Schneider CPC 6128, GT65 and lots of books
Still learning all the details on how things work.

Powered by SMFPacks Menu Editor Mod