Prev: 32154 Up: Map Next: 32291
32195: Main Loop
Used by the routines at DrawRoom and EnterRoom.
MainLoop 32195 LD SP,24064 Set stack pointer to 24064.
32198 EI Enable interrupts.
32199 XOR A Write 0 to NumCreatures.
32200 LD (24101),A
32203 LD IX,60072 IX=60072.
32207 LD A,(24084) Checking bit 0 of GameFlags; jump to MainLoop_0 if the room content is already drawn.
32210 BIT 0,A
32212 JR NZ,MainLoop_0
32214 LD IX,61152 IX=61152.
32218 JR DrawRoom Jump to DrawRoom.
MainLoop_0 32220 LD A,(23672) A=FRAMES.
32223 LD C,A
32224 LD A,(24067) A=24067.
32227 CP C
32228 CALL NZ,ProcessAction_5
32231 LD A,(60049) A=PlayerRoom.
32234 CP (IX+1)
32237 LD HL,32243 HL=32243.
32240 JP Z,ProcessAction
32243 LD DE,8 DE=0008.
32246 ADD IX,DE
32248 PUSH IX
32250 POP HL
32251 LD DE,61024 DE=61024.
32254 AND A
32255 SBC HL,DE
32257 JR C,MainLoop_0
MainLoop_1 32259 LD A,(23672) A=FRAMES.
32262 LD C,A
32263 LD A,(24067) A=24067.
32266 CP C
32267 CALL NZ,ProcessAction_5
32270 LD HL,32275 HL=32275.
32273 JR ProcessAction
32275 LD DE,16 DE=0016.
32278 ADD IX,DE
32280 PUSH IX
32282 POP HL
32283 LD DE,61152 DE=61152.
32286 AND A
32287 SBC HL,DE
32289 JR C,MainLoop_1
Prev: 32154 Up: Map Next: 32291