48K issue 4B upper memory issue
48K issue 4B upper memory issue
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) 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) 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
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) 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) 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.
- 1024MAK
- Posts: 5118
- Joined: Mon Sep 26, 2011 10:56 am
- Location: Looking forward to summer in Somerset, UK...
Re: 48K issue 4B upper memory issue
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
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.
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.
Re: 48K issue 4B upper memory issue
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
How do you disable the upper 32K on a spectrum? Is it pin 5 of IC23 to 5V?
Ula is socketed and I do have a working spectrum that I can swap with
Z80 is not socketed.
I’ll try
- An inspection around my recap points
- the ula swap
- And then a reflow
How do you disable the upper 32K on a spectrum? Is it pin 5 of IC23 to 5V?
- 1024MAK
- Posts: 5118
- Joined: Mon Sep 26, 2011 10:56 am
- Location: Looking forward to summer in Somerset, UK...
Re: 48K issue 4B upper memory issue
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.
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.
Re: 48K issue 4B upper memory issue
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.
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.
Re: 48K issue 4B upper memory issue
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…
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…
Re: 48K issue 4B upper memory issue
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.
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.
- Flatulentia
- Posts: 93
- Joined: Sun May 14, 2023 3:58 pm
- Location: Cambridgeshire, UK
Re: 48K issue 4B upper memory issue
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.
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.
Re: 48K issue 4B upper memory issue
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.
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.