← C073 Options / start menu Map C207 → Redraw the options screen, then poll Q to quit
C1D4: Post-load handler for the LOAD LEVELS tape read
Handles the ROM tape loader's return from the LOAD LEVELS option, and returns to the options menu either way. On a failed load it first shows "ERROR IN LOADING!" and buzzes the load-error tone ten times.
Input
F carry set when the load succeeded, clear when it failed
Both exits merge at the apply tail. Each branch clears the bitmap and fills the attributes bright white on black.
load_result C1D4 JR NC,load_error Load failed (carry reset)? Take the error branch.
C1D6 XOR A Success: black border, clear the screen, then return to the options menu.
C1D7 OUT ($FE),A
C1D9 CALL clear_screen
C1DC LD A,$47
C1DE CALL fill_attrs
C1E1 JR options_apply_tail Rejoin the options apply/quit tail.
load_error C1E3 CALL clear_screen Clear the screen to bright white on black.
C1E6 LD A,$47
C1E8 CALL fill_attrs
C1EB LD HL,SCREEN_BASE+$886 Print "ERROR IN LOADING!" at its screen cell.
C1EE LD DE,msg_load_error
C1F1 LD C,$C7
C1F3 CALL print_string_2x
C1F6 LD B,$0A Buzz the load-error tone ten times.
load_error_beep C1F8 PUSH BC One load-error buzz; loop ten times.
C1F9 CALL sfx_load_error
C1FC POP BC
C1FD DJNZ load_error_beep
C1FF CALL clear_screen Clear the screen again, then fall through to the options apply/quit tail.
C202 LD A,$47
C204 CALL fill_attrs
← C073 Options / start menu Map C207 → Redraw the options screen, then poll Q to quit
Fork me on GitHub