83Plus:Hooks:9B78

From WikiTI
Revision as of 19:09, 1 April 2005 by JasonM (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Synopsis

Name: Link Activity Hook

Hook Pointer Block Address: 9B78

Hook Enable BCALL: 4F84

Hook Disable BCALL: 4F87

Hook Call BCALL: (Unknown)

Hook Active Flag: 4, (iy + 33h)

Hook Override Flag: 3, (iy + 33h)

This hook is called whenever link activity is detected by the OS's interrupt handler.

Using the Hook

This hook is unique in the respect that there is an OS-managed override bit. If 3, (iy + 33h) is set, the hook will not be called. This bit is called upon entry to GetKey, and is restored to it's origianl value upon exit (for the curious, iy + 33h is copied to bpSave). Consequently it is impossible (without using another hook to reset the flag during GetKey) to recieve events during GetKey; this means this hook can't be triggered throughout most parts of the TI-OS.

The hook is called whenever the interrupt detects link activity; that is, one of the two data lines has been pulled low. A contains the value the interrupt read from the link port, nothing more than the value from port 0 with the upper 6 bits masked out. All values / flags returned are ignored.