$A2F8: 24 20 bit Globals::zp_flags $A2FA: 30 01 bmi @save_registers $A2FC: 40 rti @save_registers: $A2FD: 48 pha $A2FE: 8A txa $A2FF: 48 pha $A300: 98 tya $A301: 48 pha $A302: A9 00 lda #$00 $A304: 8D 03 20 sta OAM::m_address $A307: A9 02 lda #$02 $A309: 8D 14 40 sta OAM::m_dma $A30C: 24 28 bit Globals::zp_extra_flags $A30E: 10 03 bpl @check_pause $A310: 20 EE 8C jsr Score::nmi_update_scores @check_pause: $A313: 24 38 bit Driver::zp_flags $A315: 50 03 bvc @increase_rand $A317: 20 62 A2 jsr Driver::nmi_hud_toggle_pause @increase_rand: $A31A: E6 0A inc Prng::zp_rand $A31C: A9 08 lda #$08 $A31E: 25 20 and Globals::zp_flags $A320: D0 6E bne @ppu_registers $A322: 24 2E bit Driver::zp_blink_status $A324: 10 0B bpl @update_lifes $A326: A9 00 lda #$00 $A328: 50 02 bvc @set_blinking $A32A: A9 70 lda #$70 @set_blinking: $A32C: 85 04 sta Globals::zp_nmi_reserved $A32E: 20 BC A2 jsr Driver::nmi_blink_player_selection @update_lifes: $A331: A5 50 lda Player::zp_state $A333: 29 08 and #$08 $A335: F0 34 beq @shuttle_update $A337: 2C 02 20 bit PPU::m_status $A33A: A9 28 lda #$28 $A33C: 8D 06 20 sta PPU::m_address $A33F: A9 4B lda #$4B $A341: 8D 06 20 sta PPU::m_address $A344: A5 53 lda Player::zp_lifes $A346: 18 clc $A347: 69 10 adc #$10 $A349: 8D 07 20 sta PPU::m_data $A34C: 24 27 bit Globals::zp_multiplayer $A34E: 10 15 bpl @unset_life_flag $A350: 2C 02 20 bit PPU::m_status $A353: A9 28 lda #$28 $A355: 8D 06 20 sta PPU::m_address $A358: A9 56 lda #$56 $A35A: 8D 06 20 sta PPU::m_address $A35D: A5 54 lda $54 $A35F: 18 clc $A360: 69 10 adc #$10 $A362: 8D 07 20 sta PPU::m_data @unset_life_flag: $A365: A5 50 lda Player::zp_state $A367: 29 F7 and #$F7 $A369: 85 50 sta Player::zp_state @shuttle_update: $A36B: A5 20 lda Globals::zp_flags $A36D: AA tax $A36E: 29 20 and #$20 $A370: F0 13 beq @game_status $A372: A5 CB lda Items::zp_collected $A374: D0 06 bne @do_update_shuttle $A376: 20 78 89 jsr Background::nmi_clear_shuttle $A379: 4C 7F A3 jmp @unset_shuttle_flag @do_update_shuttle: $A37C: 20 59 91 jsr Items::update_shuttle @unset_shuttle_flag: $A37F: A5 20 lda Globals::zp_flags $A381: 29 DF and #$DF $A383: 85 20 sta Globals::zp_flags @game_status: $A385: 8A txa $A386: 29 01 and #$01 $A388: D0 06 bne @ppu_registers $A38A: A5 30 lda Title::zp_title_timer $A38C: F0 02 beq @ppu_registers $A38E: C6 30 dec Title::zp_title_timer @ppu_registers: $A390: 24 20 bit Globals::zp_flags $A392: 50 13 bvc @scroll $A394: A9 BF lda #$BF $A396: 25 20 and Globals::zp_flags $A398: 85 20 sta Globals::zp_flags $A39A: 2C 02 20 bit PPU::m_status $A39D: A5 81 lda PPU::zp_mask $A39F: 8D 01 20 sta PPU::m_mask $A3A2: A5 80 lda PPU::zp_control $A3A4: 8D 00 20 sta PPU::m_control @scroll: $A3A7: 2C 02 20 bit PPU::m_status $A3AA: A9 00 lda #$00 $A3AC: 8D 05 20 sta PPU::m_scroll $A3AF: 8D 05 20 sta PPU::m_scroll $A3B2: 20 1D 8B jsr Sound::tick $A3B5: A9 7F lda #$7F $A3B7: 25 20 and Globals::zp_flags $A3B9: 85 20 sta Globals::zp_flags $A3BB: 68 pla $A3BC: A8 tay $A3BD: 68 pla $A3BE: AA tax $A3BF: 68 pla $A3C0: 40 rti irq: