Contended I/O: Difference between revisions

Jump to navigation Jump to search
(Explain contention of ports 0x4000 to 0x7ffe with low bit clear)
m (Refine 0x4000 - 0x7ffe explanation slightly)
Line 35: Line 35:
The "Contention pattern" shows the sequence of (non-)contention which occurs: an entry of "N:x" means that the Z80 simply continues for x T states, while "C:x" means that the Z80 is paused for the same number of T states as with a normal [[contended memory]] access, before continuing for x T states.
The "Contention pattern" shows the sequence of (non-)contention which occurs: an entry of "N:x" means that the Z80 simply continues for x T states, while "C:x" means that the Z80 is paused for the same number of T states as with a normal [[contended memory]] access, before continuing for x T states.


Access to ports between 0x4000 and 0x7ffe with the low bit clear are subject to contention on every T state, as neither the contention cancellation mechanism for memory requests nor the contention cancellation mechanism for ULA IO port access is triggered.  Every T state of the IO access is therefore treated as if it were the first T state of a memory access.
Access to ports between 0x4000 and 0x7ffe with the low bit clear (i.e. when the ULA's own port is not being accessed) is subject to contention on every T state, as neither the contention cancellation mechanism for memory requests nor the contention cancellation mechanism for ULA IO port access is triggered.  Every T state of the IO access is therefore treated as if it were the first T state of a memory access.


== Notes ==
== Notes ==