![]() |
Routines |
| Up: Map | Next: 600D |
|
The 18-byte decryptor at $5B80 (in the printer buffer, entered by the loader's PRINT USR 23424) RRDs a nibble through the whole game block and then jumps here.
This is where the tape's third trick pays off. One of the tiny CODE blocks pokes $255E into FRAMES at $5C78 for no reason a normal loader would have; the check below is the reason. A cracked loader that drops the little blocks, or anything that lets an interrupt tick FRAMES on before arriving here, fails the compare and falls straight back to BASIC with no error -- the game simply does not start.
|
||||||||
| ENTRY | 6000 | DI | ||||||
| 6001 | LD SP,$5E00 | Well below the game block at $5FFF, so the stack cannot walk into the code. | ||||||
| 6004 | LD A,($5C79) | FRAMES+1. Interrupts are off from the DI above, so this still holds what the tape poked. | ||||||
| 6007 | CP $25 | |||||||
| 6009 | RET NZ | Not a failure path with a message -- just RET, straight back to the BASIC that called USR. | ||||||
| 600A | JP TITLE_SCREEN | The real entry point. | ||||||
| Up: Map | Next: 600D |