Andy Rea wrote: ↑Mon Sep 04, 2023 5:16 pm
@paul... re write protect rom..
so my idea then is ~RAMcs remains untouched... you add ram its your problem to solve addressing ect.
~ROMCS to be selectable option a) as is.. OR option b) the following conditions have to be met. 1) address =< $1FFF. 2) Mreq ( or stretched Mreq ) has to be low. 3) @WR has to be high.
i think that will eliminate all rom ghosting and make it write protect.
regards Andy
Fair enough
In theory, there is no difference between theory and practice. But, in practice, there is.
I'm sure Andy will provide more detail but just for reference the 20mhz computer he showed me used a custom made board made by himself not a standard ZX81 board so may have had other things built in to reach that speed, again I'm sure Andy will say more on this.
haven't really tried it on a standard keyboard.. so definitely the memotech at the moment.
oh the 20Mhz zx81 had a completely split address and data bus all done inside the cold, so no resistor blocking and digging signal improving signal integrity massivly not to mention improving the amount of switching noise on the screen rails. IIRC I also had to implement extra wait states on IO operations .
I am currently thinking of a way to either temporarily stop the cpu clock... or add wait states , the latter wod require yet another wire as the wait line is not present at tbe
ula pins
regards Andy
what's that Smell.... smells like fresh flux and solder fumes...
For the normal keyboard, the stray capacitance of the membrane will have more of an effect as the frequency of the Z80 increases. With the existing 10kΩ pull-up resistors (resistor pack RP3), the inputs to the (replacement) ULA have less time for the voltage to get beyond the threshold value.
Using a lower value for the pull-up resistors should help. It may be necessary to use transistors in place of diodes D1 to D8 as well (so speed up and provide more current instead of directly driving from the Z80 address bus).
Alternatively, as Andy suggests, insert a delay when reading the keyboard.
With the Memotech keyboard buffer, this blog page gives details of the circuitry.
Of your board has capacitors (C1 to C8) and resistors or wire links) (R1 to R8) between the 74LS244 and the keyboard, these should be removed and replaced with signal diodes.
Plus, five pull-up resistors should be fitted at the input lines to the 74LS365.