Page 1 of 1

Using WAIT signal?

Posted: Thu Jan 25, 2024 3:11 pm
by mrtinb
Hi!

If I'm creating a new circuit to connect to the ZX81 is it possible to:
  1. Pull the WAIT signal LOW
  2. Update the RAM of the ZX81
  3. Release the WAIT signal
and then the RAM is updated by the external circuit.

Is that possible?

Re: Using WAIT signal?

Posted: Thu Jan 25, 2024 4:59 pm
by Paul
That's not what /wait is intended for.
I don't know what happens to all the other z80 control lines.
If you try a /busreq and wait for busack then z80 goes into tristate and you can acces the ram in any way you like for as long as you like.
Of course the screen will not be updated by the zeddy.
That is the intended way.

Re: Using WAIT signal?

Posted: Thu Jan 25, 2024 6:34 pm
by 1024MAK
The purpose of the /WAIT signal, is to extend the time briefly for slow I/O devices or slow memory to respond before the Z80 (reads data and) continues the next machine (instruction) cycle.

Duing a /WAIT, the Z80 maintains the address, control and data bus in state that was current (prior to the /WAIT signal being detected by the Z80).

It is not intended to be used for other devices to control the memory in the system.

As Paul says, if you want an external device to access the system memory, the /BUSREQ control signal is what you want. However, IIRC, the ULA knows nothing of this, so the external device has to be careful that it does not cause the ULA to think that video memory is being accessed. This would only be a problem if the /M1 line is low. Otherwise you don't need to worry about it.

Mark

Re: Using WAIT signal?

Posted: Thu Jan 25, 2024 7:19 pm
by mrtinb
Thank you Paul and Mark for your great response.