The game arrives encrypted
The five code blocks on the tape cannot be disassembled as they stand. The BASIC loader is
10 BORDER 0: CLEAR 24574: FOR q=2 TO 6: LOAD "AticAtac"+STR$ q CODE
: NEXT q: PRINT USR 23424
which loads a screen at 0x4000, the game itself at 0x5FFF, and three blocks so small they look like mistakes: eighteen bytes at 0x5B80, one byte at 0x5CB0 and two bytes at 0x5C78. Then it starts execution at 23424 — which is 0x5B80, the printer buffer, not the game. What is sitting there is a decryptor:
5B80: 21 FF 5F   LD HL,$5FFF
5B83: 01 7C 00   LD BC,$007C     ; 124 x 256 = 31744 bytes
5B86: AF         XOR A
5B87: ED 67      RRD             ; chained nibble-rotate through A
5B89: 23         INC HL
5B8A: 10 FB      DJNZ $5B87
5B8C: 0D         DEC C
5B8D: 20 F8      JR NZ,$5B87
5B8F: C3 00 60   JP ENTRY
RRD rotates one nibble out of (HL) into A and A's low nibble into (HL), so a single nibble is dragged through the entire block. Every byte depends on the one before it, and the plaintext exists only in RAM — there is no offline transformation that recovers it. The tape has to be run.
The second lock, in the frame counter
The two bytes at 0x5C78 land on FRAMES, the ROM's frame counter, and the value poked in is 0x255E. That is not arbitrary: it is the first thing the decrypted code checks.
6000: F3         DI
6001: 31 00 5E   LD SP,$5E00
6004: 3A 79 5C   LD A,($5C79)    ; FRAMES+1
6007: FE 25      CP $25          ; ...must still be $25
6009: C0         RET NZ          ; or fall straight back to BASIC
600A: C3 19 7C   JP TITLE_SCREEN        ; the real entry point
A loader that drops the little blocks, or that lets an interrupt tick FRAMES on before arriving here, gets a game that returns quietly to BASIC with no error at all.
The one-byte block is an instruction
The single byte at 0x5CB0 is the neatest of the three. Its value is 0xE9, the opcode for JP (HL), and the game jumps to it every time it dispatches an actor. The indirect jump at the heart of the main loop is an instruction that exists only because the loader poked it into spare system-variable space.