Page 5 of 8

Re: Oh no! Not another ULA.

Posted: Mon Sep 04, 2023 6:07 pm
by Paul
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 ;)

Re: Oh no! Not another ULA.

Posted: Mon Sep 04, 2023 7:51 pm
by Moggy
@Kelly

@Mark

Thank you both for that information very grateful. :D

Re: Oh no! Not another ULA.

Posted: Mon Sep 04, 2023 9:59 pm
by Andy Rea
Well i didn't expect that, keyboard reads are screwed up at 13Mhz !!!

Re: Oh no! Not another ULA.

Posted: Mon Sep 04, 2023 10:03 pm
by Moggy
I'll settle for half that speed as I'm old and not as quick as I used to be!! :lol:

Re: Oh no! Not another ULA.

Posted: Tue Sep 05, 2023 6:48 am
by Paul
Andy Rea wrote: Mon Sep 04, 2023 9:59 pm Well i didn't expect that, keyboard reads are screwed up at 13Mhz !!!
Both? Memotech and Keyboard connector?
You had it going at 20MHz as far as I remember.

Re: Oh no! Not another ULA.

Posted: Tue Sep 05, 2023 1:47 pm
by Moggy
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. :D

Re: Oh no! Not another ULA.

Posted: Tue Sep 05, 2023 3:05 pm
by Andy Rea
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

Re: Oh no! Not another ULA.

Posted: Tue Sep 05, 2023 3:16 pm
by 1024MAK
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.

Mark

Re: Oh no! Not another ULA.

Posted: Tue Sep 05, 2023 3:34 pm
by 1024MAK
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.

That may help.

Mark

Re: Oh no! Not another ULA.

Posted: Tue Sep 05, 2023 10:52 pm
by Andy Rea
that's rather interesting, however I don't think I want to modify my memotech keyboard just yet...

right this minute I'm having a bit of fun trying various ideas

regards andy