Prev: 53378 Up: Map Next: 53526
53380: PLAY_GAME
Used by the routine at L53358. At this point, the lower third of the screen has been drawn; logo, lives indicator (but not how many lives), score indicator (but not score)
PLAY_GAME 53380 LD A,0 The '0' is modified by L27015
53382 LD (59664),A Store control method in CONTROL_METHOD
53385 LD (59662),SP Store SP to SP_STORAGE
53389 XOR A Clear carry flag, set A to zero
53390 LD (59673),A
53393 LD HL,59654 Prepare to clear seven bytes from L59654
53396 LD DE,59655
53399 LD BC,6
53402 LD (HL),0
53404 LDIR Loop six times, clearing 59654-59661
53406 LD A,3
53408 LD (59661),A
This entry point is used by the routine at L54591.
PLAY_GAME_0 53411 CALL SETUP_GAME This is only called once to set up the game
GAME_LOOP 53414 CALL L56194
53417 CALL GET_PLAYER_INPUT
53420 CALL L54423
53423 CALL L58050
53426 CALL L57886
53429 CALL L55228
53432 CALL PREPARE_AND_DRAW_ENEMIES Prepare and draw enemies
53435 CALL L57290
53438 CALL L55363
53441 CALL L56419
53444 CALL L55945
53447 CALL L56804
53450 CALL L58319 This populates the lives and score indicators with data
53453 CALL COPY_BUFFER_TO_SCREEN This copies the buffer to the screen
53456 CALL L58319
53459 CALL L56804
53462 CALL L55945
53465 CALL L56376
53468 CALL DRAW_PLAYER Draw player
53471 CALL PREPARE_AND_DRAW_ENEMIES Prepare and draw enemies
53474 CALL L55228
53477 CALL L55396
53480 CALL DRAW_ALL_UP_BULLETS Draw all upward-firing bullets
53483 CALL L58050_4
53486 CALL L58392
53489 CALL L54591
53492 LD A,(59679)
53495 AND A
53496 CALL Z,PLAYER_MOVEMENT This routine handles player input somehow
53499 CALL CHECK_ALL_BULLETS_LANDSCAPE_COLLISION
53502 CALL L55079
53505 CALL CHECK_ALL_ENEMY_COLLISIONS Check enemy collisions with bullets, scenery and player
53508 CALL L55653
53511 CALL L54985
53514 CALL L56096
53517 CALL L55492
53520 CALL L55438
53523 JP GAME_LOOP
Prev: 53378 Up: Map Next: 53526