Routines |
Prev: 95D2 | Up: Map | Next: 9635 |
Used by the routine at AliasInterruptRedirect.
|
||||
InterruptRoutine | 95ED | PUSH AF | Stash AF, BC, DE, HL and IX on the stack. | |
95EE | PUSH BC | |||
95EF | PUSH DE | |||
95F0 | PUSH HL | |||
95F1 | PUSH IX | |||
95F3 | CALL $CBF7 | Call CBF7. | ||
95F6 | LD A,($9B2B) | Jump to GetControls if *9B2B is not zero. | ||
95F9 | AND A | |||
95FA | JR Z,GetControls | |||
95FC | LD HL,$9AB5 | HL=9AB5. | ||
95FF | DEC (HL) | Decrease *HL by one. | ||
9600 | JR NZ,GetControls | Jump to GetControls if *HL is not zero. | ||
9602 | LD (HL),$32 | Write "2" to *HL. | ||
Handle the units digit of AroundTheClock_Timer.
|
||||
9604 | LD HL,$A38D | HL=A38D (2nd digit of AroundTheClock_Timer). | ||
9607 | DEC (HL) | Decrease *HL by one. | ||
Has A38D just ticked down from a "0"?
|
||||
9608 | LD A,(HL) | Jump to InterruptDrivenTimer if *HL is not equal to 2F ("0" minus one). | ||
9609 | CP $2F | |||
960B | JR NZ,InterruptDrivenTimer | |||
Replace the unit digit with a "9".
|
||||
960D | LD (HL),$39 | Write "9" to *HL. | ||
Handle the tens digit of AroundTheClock_Timer.
|
||||
960F | LD HL,$A38C | HL=AroundTheClock_Timer. | ||
9612 | DEC (HL) | Decrease *HL by one. | ||
Has AroundTheClock_Timer just ticked down from a "0"?
|
||||
9613 | LD A,(HL) | Jump to InterruptDrivenTimer if *L is not equal to 2F ("0" minus one). | ||
9614 | CP $2F | |||
9616 | JR NZ,InterruptDrivenTimer | |||
This signifies that the time is now up!
|
||||
9618 | LD A,$01 | Write 01 to *9B2A. | ||
961A | LD ($9B2A),A | |||
961D | DEC A | Write 00 to *9B2B. | ||
961E | LD ($9B2B),A | |||
9621 | JR GetControls | Jump to GetControls. | ||
Print the "Around The Clock" timer.
|
||||
InterruptDrivenTimer | 9623 | CALL Messaging_AroundTheClock_Timer | Call Messaging_AroundTheClock_Timer. | |
GetControls | 9626 | CALL InterruptDrivenControls | Call InterruptDrivenControls. | |
9629 | LD ($F821),A | Write A to *ControlByte. | ||
962C | POP IX | Restore IX, HL, DE, BC and AF from the stack. | ||
962E | POP HL | |||
962F | POP DE | |||
9630 | POP BC | |||
9631 | POP AF | |||
9632 | EI | Enable interrupts. | ||
9633 | RETI | Return from the interrupt routine. |
Prev: 95D2 | Up: Map | Next: 9635 |