Prev: 30230 Up: Map Next: 31591
31154: Routine at 79B2
Used by the routines at TitleScreen and StartGame.
31154 LD A,(26261) Return if bit 0 of *26261 is not set.
31157 AND %00000001
31159 RET Z
31160 LD HL,26325 HL=26325.
31163 LD B,6 B=6.
31165 LD A,(HL) Jump to 31178 if *HL is not zero.
31166 OR A
31167 JR NZ,31178
31169 PUSH BC Stash BC on the stack.
31170 LD B,200 B=200.
31172 DJNZ 31172 Decrease counter by one and loop back to 31172 until counter is zero.
31174 POP BC Restore BC from the stack.
31175 JP 31583 Jump to 31583.
31178 PUSH AF Stash AF, BC and HL on the stack.
31179 PUSH BC
31180 PUSH HL
31181 LD A,(26355) Jump to 31263 if *Flag_ActiveDemoMode is set.
31184 OR A
31185 JR NZ,31263
31187 LD A,(26353) Jump to 31224 if bit 1 of *26353 is not zero.
31190 AND %00000010
31192 JR Z,31224
31194 LD A,(HL) DE=*HL*8.
31195 ADD A,A
31196 ADD A,A
31197 ADD A,A
31198 LD E,A
31199 LD D,0
31201 LD HL,242 HL=0242+DE.
31204 ADD HL,DE
31205 LD B,3 B=3.
31207 PUSH BC Stash BC and HL on the stack.
31208 PUSH HL
31209 LD DE,2 DE=0002.
31212 CALL 949 Call BEEPER.
31215 DI Disable interrupts.
31216 POP HL Restore HL from the stack.
31217 INC HL Increment HL by two.
31218 INC HL
31219 POP BC Restore BC from the stack.
31220 DJNZ 31207 Decrease counter by one and loop back to 31207 until counter is zero.
31222 JR 31263 Jump to 31263.
31224 LD A,(HL)
31225 CP 1
31227 JR NZ,31263
31229 LD B,18
31231 LD HL,100
31234 PUSH BC
31235 PUSH HL
31236 LD A,100
31238 SUB B
31239 SUB B
31240 LD B,A
31241 LD A,16
31243 DI
31244 OUT (254),A
31246 DJNZ 31244
31248 LD DE,1
31251 CALL 949
31254 DI
31255 POP HL
31256 LD BC,8
31259 ADD HL,BC
31260 POP BC
31261 DJNZ 31234
31263 POP HL
31264 POP BC
31265 POP AF
31266 PUSH BC
31267 PUSH HL
31268 INC HL
31269 LD E,(HL)
31270 INC HL
31271 LD D,(HL)
31272 LD C,A
31273 LD A,(26353)
31276 AND 2
31278 LD A,C
31279 JR NZ,31385
31281 CP 1
31283 JR NZ,31297
31285 PUSH DE
31286 PUSH AF
31287 EX DE,HL
31288 CALL ConvertAttributeToScreenBufferAddress
31291 EX DE,HL
31292 CALL 30052
31295 POP AF
31296 POP DE
31297 CP 4
31299 JR NZ,31329
31301 PUSH DE
31302 PUSH AF
31303 LD HL,25901
31306 LD (HL),56
31308 LD A,D
31309 CP 90
31311 JR Z,31318
31313 LD (HL),50
31315 INC HL
31316 LD (HL),53
31318 CALL Handler_Score
31321 CALL PrintScore
31324 CALL PrintLives
31327 POP AF
31328 POP DE
31329 CP 7
31331 LD BC,836
31334 JR C,31347
31336 LD HL,25909
31339 CP 9
31341 JR C,31362
31343 LD C,3
31345 JR 31362
31347 INC C
31348 CP 4
31350 JR C,31357
31352 LD HL,25906
31355 JR 31362
31357 LD C,71
31359 LD HL,25903
31362 PUSH DE
31363 EX DE,HL
31364 CALL ConvertAttributeToScreenBufferAddress
31367 PUSH HL
31368 PUSH BC
31369 LD BC,20672
31372 AND A
31373 SBC HL,BC
31375 POP BC
31376 POP HL
31377 EX DE,HL
31378 CALL C,CustomFont_PrintString
31381 POP DE
31382 JP 31536
31385 CP 1
31387 JR NZ,31406
31389 PUSH DE
31390 PUSH AF
31391 EX DE,HL
31392 CALL ConvertAttributeToScreenBufferAddress
31395 EX DE,HL
31396 CALL 30052
31399 POP AF
31400 POP DE
31401 INC DE
31402 LD (DE),A
31403 DEC DE
31404 JR 31467
31406 CP 2
31408 JR NZ,31467
31410 PUSH AF
31411 PUSH DE
31412 LD HL,25900
31415 PUSH HL
31416 LD (HL),49
31418 LD A,(26257)
31421 OR A
31422 JR Z,31436
31424 LD A,D
31425 CP 89
31427 JR C,31433
31429 LD (HL),50
31431 JR Z,31436
31433 INC HL
31434 LD (HL),53
31436 EX DE,HL
31437 CALL ConvertAttributeToScreenBufferAddress
31440 PUSH HL
31441 LD BC,20672
31444 AND A
31445 SBC HL,BC
31447 POP HL
31448 EX DE,HL
31449 POP HL
31450 LD BC,837
31453 CALL C,Configurable_PrintString
31456 CALL Handler_Score
31459 CALL PrintScore
31462 CALL PrintLives
31465 POP DE
31466 POP AF
31467 PUSH DE
31468 LD C,A
31469 LD A,E
31470 INC A
31471 AND 31
31473 SUB C
31474 JR C,31500
31476 PUSH BC
31477 PUSH AF
31478 LD A,E
31479 SUB C
31480 LD E,A
31481 INC E
31482 CALL 26693
31485 DEC E
31486 POP AF
31487 JR Z,31499
31489 POP BC
31490 PUSH BC
31491 LD A,C
31492 CP 16
31494 JR Z,31499
31496 CALL 26702
31499 POP BC
31500 POP DE
31501 PUSH DE
31502 INC E
31503 LD A,E
31504 AND 31
31506 ADD A,C
31507 CP 32
31509 JR NC,31535
31511 PUSH BC
31512 CP 31
31514 PUSH AF
31515 LD A,E
31516 ADD A,C
31517 LD E,A
31518 DEC DE
31519 CALL 26693
31522 INC DE
31523 POP AF
31524 POP BC
31525 JR Z,31535
31527 LD A,C
31528 CP 16
31530 JR Z,31535
31532 CALL 26707
31535 POP DE
31536 POP HL
31537 INC (HL)
31538 LD A,(26353)
31541 AND 2
31543 LD A,11
31545 JR Z,31549
31547 LD A,17
31549 CP (HL)
31550 JR NZ,31582
31552 LD (HL),0
31554 PUSH HL
31555 EX DE,HL
31556 CALL ConvertAttributeToScreenBufferAddress
31559 PUSH HL
31560 LD BC,20672
31563 AND A
31564 SBC HL,BC
31566 POP HL
31567 EX DE,HL
31568 LD HL,16155
31571 LD BC,768
31574 CALL C,SpectrumFont_PrintString
31577 LD HL,26239
31580 DEC (HL)
31581 POP HL
31582 POP BC
31583 INC HL
31584 INC HL
31585 INC HL
31586 DEC B
31587 JP NZ,31165
31590 RET
Prev: 30230 Up: Map Next: 31591