Spectrum Computing Forums

48K Issue 6A

48K Issue 6A

Posted: Sat Nov 18, 2017 2:26 pm

by RMartins

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 ?

Re: 48K Issue 6A

Posted: Sat Nov 18, 2017 10:05 pm

by RMartins

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.

Re: 48K Issue 6A

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.

Re: 48K Issue 6A

Posted: Sun Nov 26, 2017 12:07 am

by balford

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.