48K Issue 6A

For experts to discuss very technical stuff and newbies to ask why the Spectrum they bought off ebay doesn't work.
Post Reply
User avatar
RMartins
Berk
Posts: 43
Joined: Thu Nov 16, 2017 3:26 pm

48K Issue 6A

Post by RMartins » Sat Nov 18, 2017 2:26 pm

I'm reviving a cannibalized and dead 48K issue 6A, for a friend.

I managed to recover most of it, and got the ULA running, and displaying the typical blocky color blobs on screen.
After some more checks I found out that lower memory receives CAS strobes, but higher memory does not.

After looking at the circuit diagram, it's obvious that lower memory CAS is coming from ULA, since C jumper is connected.
But higher memory CAS comes from ZX8401 IC, which outputs a steady 5V on pin 34 (CASL), instead of strobing.

However I'm not familiar with ZX8401 inner logic/internals, and can't seem to find any concrete documentation on the implemented logic.

I need to know which inputs affect CASL pin, and how, before I mark this ZX8401 as not working.

I looked around (net search) but did not find any useful info.
Where can I find documentation on its internals ?
0 x

User avatar
RMartins
Berk
Posts: 43
Joined: Thu Nov 16, 2017 3:26 pm

Re: 48K Issue 6A

Post by RMartins » Sat Nov 18, 2017 10:05 pm

Meanwhile, doing some more tests, CASL came to life.
I wounder why or how?

Probably because I wiggled the ULA in its socket, or pressed here and there on the PCB.
But I'm really not sure what made it pop to life again.

But the machine still does not work.
Occasionally, I get a completely black screen, except for 3 odd chars that blink, kind of randomly.
I probably have some memory error in there too.

Anyway, this tells me that I have a bad contact or similar wild goose chase to do.

Still looking for info on ZX8401 internal logic.
0 x

User avatar
balford
Berk
Posts: 12
Joined: Mon Nov 13, 2017 2:01 pm
Location: Ireland

Re: 48K Issue 6A

Post by balford » Mon Nov 20, 2017 12:34 am

Here's a link to a page describing ZX-MUX, which was designed to be a drop in replacement for the ZX8401/PCF1306/Amstrad 40058 IC's:
http://8bit.yarek.pl/upgrade/zx.zxmux/index-de.html

You'll find schematics and gerber files there, I've built a few using the gerbers and they work fine.
1 x
Fixing ZX Spectrums in the 21st Century
https://github.com/brendanalford/zx-diagnostics

User avatar
RMartins
Berk
Posts: 43
Joined: Thu Nov 16, 2017 3:26 pm

Re: 48K Issue 6A

Post by RMartins » Mon Nov 20, 2017 12:55 am

Thank you!

I was able to download the schematics, but the gerber files, fail to download :(
0 x

User avatar
balford
Berk
Posts: 12
Joined: Mon Nov 13, 2017 2:01 pm
Location: Ireland

Re: 48K Issue 6A

Post by balford » Mon Nov 20, 2017 1:06 am

Lucky I had them saved locally then :) Here you go:
http://www.brendanalford.com/PCF1306P.zip
1 x
Fixing ZX Spectrums in the 21st Century
https://github.com/brendanalford/zx-diagnostics

User avatar
RMartins
Berk
Posts: 43
Joined: Thu Nov 16, 2017 3:26 pm

Re: 48K Issue 6A

Post by RMartins » Mon Nov 20, 2017 1:28 am

You are a life saver, or in this case, a ZX savior :D
1 x

User avatar
RMartins
Berk
Posts: 43
Joined: Thu Nov 16, 2017 3:26 pm

Re: 48K Issue 6A

Post by RMartins » Sat Nov 25, 2017 6:11 pm

Current situation is a black screen with a green border, but no boot.

From my tests, the CPU is doing work, but some memory is probably trashed.

If I power up but keep reset active, screen gets all garbled as expected, but as soon as I deactivate the reset line, the screen is cleared to black, and the border turns green.

I don't remember any step in the ROM boot sequence, including memory init, that would set border to green.
If I include the fact that two high memory chips are hotter than the others, then the obvious conclusion seems to be damaged memory chips.

However, if I try to use Retroleum Test ROM, screen gets corrupted and it does not initialize correctly, which shouldn't happen since it should not depend on RAM during initial tests. So probably something else needs fixing too.

I will probably replace the hot memory chips next, once I'm able to remove them and add sockets in their place.

One thing I noticed while probing it with an oscilloscope is that the data lines between ROM and CPU, have lower values than expected, but still seem valid TTL levels. This is probably due to the whacky resistors on the data lines to separate them from the ULA, since all 8 lines behave similarly.
0 x

User avatar
balford
Berk
Posts: 12
Joined: Mon Nov 13, 2017 2:01 pm
Location: Ireland

Re: 48K Issue 6A

Post by balford » Sun Nov 26, 2017 12:07 am

One of the first things the ROM code does, regardless of memory state, is set the border to white. So if that's not happening then either the CPU is dead, or more likely in your case, one or more faulty RAM chips are holding data lines high or low. Since we have the data bus separator resistors protecting the contended/uncontended buses (to a certain extent), the issue must be with the upper RAM IC's that are on the same side of the bus as the CPU.

I'd go with replacing any hot IC's and going from there.
0 x
Fixing ZX Spectrums in the 21st Century
https://github.com/brendanalford/zx-diagnostics

Post Reply