- added extra decoupling capacitors - this seemed to make things worse! [I used metal film caps as I've got loads but these may be making matters worse - I'm getting some ceramics today]
- tried removing the clock signal from the bus to make sure it was getting to the z80 cleanly
- tried different z80 chips
- replaced all the 74LS244 buffers on the processor board
- tried adding pull-up resistors to the data bus (tried 10k and 2k2)
This all made no real difference with the processor often randomly jumping to FFFF or 03FF and register load/saves containing random data
Finally, in depsperation, I added a set of 74LS244 buffers to the memory card databus and can now get reliable operation but only up to 1 MHz whereas before all this started going wrong I could acheive full 4MHz if not 100% reliably.
Next up I'll try swapping all the decoupling caps for 100nF ceramics (should have lower inductance and better a mopping up spikes?) and check that I haven't got any decouplers connected to the wrong lines!
Anyway after all that messing I got my LCD I/O Port working at about 1am, enough to display a hello world anyway!