Sinclair — ZX Spectrum +2
The childhood ZX Spectrum +2 (grey, issue 3) stopped booting properly in 2021 with dead memory. All sixteen 4164 DRAMs were socketed and replaced, then the originals were sorted one at a time in a contended slot to find the bad ones. Recapped along with the PSU, 7805 replaced, the C31 audio bleed mod done, TR4, TR5 and TR7 reversed to correct a factory silkscreen error, and a solder bridge on the ULA cleared. C52 next to the ULA was later swapped for a 100uF radial and 1nF ceramics added across C72 to C79 to knock back the jailbars, and a DivMMC took over from tape loading. Five years on and still running.
In 2021 my ZX Spectrum +2 (grey, issue 3) stopped booting properly. Dead RAM, as it turns out. While I was in there I recapped it and the PSU, replaced the 7805 and also fixed a factory error.
The +2's 128K is sixteen 4164 DRAMs, IC17 to IC32. Top row IC17-24 is uncontended. Bottom row IC25-32 is contended: the ULA shares those banks with the CPU for video fetch, so the Z80 gets stalled on access.
So I started by desoldering every single one of those chips and installing sockets.
I shotgunned it. Put in all 16 "new" Tesla MHB4164, the Czechoslovak clone. Cheap, abundant, standard fitment in Didaktik machines. The sockets would make it easier for me to fix this issue in the future and also test the old parts.
Then I sorted the pulls. One at a time into a bottom-row position with 15 known-good around it. Boots clean, good. Doesn't, bad. Crude, but the chip is being exercised at real ULA timing with real refresh.
The other fix. On the Z70500 ISS3 board, TR4, TR5 and TR7 (all 2N3904) are marked wrong on the PCB silkscreen and were installed backwards at the factory.
TR4 is composite video out on RGB pin 1 from the TEA2000. TR5 is vertical sync on RGB pin 5 from the ULA. TR7 pulls /IOREQ high when A0 is active. Reversed, TR7 stops working as an emitter follower and behaves as a diode, loading A0 with 470R.
Fixing this means reversing them, so the correct orientation is backwards relative to the silkscreen. If you open yours and TR4 looks properly seated, that's the fault.
Usual explanation is the part was switched to 2N3904 without updating the silkscreen, or someone worked from a bad datasheet. Nobody actually knows.
Also did the C31 mod. That cap couples the audio subcarrier into the TEA2000, so sound bleeds into composite and RGB. Pull it, route the signal through a new cap to TR1's emitter, and audio reaches the RF modulator without contaminating video. Note C31 is under the board on some batches.
By this point, I had a working machine again but something was off. Since I had reflowed some dull looking joints on some ICs. I looked around and eventually found a very tiny bridge on the ULA.
Now we're talking. Back to the normal iconic colours on the screen and off to the races, testing with one of my favourite games. I spent so much time sucking at Manic Miner... 😄
Mind you, I was still using tape to test these, so for instance, Lotus Challenge here, takes like 20mins to load! I loved playing this game as a kid.
Some time later, I got myself a DivMMC, which makes loading games a breeze, so I started to test out stuff I'd never had a chance to try back then, like Outrun and Chase H.Q. (I could never get our tape of this to load). Five years on and still running.
Almost forgot about this, I also swapped C52 next to the ULA for a 100uF radial and added 1nF ceramics across C72-C79 on the underside. This helps to reduce the jailbar effect, per Stuart Brand's Grey +2 mod list.
For reference, this is what the machine was doing before the fix.
Got myself an @sew_ready dust cover for my ZX Spectrum, after hearing about them on @RMCRetro. I'm happy that my Spectrum will no longer be so vulnerable to dust but I'm a bit disappointed with the quality. I didn't expect the finishing trim to look like this. #RETROGAMING

Nintendo — Game Boy Player

Sony — BVM-9045QD

Sony — PVM-9040

Sony — PVM-14M4J

Nintendo — Virtual Boy

Sega — Game Gear