This is an old revision of the document!


Interrupt Scheduler

The Interrupt Scheduler handles system timers and counters.

Interrupt Scheduler Routines

Name Description
ACTINT Activate automatic interrupt service (timers, music, blackout)
CTIMER Call custom timer
DECCTS Decrement counters/timers under mask (used by ACTINT and DECCTS)
STIMER Track and decrement game timers

Interrupt Scheduler Routine Descriptions

ACTINT

ACTIVE INTERRUPTS

Calling Sequence:
SYSTEM    ACTINT

or

SYSSUK    ACTINT
Arguments: None
Outputs: None
Function: Sets IM=2, INLIN=200, sets I register + INFBK
Calls TIMEX and TIMEY
Enables interrupts
Description: Once ACTINT is called, it provides interrupt service completely automatically. It runs the seconds timer, the game timer, the music processor, and blackout timers, plus CT0, CT1, CT2, CT3. Timers function every 1/60th of a second.

CTIMER

CUSTOM TIMER

Calling Sequence:
CALL      CTIMER
Input: HL = address of custom time base
B = value to load into time base 1 to 0 transition
C = counter mask as in DECCTS
Notes: None
Description: HL is loaded and decremented. If HL != 0, then a return is executed, otherwise, HL is loaded with B and DECCTS is called.
Registers HL, DE, BC, and AF are undefined upon exit.
Restrictions: None

DECCTS

STIMER