low memory fault test

amateus
Posts: 57
Joined: Wed Mar 21, 2018 2:28 pm

Re: low memory fault test

Post by amateus »

Hi Mark,

So I replaced the ICs, doing continuity and voltage tests along the way to make sure I didn't ruined anything.

Voltages are ok now, but I get this lovely screen:
IMG_20200630_130758.jpg
What else should I check?

Thanks,
António
User avatar
1024MAK
Posts: 5101
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: low memory fault test

Post by 1024MAK »

Okay, progress is being made, even if only slowly :(

This could be some of the remaining original ‘lower’ 4116 (or equivalent) DRAM chip(s) being faulty, or a problem with one or more of the ‘upper’ DRAM chips.

First, a couple of questions: do you have a ability to programme (burn) EPROM chips?
And is the ROM in a socket?

I’m assuming you don’t have any expansions or interfaces that can take either a physical ROM / EPROM chip, or ROM images.

If yes to both questions, download a diagnostic program and burn it to an EPROM.
I suggest you use either this or this;-)
Then use these instructions to allow an EPROM to be used in place of the ROM chip.

Without a diagnostic ROM (which can diagnose many RAM problems), there is simple way to fool the machine into thinking it has no ‘upper’ RAM and therefore it’s only a 16K machine. That is, we temporarily disable the ‘upper’ DRAM chips. Please note this only applies to issue 2 through to issue 4S boards. Issue 5 and issue 6A boards use different circuitry.

To disable the "upper" 32k of RAM, on a issue issue 2 through to issue 4S board, 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.

Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
amateus
Posts: 57
Joined: Wed Mar 21, 2018 2:28 pm

Re: low memory fault test

Post by amateus »

Hi Mark.

Thank for the help.

Ok, so first thing first, I do not own any of those, neither I own an oscilloscope or a logical probe and even if I would I wouldn't know how to work with any (yet). It's on my to-do list. I know more or less how to read a circuit and know how to work with a multi meter and that's about it.

Should I invest in a diagnostics interface? I've seen a few at bytedelight or retroleum. Can you advise one?

Just to confirm, to disable the upper ram you want me to do the following:
IMG_20200630_162002.jpg
Is this correct?

Thank you,
António
amateus
Posts: 57
Joined: Wed Mar 21, 2018 2:28 pm

Re: low memory fault test

Post by amateus »

btw, instead of soldering, can't I short both with the multi meter grabber probes?
amateus
Posts: 57
Joined: Wed Mar 21, 2018 2:28 pm

Re: low memory fault test

Post by amateus »

Hi Mark,

So if I've done it correctly (has in the picture I posted), there is no discernible difference on the screen when IC23 pin 5 is connected to a +5v source.

What do you think?

Thanks,
António
User avatar
1024MAK
Posts: 5101
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: low memory fault test

Post by 1024MAK »

Yes, that’s IC23 pin 5 in your picture. There is +5V on pin 14 of the same chip ;)

And yes, if you have suitable grab hook clips/probes, they can be used instead of soldering.

If this makes no difference, then either the problem is one of the ‘lower’ DRAM chips (more likely), or one of the ‘upper’ DRAM chips has a faulty output pin and this is interfering with values on the data-bus (less likely).

Is the ROM in a socket? If yes, remove it, then power up and take a photo of the screen display.

Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
amateus
Posts: 57
Joined: Wed Mar 21, 2018 2:28 pm

Re: low memory fault test

Post by amateus »

Hi Mark,

Unfortunately no, only the ULA is socketed.

I'll probably replace the 3 remaining low memory original chips as I bought 8 anyway. Will get back with the findings (probably only on the weekend tho).

Anything else I can test?

Thank you once again Mark.

António
User avatar
1024MAK
Posts: 5101
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: low memory fault test

Post by 1024MAK »

Where the ROM is soldered in, it’s possible to disable it.

On the edge connector, pin 25 on the underside can be connected to +5V to tell the ROM to ignore any reads. Alternatively you can connect to the appropriate lead of resistor R33 (680Ω). Make sure you connect to the ROM side of the resistor and NOT the ULA side.

In this state it should turn off its output pins. Now the Z80 will read whatever value the data bus floats to. Which, if there are no misbehaving chips fitted, should be 255 (FFh or 0xFF) due to ‘pull-up’ resistors R9 to R16.

As far as the Z80 is concerned 0xFF means RST 38h. When the Z80 executes this instruction, the current PC value plus one is pushed onto the stack, then the PC is loaded with 38h. The Z80 then fetches the instruction at this address which is again 0xFF.

The end result is that all RAM will fill up with the values that are being pushed to the stack, as the stack pointer works its way through all possible addresses before wrapping around and then doing all again.

If the screen RAM and the ULA are working, this will produce a distinctive diagonal pattern on the screen.

Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
amateus
Posts: 57
Joined: Wed Mar 21, 2018 2:28 pm

Re: low memory fault test

Post by amateus »

Mark,

I have connected R33 to +5V but to no avail, but unfortunately the screen output was the same as previously.
106671221_570936183796500_912918877164016505_n.jpg
I have a working 6A issue with, I think, the same ULA (Ferranti 6c001e-7) which is also in a socket. I can try to take them out and see if the ULA works on the working spectrum?

Thank you,
António
User avatar
1024MAK
Posts: 5101
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: low memory fault test

Post by 1024MAK »

Yes, try the known good ULA from your working machine in the faulty board.
But also try the ULA from the faulty board in the working machine.

In other words, swap the ULA chips between machines/boards.

I also suggest you mark the ULA chips so you always know which one came from where...

Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
Post Reply