Prev: 832A Up: Map Next: 8429
83D0: Next stage
Used by the routine at stage_completed.
next_stage 83D0 LD HL,status_flags Flags
83D3 RES 0,(HL)
83D5 RES 1,(HL)
83D7 XOR A
83D8 LD (wave),A Clear wave
83DB LD (enemies_hit),A Clear enemies destroyed
83DE LD A,(stage) Stage
83E1 INC A Next stage
83E2 CP $18 Did we reach 24?
83E4 JR C,next_stage_0 No, skip ahead
83E6 LD HL,completed_stages Get the total stages completed
83E9 ADD A,(HL) And add 24
83EA LD (HL),A Save again
83EB XOR A And set stage to zero
next_stage_0 83EC LD (stage),A Save stage
83EF LD HL,status_flags Flags
83F2 RES 3,(HL) Reset bit 3
83F4 LD A,(stage) Stage
83F7 AND $03 Mod 4
83F9 CP $03 Is it a chance stage?
83FB JR NZ,next_stage_1 No, skip ahead
83FD SET 3,(HL) Yes, set flag
next_stage_1 83FF XOR A Reset death count
8400 LD (stage_death_count),A ...
8403 CALL display_planet Undraw planet
8406 LD HL,$201C Set 4 colors to white/black
8409 LD DE,$0004 ...
840C LD A,$F1 ...
840E CALL $1F82 FILL_VRAM
8411 LD HL,$0700 Address in pattern table
8414 LD DE,$0100 256 bytes = 32 patterns
8417 XOR A Clear
8418 CALL $1F82 FILL_VRAM
841B LD A,(other_flags) Save flags
841E PUSH AF ...
841F CALL init_stage Init stage
8422 POP AF Restore flags
8423 LD (other_flags),A ...
8426 JP main_loop Jump to main loop
Prev: 832A Up: Map Next: 8429