Routines |
Prev: 27022 | Up: Map | Next: 27159 |
Called from the main loop at 25129.
|
||||
27044 | LD HL,(31940) | Pick up the bell's location in the current maze. | ||
27047 | LD A,H | Has Horace already sounded the alarm? | ||
27048 | OR L | |||
27049 | JR NZ,27088 | Jump if not. | ||
Horace has already sounded the alarm. Produce an appropriate delay in place of the bell sound.
|
||||
27051 | LD A,(31842) | Pick up the game speed parameter in A. | ||
27054 | LD E,A | HL=350+30*A. | ||
27055 | LD HL,350 | |||
27058 | LD BC,30 | |||
27061 | ADD HL,BC | |||
27062 | DEC E | |||
27063 | JR NZ,27058 | |||
27065 | XOR A | Clear A for no apparent reason. | ||
27066 | LD A,(27402) | Pick up the active guard counter (0-3) in A. | ||
27069 | RLA | Subtract 128*A from HL. | ||
27070 | RLA | |||
27071 | RLA | |||
27072 | RLA | |||
27073 | RLA | |||
27074 | RLA | |||
27075 | LD B,0 | |||
27077 | LD C,A | |||
27078 | SBC HL,BC | |||
27080 | SBC HL,BC | |||
27082 | PUSH HL | Copy HL to BC. | ||
27083 | POP BC | |||
27084 | CALL 27404 | Wait for 26*BC+5 T states. | ||
27087 | RET | |||
Horace has not sounded the alarm yet. Produce an appropriate bell sound if necessary.
|
||||
27088 | LD A,(31942) | Pick up the bell animation frame counter. | ||
27091 | AND 63 | Keep only bits 0-5. | ||
27093 | CP 0 | Is the frame counter a multiple of 64 at the moment? (This instruction is redundant.) | ||
27095 | JR NZ,27126 | Jump if not. | ||
27097 | LD HL,31849 | Pick up the sound on/off indicator in A. | ||
27100 | LD A,(HL) | |||
27101 | CP 31 | Is the sound on? | ||
27103 | JR NZ,27051 | Jump if not. | ||
27105 | LD DE,22 | Call the ROM to make a short sound effect. | ||
27108 | LD HL,403 | |||
27111 | CALL 949 | |||
27114 | DI | Disable interrupts after the ROM call. | ||
27115 | LD DE,26 | Call the ROM again to make another short sound effect. | ||
27118 | LD HL,360 | |||
27121 | CALL 949 | |||
27124 | DI | Disable interrupts after the ROM call. | ||
27125 | RET | |||
27126 | CP 32 | Is the bell animation frame counter a multiple of 32 at the moment? | ||
27128 | JR NZ,27051 | Jump if not. | ||
27130 | LD HL,31849 | Pick up the sound on/off indicator in A. | ||
27133 | LD A,(HL) | |||
27134 | CP 31 | Is the sound on? | ||
27136 | JR NZ,27051 | Jump if not. | ||
27138 | LD DE,26 | Call the ROM to make a short sound effect. | ||
27141 | LD HL,360 | |||
27144 | CALL 949 | |||
27147 | DI | Disable interrupts after the ROM call. | ||
27148 | LD DE,22 | Call the ROM again to make another short sound effect. | ||
27151 | LD HL,403 | |||
27154 | CALL 949 | |||
27157 | DI | Disable interrupts after the ROM call. | ||
27158 | RET |
Prev: 27022 | Up: Map | Next: 27159 |