48K issue 4B upper memory issue

mikeh_nz
Posts: 67
Joined: Sat Feb 04, 2023 8:03 am
Location: Seattle

48K issue 4B upper memory issue

Post by mikeh_nz »

I have a 48K issue 4B

On the retroleum diagnostic rom, “test code execution in upper ram” reports an error pretty quickly (within a second of it running)

The memory tests all pass fine through many iterations. I’ve also tried the ZX Diagnostics rom. One time it failed on the ZX Spectrum Diagnostics rom (at the beginning IIRC it reported bit 0 ok and all the rest bad)

One thing that isn’t correct is the retroleum “DiagROM” title bar. Instead of text on a solid white background - there’s often some black horizontal sections in it. (More than just one bit)
DiagROM title bar has gaps
DiagROM title bar has gaps
In the memory scanner - I can see on page 0xF800 that the very last part of the memory page sometimes isn’t updated with the action I take (Eg set 1, rotate or inverse etc)
Filling memory with 1 missed the last part. If I try again it would set it correctly.
Filling memory with 1 missed the last part. If I try again it would set it correctly.
Inversing memory a few times and I can get it out of sync. That is, the last part wasn’t inversed.
Inversing memory a few times and I can get it out of sync. That is, the last part wasn’t inversed.
When in the scanner I hold down a key (Eg number to do inversion) it speaker ticks away every approx 0.75 seconds as the key press (and memory operation) repeats
But when I lift the computer (I’m guessing flexing the board) the speaker ticks so fast it sounds like a buzz and it generally causes the memory operations to cause an error.

I have recapped this board. I don’t know if it was exhibiting this behavior before the recap or not.

What do you think I should try to fix this?

I’m thinking
Check around the recap area for solder joins/splashes
Reflow the legs on ic23-26 and maybe the upper memory
Last edited by mikeh_nz on Thu May 04, 2023 4:12 am, edited 1 time in total.
User avatar
1024MAK
Posts: 5116
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: 48K issue 4B upper memory issue

Post by 1024MAK »

Could be a dry or cracked solder joint, a cracked PCB track, broken through-hole plating, or poor pin contact in a socket.

Of course, trying to locate the problem is rather tricky…

There appears to be four symptoms: the code execution in upper memory, the screen corruption, the inconsistency in the memory scanner and the speaker madness. This actually points to a problem with the Z80 or it’s busses, or the various parts that perform address decoding and control rather than a “simple” memory fault.

Is there screen corruption elsewhere?

What happens in BASIC?

What happens if the upper 32K of RAM is disabled?

Di you have another ULA to swap around (I’m assuming the ULA is in a socket). By swap, I mean move the UKA from this board into a known working board, and swap a ULA from a know working board into this board. The aim being to see if the symptoms move or not.

Do the same with the Z80 if it’s in a socket.

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.
mikeh_nz
Posts: 67
Joined: Sat Feb 04, 2023 8:03 am
Location: Seattle

Re: 48K issue 4B upper memory issue

Post by mikeh_nz »

I have see some screen corruption when doing the operations on memory scanner. The display was corrupted in patches

Ula is socketed and I do have a working spectrum that I can swap with

Z80 is not socketed.

I’ll try
  1. An inspection around my recap points
  2. the ula swap
  3. And then a reflow
It does feel like it’s trying to write to upper memory and might be either not writing or possibly selecting lower memory as well. So maybe around Ic23 & IC24 area, or ula, but with the whole board movement thing - it seems more like a connectivity thing than a busted IC

How do you disable the upper 32K on a spectrum? Is it pin 5 of IC23 to 5V?
User avatar
1024MAK
Posts: 5116
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: 48K issue 4B upper memory issue

Post by 1024MAK »

mikeh_nz wrote: Mon May 01, 2023 8:49 pm How do you disable the upper 32K on a spectrum? Is it pin 5 of IC23 to 5V?
Yes, see this post for the detail.

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.
mikeh_nz
Posts: 67
Joined: Sat Feb 04, 2023 8:03 am
Location: Seattle

Re: 48K issue 4B upper memory issue

Post by mikeh_nz »

I swapped the ula and it didn’t seem make a difference - I tried pushing and twisting on the ula to see if that would make any difference - no change - still corruption on the screen. If anything it is a bit worse now after the swap. I might try replacing the socket in the weekend to be sure.

Generally things do seem to improve as things heat up.

I disabled the upper ram and still got the corruption on the screen. I let it go around the loop a few times and twice it got the ram check error - both at the same address (0x7F73) and both with the same expects 0xC1 and got 0xFF.
Attachments
IMG_4405.jpeg
mikeh_nz
Posts: 67
Joined: Sat Feb 04, 2023 8:03 am
Location: Seattle

Re: 48K issue 4B upper memory issue

Post by mikeh_nz »

Update:

It’s not the z80, ula, or ICs 3,4, 23-26
A dry joint/crack somewhere that I haven’t been able to track down.

At the moment I’m working around it - a rubber o ring - it provides just a tiny flex in the board when the board is mounted in the closed case. So I’m going to shelve this topic for now…
mikeh_nz
Posts: 67
Joined: Sat Feb 04, 2023 8:03 am
Location: Seattle

Re: 48K issue 4B upper memory issue

Post by mikeh_nz »

I’ve just figured out the problem

It was the frigging diagnostic card.
I’m guessing some bad joint on edge connector of the card.

Swapping it with one purchased from retroleum and the machine is passing reliably now.
User avatar
Flatulentia
Posts: 93
Joined: Sun May 14, 2023 3:58 pm
Location: Cambridgeshire, UK

Re: 48K issue 4B upper memory issue

Post by Flatulentia »

Have you cleaned the edge connector on the ZX Spectrum?

If you don't have a fibre-bristle pen, an ink eraser works fine as long as the abrasive in it isn't too coarse. The blue end of a Faber-Castell eraser works fairly well if you're gentle with it.
ZX81 with ZiLOG Z84 CMOS Z80, 32KB battery-backed Toshiba 55257 SRAM with charge status LED, Wilf's "Why Wait?" mod and switch-mode 5V regulator. 50/60Hz mode switch, composite video output with Zigg's back porch mod and 1080p60 HDMI output.
mikeh_nz
Posts: 67
Joined: Sat Feb 04, 2023 8:03 am
Location: Seattle

Re: 48K issue 4B upper memory issue

Post by mikeh_nz »

Yeah I have with a fiberglass scratch pen and some deoxit

It’s either some solder joints on the diag board itself, or more likely a dodgy joint from the edge connector onto the diag board.
sP1d3r
Posts: 122
Joined: Mon May 16, 2022 9:20 am

Re: 48K issue 4B upper memory issue

Post by sP1d3r »

mikeh_nz wrote: Sat May 27, 2023 5:32 pm Update:

It’s not the z80, ula, or ICs 3,4, 23-26
I've found in the past that the wrong ULA can consistently give misleading results with Diagrom, even though the board always boots up.
If you've got an iss. 3 ULA it might be the source of the problem.
Post Reply