I got a bit carried away designing - I even reworked all the top half memory board too, until I discovered that whilst my DIP32 chip fitted over the 3x20 way header perfectly, the smaller SMD chips I have left would have to be placed on the board and there wasn't room to run all the traces without reordering all the pins.
But this board did have a tape adaptor (in, out and motor), PS/2 keyboard, audio jumpers (so I could connect a speaker instead of going through SCART) and a breakout connector for the 3 buttons I'd originally designed for (which are implemented by the left 3 push switches on the mainboard). However, it looks like this board didn't really work...
Basically, the reason for designing this board at all was that the picture from the current board didn't work too well. It's a bit shimmery and the sync seems "iffy". As in, the picture is fine for a while and then just wobbles a lot and the picture disappears. There isn't a picture at all even on my TV downstairs and the new 12" TV I bought for the FPGA was very twitchy.
Eventually, I had the bright idea of measuring the current and realised that I was drawing far too much current through the FPGA, whose pins are supposed to drive about 8mA. I was probably easily exceeding that on the sync and quite close for RGB. So, I decided I need to drive the current through transistors and as luck would have it, I found a few BC548s knocking around in my electronics tub from an IR receiver I was building years ago.
After a simple start with all the SMT components, I moved on to the headers. Soldering these on top of the board was a mess. Most of the plastic melted. I'm going to have to get some SMT ones that are designed for this. Matters weren't helped by the really small pads I'd used for the headers. I'd designed my own component based on a 20x2 way header and beefed it up to 20x3 way using a python script. This was mistake 1. The original board was done with 3 separate 1x20 way headers which leaves big pads. I'd forgotten how hard solder is to actually get to stick to thin traces. I then realised that the transistors on the underside didn't fit because of all the banks of jumpers on the FPGA board that disconnect all the LEDs and switches on the board. So, I had to desolder them and bend them to fit. This ripped up all the collector traces. HURR!
After much fiddling, I eventually patched up the board, measured all the resistances for complete traces or shorts and all was well. Plugged it in and... NOTHING. Perplexed, I plugged it into the TV in parallel via my 3 way SCART block (a bad idea, but worth it) - there were patches of colour overlaying the other picture, so something was working... but the sync was all wrong.
I decided the TV couldn't possibly be presenting 75 ohm impedance and so my voltage divider wasn't working, but this wasn't it either - I fashioned a 68 ohm resistor out of 100 and 220 through hole resistors and measured the voltage and sure enough, it was about 0.065v which was about right for the sync pulse at 16/64 duty cycle. Stumped, I prodded around the scart box and discovered that pin 20 wasn't supplying a voltage at all... But pin 19 was. Then it dawned on me. SCART leads swap a few of the connections.
I started hacking up the composite trace with a sharp knife and then joining it up at the correct place. Plugged it in and the picture was terrible. Eventually, I got a half decent picture by applying a lateral pressure to the SCART socket, so clearly either the plug or socket isn't very high quality, but after all that work, it's not all that much better than before. Here's the test picture:
The sync is a bit more stable on the new TV, but doesn't seem to work at all on my LG. There's a slight bend at the top of the screen (although that could just be the test pattern not providing a correct sync of 5 half lines at the top of the frame) and the image still has speckles here and there. So, basically, back to the drawing board. Still, at least I've learned a few more soldering DON'Ts in this process! But seriously, SMT is so much easier, I can't wait until I'm using a custom board where I can just heat gun the whole thing!