Up: Map Next: 600D
6000: Entry point, and the second half of the tape protection
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.
Input
A FRAMES+1, which must still hold $25
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