| ← C073 | Map | C207 → |
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.
|
|||||||
|
|||||||
|
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 | Map | C207 → |
