Prev: 0030 Up: Map Next: 0053
0038: THE 'MASKABLE INTERRUPT' ROUTINE
The real time clock is incremented and the keyboard scanned whenever a maskable interrupt occurs.
Input
Output
MASK_INT 0038 PUSH AF Save the current values held in these registers.
0039 PUSH HL
003A LD HL,($5C78) The lower two bytes of the frame counter (FRAMES) are incremented every 20 ms. (U.K.) The highest byte of the frame counter is only incremented when the value of the lower two bytes is zero.
003D INC HL
003E LD ($5C78),HL
0041 LD A,H
0042 OR L
0043 JR NZ,KEY_INT
0045 INC (IY+$40)
KEY_INT 0048 PUSH BC Save the current values held in these registers.
0049 PUSH DE
004A CALL KEYBOARD Now scan the keyboard.
004D POP DE Restore the values.
004E POP BC
004F POP HL
0050 POP AF
0051 EI The maskable interrupt is enabled before returning.
0052 RET
Prev: 0030 Up: Map Next: 0053