Prev: 29062 Up: Map Next: 29560
29080: Routine at 7198
29080 CALL 29062 Call 29062.
29083 POP IX Restore IX from the stack.
29085 XOR A Write 0 to FrameUpdated.
29086 LD (24355),A
29089 EI Enable interrupts.
29090 RET Return.
29091 LD DE,8 IX=IX + 8.
29094 ADD IX,DE
29096 PUSH IX HL=IX (using the stack to make the transfer).
29098 POP HL
29099 LD BC,24453 BC=24453(see 29062).
29102 AND A
29103 SBC HL,BC HL=HL - BC.
29105 JP C,MainLoop If there is any carry-over, jump to MainLoop.
Holding "SHIFT" during an interlude pauses the game.
29108 LD A,254 Read from the keyboard;
Port Number Bit
0 1 2 3 4
254 SHIFT Z X C V
29110 OUT (253),A
29112 IN A,(254)
29114 BIT 0,A Has key "SHIFT" been pressed?
29116 JR Z,29108 If it has then jump to 29108.
29118 LD HL,(24349) HL=24349(see 29073).
29121 INC HL
29122 LD (24349),HL
29125 LD A,(24347)
29128 LD (24348),A
29131 LD B,A
29132 LD A,(24367)
29135 OR B
29136 JR NZ,29144
29138 CALL 28989 Call 28989.
29141 CALL NextLevel Call NextLevel.
29144 LD A,(24347)
29147 CP 6
29149 JR NC,29201
29151 LD A,(24349)
29154 LD B,A
29155 LD A,R
29157 ADD A,B
29158 AND %00011111 Keep only bits 0-4.
29160 JR NZ,29201
29162 LD A,(24357)
29165 AND A
29166 JR NZ,29201
29168 LD A,(24367)
29171 AND A
29172 JR Z,29201
29174 LD A,(24373)
29177 AND %00111111 Keep only bits 0-5.
29179 DEC A
29180 JR Z,29185
29182 DEC A
29183 JR NZ,29201
29185 LD HL,24405
29188 LD B,6
29190 LD DE,8
29193 LD A,(HL)
29194 AND A
29195 JP Z,29204
29198 ADD HL,DE
29199 DJNZ 29193
29201 JP MainLoopResetStack Jump to MainLoopResetStack.
29204 EX DE,HL
29205 LD HL,29305
29208 PUSH BC
29209 LD BC,8
29212 PUSH DE
29213 LDIR
29215 POP IX
29217 LD A,8
29219 LD (IX+0),A
29222 LD A,(24365)
29225 AND 7
29227 LD C,A
29228 SLA A
29230 ADD A,C
29231 RLA
29232 RLA
29233 RLA
29234 AND %01111000 Keep only bits 3-6.
29236 ADD A,47
29238 LD (IX+2),A
29241 LD HL,28029
29244 SLA C
29246 LD B,0
29248 ADD HL,BC
29249 LD A,(HL)
29250 LD (IX+0),A
29253 INC HL
29254 LD A,(HL)
29255 LD (IX+3),A
29258 LD A,(24365)
29261 SRL A
29263 SRL A
29265 SRL A
29267 POP BC
29268 CP 4
29270 JR C,29274
29272 LD A,4
29274 INC A
29275 SUB B
29276 JP M,29297
29279 LD A,R
29281 AND %00000011 Keep only bits 0-1.
29283 JR NZ,29286
29285 INC A
29286 SLA A
29288 ADD A,28
29290 LD (IX+0),A
29293 LD (IX+3),69 Set the colour to 69.
29297 CALL 30231 Call 30231.
29300 CALL 26594 Call 26594.
29303 JR 29201 Jump to 29201.
29305 DEFB 4,218,47,70,254,2,0,0
29313 DEFB 205,208,118,33,27,95,52,221
29321 DEFB 126,1,254,200,48,115,205,70
29329 DEFB 106,29,202,115,106,205,23,115
29337 DEFB 221,203,0,126,32,110,221,54
29345 DEFB 3,70
This entry point is used by the routine at 26820.
29347 LD A,(IX+2)
29350 ADD A,(IX+5)
29353 CP 33
29355 JR C,29402
29357 CP 160
29359 JR NC,29422
29361 LD (IX+2),A
This entry point is used by the routine at 26820.
29364 LD A,(IX+1)
29367 ADD A,(IX+4)
29370 LD (IX+1),A
29373 CP 4
29375 JR C,29412
29377 CP 192
29379 JR NC,29432
29381 INC (IX+7)
29384 LD A,(IX+7)
29387 RRA
29388 AND 1
29390 XOR (IX+0)
29393 LD (IX+0),A
This entry point is used by the routine at 26088.
29396 CALL 30156
29399 JP 29934
29402 LD (IX+5),2
29406 SET 0,(IX+6)
29410 JR 29364
29412 LD (IX+4),2
29416 SET 1,(IX+6)
29420 JR 29381
29422 LD (IX+5),254
29426 RES 0,(IX+6)
29430 JR 29364
29432 LD (IX+4),254
29436 RES 1,(IX+6)
29440 JR 29381
29442 LD A,R
29444 AND 4
29446 SUB 2
29448 LD (IX+5),A
29451 JR 29364
This entry point is used by the routines at 26088, 26820 and 27770.
29453 CALL 28197
29456 LD A,(IX+0)
29459 AND A
29460 RET Z
29461 JR 29396
This entry point is used by the routines at 26088, 26820 and 27770.
29463 LD DE,8
29466 LD HL,24381
29469 LD B,2
29471 PUSH HL
29472 LD A,(HL)
29473 AND A
29474 JR Z,29518
29476 CP 38
29478 JR NC,29518
29480 INC HL
29481 LD A,(HL)
29482 SUB (IX+1)
29485 JP P,29494
29488 NEG
29490 LD C,10
29492 JR 29496
29494 LD C,18
29496 CP C
29497 JR NC,29518
29499 INC HL
29500 LD A,(HL)
29501 SUB (IX+2)
29504 JP P,29513
29507 NEG
29509 LD C,18
29511 JR 29515
29513 LD C,10
29515 CP C
29516 JR C,29523
29518 POP HL
29519 ADD HL,DE
29520 DJNZ 29471
29522 RET
29523 LD (IX+3),71
29527 SET 7,(IX+0)
29531 LD (IX+7),64
29535 INC HL
29536 INC HL
29537 LD A,(HL)
29538 LD (IX+4),A
29541 INC HL
29542 LD A,(HL)
29543 LD (IX+5),A
29546 POP HL
29547 PUSH IX
29549 PUSH HL
29550 POP IX
29552 CALL 28580
29555 POP IX
29557 JP 26686
Prev: 29062 Up: Map Next: 29560