...
BIT NAME Function
7 FLAPOPEN If set, flap open else flap closed
6 A19 If set, high level on A19 occurred during coma
5 FLAP If set, positive edge has occurred on FLAPOPEN
4 UART If set, an enabled UART interrupt is active
3 BTL If set, battery low pin is active
2 KEY If set, a column has gone low in snooze (or coma)
1 - -
0 TIME If set, an enabled TIME interrupt is active
UART is the result of TDRE, RDRF, DCDI and CTSI interrupt masked with UMK.
TIME is the result of TICK, SEC and MIN interrupt masked with TMK.
The logic is detailed below :
INT.UART = STA.UART = (UIT.TDRE & UMK.TDRE) | (UIT.RDRF & UMK.RDRF) | (UIT.DCDI & UMK.DCD) | (UIT.CTSI & UMK.CTS)
INT.TIME = STA.TIME = (TSTA.TICK & TMK.TICK) | (TSTA.SEC & TMK.SEC) | (TSTA.MIN & TMK.MIN)
The following diagram shows the how the registers combined defines the /INT signal (simplified):
Gliffy | ||||
---|---|---|---|---|
|
Mr G, could you please :
1) Remove the link between flapopen and flap. (flapopen is just a state, not an interrupt)
2) Add <--- 1 — between int and sta columns.
3) Add an arrow from sta to z80 with a IN A,(STA) in Z80
4) Bold the /INT REQ and its arrow
5) Enlarge the event and add : Event (5 ms tick, second, minute, serial port byte received, battery low ...)
6) Add a /NMI box with a pulse symbol (if you want...) with power failure, card insertion → /SNS -→ /NMI