superfo wrote:sirmorris wrote "I've replaced the diodes on my board but there's no difference. The shift behaviour is still broken"
That's what I thought, because only a few keys that don't work with shift key.
I don't have time to investigate it yet.
I also had some strange key-problems, when I built my ZX81 Laptop (see
http://forum.tlienhard.com/phpBB3/viewtopic.php?f=7&t=305&start=12):
in command mode, when I pressed the "P" key, I got the command word "CLEAR" instead of "PRINT". The next press on "P" gave the correct letter "P". So it was NOT a keyboard problem.
That effect disappearded, after I connected an external RAM pack. So it was a RAM issue, not a keyboard issue!
The problem is the old design of the ZX80/81, where the internal RAM's output drivers are enabled together with the complete chip ( /CE conneted to /OE). That causes a crash at the data bus, when the Z80 wants to write data into the RAM, because the RAM is enabled immediately when the address is valid and then also drives the data bus. But the Z80 also drives the data bus! 1 clock cycle after the address is valid the Z80 enables the /WR signal to write the data into the ram. And that is the moment, where the RAM releases the data bus (disables its output drivers). But then the data from the Z80 may not have enough time to stabilize and nonsense might be written into RAM.
That design works with old and slow RAM chips, but not with modern and fast chips, which enable their output drivers much faster!
So I feeded the /RD signal to /OE of the RAM chip. And the problem was solved!
(Later I used the signal /RD AND /RFSH to enable the ram, necessary for TRUE HIRES)
Maybe that is also the problem here!
Siggi
There are 10 types of people in this world: those who understand binary and those who don't.