![]() |
Routines |
| Prev: 38354 | Up: Map | Next: 38453 |
|
Used by the routine at AliasInterruptRedirect.
|
||||
| InterruptRoutine | 38381 | PUSH AF | Stash AF, BC, DE, HL and IX on the stack. | |
| 38382 | PUSH BC | |||
| 38383 | PUSH DE | |||
| 38384 | PUSH HL | |||
| 38385 | PUSH IX | |||
| 38387 | CALL 52215 | Call 52215. | ||
| 38390 | LD A,(39723) | Jump to GetControls if *39723 is not zero. | ||
| 38393 | AND A | |||
| 38394 | JR Z,GetControls | |||
| 38396 | LD HL,39605 | HL=39605. | ||
| 38399 | DEC (HL) | Decrease *HL by one. | ||
| 38400 | JR NZ,GetControls | Jump to GetControls if *HL is not zero. | ||
| 38402 | LD (HL),50 | Write "2" to *HL. | ||
|
Handle the units digit of AroundTheClock_Timer.
|
||||
| 38404 | LD HL,41869 | HL=41869 (2nd digit of AroundTheClock_Timer). | ||
| 38407 | DEC (HL) | Decrease *HL by one. | ||
|
Has 41869 just ticked down from a "0"?
|
||||
| 38408 | LD A,(HL) | Jump to InterruptDrivenTimer if *HL is not equal to 47 ("0" minus one). | ||
| 38409 | CP 47 | |||
| 38411 | JR NZ,InterruptDrivenTimer | |||
|
Replace the unit digit with a "9".
|
||||
| 38413 | LD (HL),57 | Write "9" to *HL. | ||
|
Handle the tens digit of AroundTheClock_Timer.
|
||||
| 38415 | LD HL,41868 | HL=AroundTheClock_Timer. | ||
| 38418 | DEC (HL) | Decrease *HL by one. | ||
|
Has AroundTheClock_Timer just ticked down from a "0"?
|
||||
| 38419 | LD A,(HL) | Jump to InterruptDrivenTimer if *L is not equal to 47 ("0" minus one). | ||
| 38420 | CP 47 | |||
| 38422 | JR NZ,InterruptDrivenTimer | |||
|
This signifies that the time is now up!
|
||||
| 38424 | LD A,1 | Write 1 to *39722. | ||
| 38426 | LD (39722),A | |||
| 38429 | DEC A | Write 0 to *39723. | ||
| 38430 | LD (39723),A | |||
| 38433 | JR GetControls | Jump to GetControls. | ||
|
Print the "Around The Clock" timer.
|
||||
| InterruptDrivenTimer | 38435 | CALL Messaging_AroundTheClock_Timer | Call Messaging_AroundTheClock_Timer. | |
| GetControls | 38438 | CALL InterruptDrivenControls | Call InterruptDrivenControls. | |
| 38441 | LD (63521),A | Write A to *ControlByte. | ||
| 38444 | POP IX | Restore IX, HL, DE, BC and AF from the stack. | ||
| 38446 | POP HL | |||
| 38447 | POP DE | |||
| 38448 | POP BC | |||
| 38449 | POP AF | |||
| 38450 | EI | Enable interrupts. | ||
| 38451 | RETI | Return from the interrupt routine. | ||
| Prev: 38354 | Up: Map | Next: 38453 |