![]() |
Routines |
| Prev: 23343 | Up: Map | Next: 23435 |
|
Read the game header from tape.
|
||||
| TapeLoader_Game | 23344 | LD IX,23326 | Point IX at the tape header (23326), request 17 bytes, and ask the ROM routine to load rather than verify. | |
| 23348 | LD DE,17 | |||
| 23351 | XOR A | |||
| 23352 | SCF | |||
| 23353 | CALL TapeLoader_LoadBytes | Call TapeLoader_LoadBytes to load the next tape block. | ||
|
Give up unless the header loaded.
|
||||
| 23356 | LD A,(23343) | Reset the Spectrum unless the tape load result (23343) is 1. | ||
| 23359 | DEC A | |||
| 23360 | JP NZ,0 | |||
|
The header must describe a code block.
|
||||
| 23363 | LD A,(23326) | Reset the Spectrum unless the header type at 23326 is 3. | ||
| 23366 | CP 3 | |||
| 23368 | JP NZ,0 | |||
|
Load the game block named by the header.
|
||||
| 23371 | LD IX,(23339) | Take the load address from 23339 and the length from 23337, and load that block as data. | ||
| 23375 | LD DE,(23337) | |||
| 23379 | LD A,255 | |||
| 23381 | SCF | |||
| 23382 | CALL TapeLoader_LoadBytes | Call TapeLoader_LoadBytes to load the next tape block. | ||
|
Return to BASIC only if the game block loaded.
|
||||
| 23385 | DI | Disable interrupts and reset the Spectrum unless the tape load result (23343) is 1. | ||
| 23386 | LD A,(23343) | |||
| 23389 | DEC A | |||
| 23390 | JP NZ,0 | |||
| 23393 | RET | Return. | ||
|
Loads the loading-screen header and then the screen at 16384 and resets the Spectrum if either load fails.
Read a tape header for the loading screen.
|
||||
| TapeLoader_Screen | 23394 | LD IX,23326 | Point IX at the tape header (23326), request 17 bytes, and ask the ROM routine to load rather than verify. | |
| 23398 | LD DE,17 | |||
| 23401 | XOR A | |||
| 23402 | SCF | |||
| 23403 | CALL TapeLoader_LoadBytes | Call TapeLoader_LoadBytes to load the next tape block. | ||
|
Give up unless that header loaded.
|
||||
| 23406 | LD A,(23343) | Reset the Spectrum unless the tape load result (23343) is 1. | ||
| 23409 | DEC A | |||
| 23410 | JP NZ,0 | |||
|
Load the picture into the display file.
|
||||
| 23413 | LD IX,16384 | Point IX at the screen (16384) and load 6912 bytes as data. | ||
| 23417 | LD DE,6912 | |||
| 23420 | LD A,255 | |||
| 23422 | SCF | |||
| 23423 | CALL TapeLoader_LoadBytes | Call TapeLoader_LoadBytes to load the next tape block. | ||
|
Return only if the screen loaded.
|
||||
| 23426 | DI | Disable interrupts and reset the Spectrum unless the tape load result (23343) is 1. | ||
| 23427 | LD A,(23343) | |||
| 23430 | DEC A | |||
| 23431 | JP NZ,0 | |||
| 23434 | RET | Return. | ||
| Prev: 23343 | Up: Map | Next: 23435 |