Tai is a maze/shooter game in which the player must navigate through a planetary core, destroying ghost enemies while avoiding fireballs and alien ships, ultimately finding an exit to join a mothership in orbit. The program stores its main game logic as machine code embedded within a large REM statement at line 0, with the BASIC lines serving primarily as a loader and development/utility scaffold. Control uses keyboard keys L and P for left/right movement in the core section, with shifted P and L for up/down in the orbital phase, and SHIFT to fire a neutron stream. The REM block at line 0 contains an elaborate ASCII-art title screen, planetary graphic rendered in block graphics, and the encoded machine code payload; POKE 23094,205 at line 2 patches the system to enable the USR call at line 4 that transfers control to the machine code at address 23357.
Program Analysis
Program Structure
The listing is dominated by line 0 REM, which is an enormous data block containing the game’s title screen graphics, storyline text rendered in block graphics characters, decorative ASCII art of the planet Tai, and the actual machine code for the game engine. The BASIC lines that follow (lines 1–5, 30308, 110–140, 300–400, 500–650, 1010, 1300) are a mixture of a minimal bootstrap loader and what appear to be development/utility routines left in the listing.
Bootstrap Loader
The active entry path is brief:
- Line
2:POKE 23094,205— patches a system variable to install an interrupt or redirect, enabling the subsequentUSRcall. - Line
3:SAVE "TAI"— saves the program to tape. - Line
4:LET X=USR 23357— jumps to machine code at address 23357, which lies within the system variables / display file area. The machine code stored in the REM at line 0 is relocated here by the loader before this call is made. - Line
5:STOP— safety stop if the USR call returns.
Machine Code Delivery via REM
Storing machine code inside a REM statement is a classic technique: the bytes following the REM token are never interpreted by the BASIC parser, so arbitrary binary data can be embedded. The utility loop at lines 110–130 copies PEEK bytes from addresses 31584–31979 into a destination pointer maintained in X (initialised at line 30308 to 22862), effectively relocating a 396-byte block of machine code from inside the REM statement to a working address in RAM.
Development/Utility Routines
Several routines present in the listing appear to be developer tools that were not stripped before release:
- Lines
300–330: Scans memory from 18110 to 22861, replacing any byte value 136 with 8. This is a data-fixup pass, likely normalising a character code, followed by aGOTO 200to a non-existent line (a standard stop-execution idiom). - Lines
400–450: Saves a secondary file named"PROG 10". - Lines
500–650: A display/inspection loop that prints characters from memory offset from base addressY, with a secondary branch at line570that checks four neighbouring bytes for value 128 (a block-graphic sentinel) and callsGOSUB 1000. Lines605–650provide an interactive memory-copy utility: the user inputs source (Y) and destination (Z) addresses and 33 bytes are POKEd across. - Line
1010: An incomplete or corruptedPOKEexpression referencingX+Y+INT(X/32followed by block-graphic bytes — this line appears to be a fragment of the block-sentinel patching routine called from line570.
REM Block Content
The REM at line 0 is multi-purpose. Its first portion contains the rendered title screen: a decorative border, the planet graphic built from block graphics characters (▘ ▝ ▀ ▌ ▐ █ ▒ etc.), and multi-line story text spelling out the game’s narrative. This is followed by the instructions screen (also encoded in the REM as display data), and then a long sequence of encoded BASIC-like tokens and binary data that constitutes the machine code payload and game data tables.
Notable Techniques
- REM as binary store: The entire game engine — well over a kilobyte of machine code — is hidden in the line 0 REM, invisible to the BASIC execution path.
- POKE 23094: Modifying this system variable (FLAGS or a related byte) before the USR call is used to condition the machine code environment.
- Non-existent line GOTO:
GOTO 200at line 330 targets a line that does not exist, halting execution — a deliberate idiom. - INT(X/32) offset arithmetic: Used in lines 520–570 to navigate through memory that is laid out 32 bytes per row (matching the display file structure), allowing the utility code to skip row-attribute bytes or similar padding.
- Block graphics for art: The planet image in the REM uses the full set of 2×2 block graphic characters to render a detailed spherical body with shading, craters, and surface features at text resolution.
Bugs and Anomalies
- Line
1010contains a syntactically incomplete or corrupted expression (POKE (X+Y+INT (X/32followed by raw graphic bytes). This is almost certainly a data corruption artifact from the original tape encoding rather than intentional code. - Line
30308appears far out of sequence (between lines 5 and 110), suggesting it is a patching or initialisation line whose high line number was chosen deliberately to keep it away from the normal flow but still reachable by a directGOTOor as a starting point. - Line
570callsGOSUB 1000, but line1000does not exist in the listing as shown; only line1010and1300appear, the former being corrupt. This routine may have been stored inside the REM block itself and accessed via machine code rather than BASIC.
Content
Image Gallery
Source Code
0 REM ## ▘400093.█████████████▀▜▀▜▜██████████████#█████████████▌█▝▐▐██████████████#█████████████▙█▟▟▟██████████████#█[T][H][I][S]█[T][I][N][Y]█[A][R][I][D]█[D][U][S][T][B][A][L][L]█[O][F]█[A]███#█[W][O][R][L][D]█[C][A][L][L][E][D]█["][T][A][I]["]█[I][S]█[N][O][W]█[T][H][E]██#█[L][A][S][T]█[R][E][M][A][I][N][I][N][G]█[O][U][T][P][O][S][T]█[B][E][T][W][E][E][N]█#█[T][H][E]█[A][D][V][A][N][C][I][N][G]█[I][M][P][E][R][I][A][L]█[F][L][E][E][T]███#█[A][N][D]█[T][H][E]█[M][A][I][N]█[P][L][A][N][E][T][S]█[O][F]█[T][H][E]████#█[D][O][R][F][I][A][N]█[S][Y][S][T][E][M][.]████████████████#█[U][N][L][E][S][S]█[T][H][E]█[I][M][P][E][R][I][A][L]█[I][N][V][A][D][E][R][S]███#█[C][A][N]█[B][E]█[D][E][L][A][Y][E][D][,][U][N][T][I][L]█[T][H][E]█[R][E][P][-]██#█[P][U][B][L][I][C][A][N]█[B][A][T][T][L][E]█[F][L][E][E][T]█[A][R][R][I][V][E][,]██#█[A][N]█[E][N][T][I][R][E]█[C][I][V][I][L][I][Z][A][T][I][O][N]█[W][I][L][L]█[B][E]█#█[D][E][S][T][R][O][Y][E][D][.]█████████████████████#█[Y][O][U]█[H][A][V][E]█[B][E][E][N]█[C][H][O][S][E][N]█[T][O]█[D][E][F][E][N][D]█#█["][T][A][I]["][.]█████████████████████████#█[Y][O][U][R]█[M][I][S][S][I][O][N]█[I][S]█[T][O]█[P][R][E][V][E][N][T]█[T][H][E]█#█[I][M][P][E][R][I][A][L]█[T][R][O][O][P][E][R][S]█[F][R][O][M]█[R][E][A][C][H][I][N][G]#█[T][H][E]█[C][O][R][E]█[O][F]█[T][H][E]█[P][L][A][N][E][T][.]████████#█[T][H][E]█[G][A][L][A][C][T][I][C]█[F][U][T][U][R][E]█[D][E][P][E][N][D][S]█[O][N]█#█[Y][O][U][.][.][.][.][.][.][.][.][.][.][S][U][C][C][E][S][S]█[I][S]█[V][I][T][A][L][.]█#████████████████████████████████#█[P][R][E][S][S]["][I]["]█[F][O][R]█[M][O][R][E]█[I][N][S][T][R][U][C][T][I][O][N][S]█#███████[P][R][E][S][S]█["][R]["]█[T][O]█["][R][U][N]["]███████#▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒#▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒#▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒#▒▒▒▒▒▒▒▒▒▒▒~~~~~~~~▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒#▒▒▒▒▒▒▒▒▒ ,,,,,,▒▒▒▒▒▒▒▒▒▒▒▒#▒▒▒▒▒▒▒▒ ~~~~~~~~~~▒▒▒▒▒▒▒▒▒▒#▒▒▒▒▒▒▒,, ~~~~▒▒▒▒▒▒▒▒#▒▒▒▒~~~~ ▒▒▒▒▒▒ #▒▒▒ ▐[,,]██████[,,]▌▒▒▒▒▒▒ #▒ ▐▒██████▒▌ # ▐[,,][,,]▌ ▐[,,]▒██████▒[,,]▌ #▐[,,]▒▒[,,]▌▗["]▖▐[,,]▒▒██████▒▒[,,]▌ ▐[,,][,,]▌#[,,]▒▒▒▒[,,]["]["]["][,,]▒▒████████▒▒[,,]▌▗▖ ▐[,,]▒▒[,,]#▒▒▒▒▒▒[,,]["]["]▒▒▒████████▒▒▒▌▟▙▐[,,]▒▒▒▒#▒▒▒▒▒▒["][,,]▒▒▒██████████▒▒[,,]["]["][,,]▒▒▒▒▒#▒▒▒▒▒["]▒▒▒▒████████████▒▒[,,]["]▒▒▒▒▒▒#▒▒▒▒["]▒▒▒▒██████████████▒▒▒["]▒▒▒▒▒#▒▒["][,,]▒▒▒▒████████████████▒▒▒[,,]["]▒▒▒#▒["][,,]▒▒▒▒▒████████████████▒▒▒▒[,,]["]▒▒#["][,,]▒▒▒▒▒██████████████████▒▒▒▒[,,]["]▒#[,,]▒▒▒▒█████████████████████▒▒▒▒[,,]["]#▒▒▒▒███████████████████████▒▒▒▒[,,]#▒▒▒▒████████████████████████▒▒▒▒#▒▒▒▒████████████████████████▒▒▒▒#▒▒▒▒██████████▒..▒██████████▒▒▒▒#▒▒▒▒██████████▒▖▗▒██████████▒▒▒▒#▒▒▒███████████▒..▒███████████▒▒▒#▒▒▒██████████▒▒▖▗▒▒██████████▒▒▒#▒▒███████████▒....▒███████████▒▒#▒▒██████████▒▒▖▗▖▗▒▒██████████▒▒#▒▒█████████▒▒▒....▒▒▒█████████▒▒#▒▒█████████▒..▖▗▖▗..▒█████████▒▒#▒▒████████▒▒▖▗▘ ▝▖▗▒▒████████▒▒#▒▒████████▒..▒▗▖▗▖▒..▒████████▒▒#▒▒███████▒▒▖▗▒▝▘▝▘▒▖▗▒▒███████▒▒#▒▒███████▒▗▖▗▖▖..▗▗▖▗▖▒███████▒▒#▒▒███████▒▝▘▝▘▌~~~~▐▝▘▝▘▒███████▒▒#▒▒███████▒▖..▗▒▒▒▒▖..▗▒███████▒▒#▒▒███████▒▌~~~~▐▀▀▀▀▌~~~~▐▒███████▒▒#▒▒███████▒▒▀▀▀ ▀▀▀▒▒███████▒▒#▒▒███████▒ ▒███████▒▒#▒▒███████ ███████▒▒#▒▒███████ ▟▒▙ ▟▒▙ ███████▒▒#▒▒███████ ▒▒▒ ▒▒▒ ███████▒▒#▒▒███████ ▜▒▛ ▜▒▛ ███████▒▒#▒▒███████▒ ▗▖ ▒███████▒▒#▒▒███████▒ ▐▌ ▒███████▒▒#▒▒███████▒▒ ▟▙ ▒▒███████▒▒#▒▒████████▒ ▀▀ ▒████████▒▒#▒▒████████▒▒▒ ▒ ▒ ▒ ▒▒████████▒▒#▒▒████████▜▒ ▒ ▒ ▒ ▒▒▛████████▒▒#▒▒████████▝▒▒ ▒▒▘████████▒▒#▒▒████████ ▝▒▒ ▒▒▘ ████████▒▒#▒▒████████ ▒▒▒▒▒▒ ████████▒▒#▒▒████████▗ ▒▒▒▒ ▖████████▒▒#▒▒████████▐ ▒▒ ▌████████▒▒#▒▒█████████▐ ▌█████████▒▒#▒▒█████████▐ ▌█████████▒▒#▒▒██████████▐ ▌██████████▒▒#▒▒███████████▐ ▌███████████▒▒#▒▒███████████▐ ▌███████████▒▒#▒▒▒███████████▐ ▌███████████▒▒▒#▒▒▒▒███████████▐▌███████████▒▒▒▒#▒▒▒▒▒.█████████▐▌██████████.▒▒▒▒#▒▒▒▒▒..████████▐▌██████████.▒▒▒▒#▒▒▒▒▒..▗.██"████████"██████.▒▒▒▒#▒▒▒▒▒..▗.█████████████████..▒▒▒▒#▒▒▒▒▒▒.▗.▗███████████████..▒▒▒▒▒#▒▒▒▒▒▒▒▗.▗.█████████████..▒▒▒▒▒▒#▒▒▒▒▒▒▒▒.▗.▗███████████..▒▒▒▒▒▒▒#▒▒▒▒▒▒▒▒.▗.▗██████████..▒▒▒▒▒▒▒▒#▒▒▒▒▒▒▒▒.▗.▗▄████████...▒▒▒▒▒▒▒▒#▒▒▒▒▒▒▒▒▒▒▒▒██████████.▒▒▒▒▒▒▒▒▒#▒▒▒▒▒▒▒▒▒▒█▒██████████▒█▒▒▒▒▒▒▒▒#▒▒▒▒▒▒▒▒▒▒█▒██████████▒█▒▒▒▒▒▒▒▒#▒▒▒▒▒▒▒▒▒▒█▒██████████▒█▒▒▒▒▒▒▒▒#▒▒▒▒▒▒▒▒█▒█▒██████████▒█▒█▒▒▒▒▒▒#▒▒▒▒▒▒▒▒█▒██████████████▒█▒▒▒▒▒▒#▒▒▒▒▒▒▒▒█▒██████████████▒█▒▒▒▒▒▒#▒▒▒▒▒▒█▒█▒██████████████▒█▒█▒▒▒▒#▒▒▒▒▒▒█▒██████████████████▒█▒▒▒▒#▒▒▒▒▒▒████████████████████▒█▒▒▒▒#▒▒▒▒▒▞██████████████████████▒▒▒▒#▒▒▒▒,,▞███████████████████████▒▒▒#▒▒▒▗,,▞███████████████████████▒▒▒#▒▒.▗,,▞▝█████████████████████▒▒▒▒#▒▒▒▒,,▞▝.███████████████████▒▒▒▒▒#▒▒▒▒▒▒▝.▗▄████████████████▒▗▖▒▒▒#▒▒▒▒▒▒▝██████████████████▒▒▐▌~~▒▒#▒▒▒▒▒███████████████████▒▗▖▝▘▐▒▒#▒▒▒▒███████████████████▀▀▐▌▐▌▝▒▒#▒▒▒████████████████████▐▌▗▖▝▘▐▒▒#▒▒▒▒██████████████████▒▝▘▐▌▗▖▒▒▒#▒▒▒▒▒████████████████▗▖▐▌▗▖▐▒▒▒▒#▒▒▒▒▒▒███████████████▐▌▝▘▒▒▒▒▒▒▒#▒▒▒▒▒▒▒█████████████▒,,,,▒▒▒▒▒▒▒▒▒#▒▒▒▒▒▒███████████████▒▒▒▒▒▒▒▒▒▒▒#▒▒▒▒▒▖████████████████▒▒▒▒▒▒▒▒▒▒#▒▒▒▒▖▌█████████████████▒▒▒▒▒▒▒▒▒#▒▒▒▖▌▌█████████████████▒▒▒▒▒▒▒▒▒#▒▒▖▌▌▌██████████████████▒▒▒▒▒▒▒▒#▒▒▌▌▌▌███████████████████▒▒▒▒▒▒▒#▒▒▒▌▌▌▖▖██████████████████▒▒▒▒▒▒#▒▒▒▌▌▌▌▌██████████████████▒▒▒▒▒▒#▒▒▒▒▒▒▌▌▖▖▄███████████████▒▒▒▒▒▒#▒▒▒▒▒▒▒▒▌▌███████████████▒▒▒▒▒▒▒#▒▒▒▒▒▒▒▒▒▒██████████████▀▀~~▒▒▒▒▒#▒▒▒▒▒▒▒▒▒██████████████▘ ▒▒▒▒▒#▒▒▒▒▒▒▒▒███████████████▌▌▌▌▒▒▒▒▒#▒▒▒▒▒▒▒████████████████▌▌▌▌▒▒▒▒▒#▒▒▒▒▒▒:███████████████▛ ▒▒▒▒▒#▒▒▒▒▒:::██████████████,,,,,,,,,,▒▒▒▒▒#▒▒▒▒▒:::███████████████▒▒▒▒▒▒▒▒▒#▒▒▒▒▒▒::▗▗███████████████▒▒▒▒▒▒▒#▒▒▒▒▒▒▒▒▒▐███████████████▒▒▒▒▒▒▒#▒▒▒▒▒▒▒▒▒██████▌▐████████▒▒▒▒▒▒▒#▒▒▒▒▒▒▒▒██████▐▌▐▌███████▒▒▒▒▒▒▒#▒▒▒▒▒▒▒█████▌▒▐▌▐▌▒▐██████▒▒▒▒▒▒#▒▒▒▒▒▒█████▌▌▒▝▘▝▘▒▐▐██████▒▒▒▒▒#▒▒▒▒▒▒█████▌▌▄▖ ▗▄▐▐██████▒▒▒▒▒#▒▒▒▒▒▒█████▌▘█▌ ▐█▝▐██████▒▒▒▒▒#▒▒▒▒▒▒██████ ███████▒▒▒▒▒#▒▒▒▒▒▒██████ MM ███████▒▒▒▒▒#▒▒▒▒▒▒███████ WW ████████▒▒▒▒▒#▒▒▒▒▒▒████████ █████████▒▒▒▒▒#▒▒▒▒▒▒███▒█████ █████▒████▒▒▒▒▒#▒▒▒▒▒▒███▒▒██████████▒▒████▒▒▒▒▒#▒▒▒▒▒▒███▒▒▒████████▒▒▒████▒▒▒▒▒#▒▒▒▒▒▒███▒▒▒▒██████▒▒▒▒████▒▒▒▒▒#▒▒▒▒▒▒███▒▒▒▒▒████▒▒▒▒▒████▒▒▒▒▒#▒▒▒▒▒████▒▒▒▒▒▒██▒▒▒▒▒▒████▒▒▒▒▒#▒▒▒▒█████▒▒▒▒▒████▒▒▒▒▒█████▒▒▒▒#▒▒██████▒▒▒▒▒██████▒▒▒▒▒██████▒▒#▒▒█████▒▒▒▒▒████████▒▒▒▒▒█████▒▒#▒▒████▒▒▒▒▒████▒▒████▒▒▒▒▒████▒▒#▒▒███▒▒▒▒▒████▒▒▒▒████▒▒▒▒▒███▒▒#▒▒████▒▒▒▒▒████▒▒████▒▒▒▒▒████▒▒#▒▒█████▒▒▒▒▒████████▒▒▒▒▒█████▒▒#▒▒██████▒▒▒██████████▒▒▒█████▒▒▒#▒▒▒▒█████▒▒██████████▒▒█████▒▒▒▒#▒▒▒▒▒████▒▒██████████▒▒████▒▒▒▒▒#▒▒▒▒▒▒███▒▒██████████▒▒████▒▒▒▒▒#▒▒▒▒▒▒███▒▒██████████▒▒████▒▒▒▒▒#▒▒▒▒▒▒███▒▒██████████▒▒████▒▒▒▒▒#▒▒▒▒▒▒████████▒..▒████████▒▒▒▒▒▒#▒▒▒▒██████████▒▖▗▒██████████▒▒▒▒#▒▒▒███████████▒..▒███████████▒▒▒#▒▒▒██████████▒▒▖▗▒▒██████████▒▒▒#▒▒███████████▒....▒███████████▒▒#▒▒██████████▒▒▖▗▖▗▒▒██████████▒▒#▒▒█████████▒▒▒....▒▒▒█████████▒▒#▒▒█████████▒..▖▗▖▗..▒█████████▒▒#▒▒████████▒▒▖▗▘ ▝▖▗▒▒████████▒▒#▒▒████████▒..▒▗▖▗▖▒..▒████████▒▒#▒▒███████▒▒▖▗▒▝▘▝▘▒▖▗▒▒███████▒▒#▒▒███████▒▗▖▗▖▖..▗▗▖▗▖▒███████▒▒#▒▒███████▒▝▘▝▘▌~~~~▐▝▘▝▘▒███████▒▒#▒▒███████▒▖..▗▒▒▒▒▖..▗▒███████▒▒#▒▒███████▒▌~~~~▐▀▀▀▀▌~~~~▐▒███████▒▒#▒▒███████▒▒▀▀▀ ▀▀▀▒▒███████▒▒#▒▒███████▒ ▒███████▒▒#▒▒███████ ███████▒▒#▒▒███████ ▟▒▙ ▟▒▙ ███████▒▒#▒▒███████ ▒▒▒ ▒▒▒ ███████▒▒#▒▒███████ ▜▒▛ ▜▒▛ ███████▒▒#▒▒███████▒ ▗▖ ▒███████▒▒#▒▒██████▒▒ ▐▌ ▒███████▒▒#▒▒███████▒▒ ▟▙ ▒▒███████▒▒#▒▒▒HARD LUCK YOU HAVE RUN OUT▒▒▒#▒▒▒ OF LIVES.RETURN TO START.▒▒▒#▒▒███████PRESS NEWLINE.███████▒▒#▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▌#▛▛▛▛▛▛▛▛▛PRESS▛NEWLINE▛▛▛▛▛▛▛▛▛▌#▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▌#)▘#E£RND7 FOR ▘/▀ GOSUB [K]LN [V]▝ FOR 5 CLS LOAD [B] GOSUB #ASN [A]#5 CLEAR CLEAR[B] GOSUB #4 FOR LN #▀▒▒▒██████████████████▒▒▒▒[,,]█▒#[,,]▒▒[Y][O][U]█[D][E][S][T][R][O][Y][E][D]███████[G][H][O][S][T][S]▒[,,]█#▒▒▒▒█[A][N][D]█[Y][O][U]█[A][R][E]█[F][R][E][E]█[T][O]█[G][O]█▒▒▒[,,]#▒▒▒▒████████████████████████▒▒▒▒#▒▒▒▒█████[P][R][E][S][S]█[N][E][W][L][I][N][E]██████▒▒▒▒#▒▒▒▒▒▒████████▒..▒████████▒▒▒▒▒▒#▒▒▒▒▒▒█████▌▘█▌ ▐█▝▐██████▒▒▒▒▒#▒▒███████▒▒ ▟▙ ▒▒███████▒▒#5▜RNDQ 7Q 7Q▘7Q47Q07Q07Q07Q97Q3▞█E£RND7VAL :/▞4#WACS #C▖ACS [R] INPUT █#7( PAUSE 7$4 GOTO AT 5▘ F#[P]4 IF ( AND )[:]RNDE£RND7 FOR ▘/▀ GOSUB [K]LN [V]▝ FOR 5 CLS LOAD [B] GOSUB #C"5 TO RUN [B] GOSUB #4 GOTO ASN =#5▞# FAST5[A]#▞[O]F7# RETURN#4▖( SAVE /£ RETURN"C▖ RETURN[*]4 INPUT Q█/ REM LPRINT FASTU▜RND RETURN C#U▐RND RETURN 42)▝ ;7# RETURN█4 IF 7Q" LPRINT FAST)* ;7# RETURN█4 IF Q"M▐RND LPRINT FAST7# RETURN#4£# RETURN#4▛Y M▐RND/H# RETURN"4 DIM Q█U▚RND#- FAST;# RETURN█4▌Q" LPRINT />U▗RND#U▚RNDM▗RND#M▚RND LPRINT ;Q"M▐RND/# LPRINT FASTU▐RND RETURN 4>)$ ;7# RETURN█4 IF Q[*] M▐RND LPRINT FAST7# RETURN#4£# RETURN#4▛Y M▐RND/F# RETURN[*]4 DIM Q█U▚RND#- FAST;# RETURN█4▌Q[*] LPRINT />U▗RND#U▚RNDM▗RND#M▚RND LPRINT ;Q[*] LPRINT FAST▘ ▀7"#[L]C## RETURN[.]4 PRINT FAST)5▀Q█F14 UNPLOT # RETURN"41Q█U[,,]RNDW RETURNAC▌M[,,]RND/#Y0M[,,]RNDU[~~]RNDWM[~~]RND/Y RETURN[*]4JQ█U[▒]RNDW RETURN5C▌M[▒]RND/FY0M[▒]RNDU[,,]RNDW RETURNAC▌M[,,]RND/;Y0M[,,]RNDU[~~]RNDWM[~~]RND/" RETURN█4▛25+4[0]Q[.] LPRINT /[▒] SGN STR$ E£RND7 FOR ▘?▀ GOSUB [K]E£RND7▞▝U[£]RND#,,# RETURN█C?U["]RNDX RETURN.CF RETURN,CBM["]RNDQ[A])5 ;# RETURN█C?U["]RNDX RETURN.C) RETURN,C$M["]RNDU["]RND#;Q[>] FAST/1 LPRINT )##E£RND7 FOR ▘# GOSUB [K]LN [V]▝ FOR 5[Z] CLEAR[B] GOSUB #4 POKE #X#LN [V]▝# RETURN RETURNC▒ RETURN IF C▖ RETURN UNPLOT 4$SGN LPRINT FASTSTR$ ▞▝U[£]RND#,,Q[.] LN [V]▝# RETURN TO C0 RETURN[Z]4ISGN LPRINT FASTSTR$ ▞▝U[£]RND#,,F# RETURN#C1"#M[£]RND/-SGN LPRINT FASTSTR$ ▞▝U[£]RND#,,7# RETURN#C▌▀#M[£]RND▘█▌"#[L]4 CLS LPRINT Q[<]E£RND FAST▘(▀,,QS7QC7QO7QR7QE7Q:7U[~~]RND#7U[,,]RND# LPRINT 7# RETURN[A]4 IF ::▞5F( CLEAR# RETURN"C▌$4 NEXT /9-▒▘5 ,,##Q[:]▘ ▌"#[L]4 CLSQ█# RETURN[A]4,,U["]RNDXM["]RND/▀+4<> LPRINT FAST FOR 5[A]#[B] GOSUB #4L LPRINT ▘▘M"#[L]C▝/ RAND -+E£RND▞/7# RETURN#C▞:█▟#/ POKE ( PAUSE +4 REM ###5[Z] CLEAR[B] GOSUB #4 POKE ###SGN STR$ 5[Y]#[B] GOSUB #4*U[~~]RND RETURN0C▖ RETURN14£SGN 5+##SIN #SGN STR$ 5▞#[B] GOSUB #4▌Y M▜RNDSGN STR$ 5VAL #[B] GOSUB #4▌Y█M▜RND LPRINT FAST# RETURN#C( RETURN#C£ RETURNPIC▒ RETURNPIC▖ RETURNPI4▀M▐RND LPRINT FAST)/▀;▞▖7# RETURN#4▖( SAVE /£ RETURN"C▖ RETURN[*]4 INPUT Q█/ REM LPRINT FAST▘█ "#[L]4 CLS7# RETURN#C▞ RETURN[.]4 PLOT Q█ LPRINT ▞5F( CLEARU["]RND RETURN.ASN ## RETURN,ASN ###SIN #▘▛=K#H#▀ SQR ▛█████████ ...............)▘#E£RND7 FOR ▘/▀ GOSUB [K]LN [V]▝ FOR 5 CLS LOAD [B] GOSUB #4 POKE U[,,]RND▞▒[(]ME#E5#F#[P]4 CLS 5;# FAST FAST) STEP #▘? GOSUB [K] LPRINT )" STR$ FAST▘5 ,,SGN FAST▘? #7 GOSUB [K] LPRINT FAST▘? ,,# LPRINT SGN .#[N]4 STOP) STEP #7▘? FOR GOSUB [K] LPRINT FAST▘) ,, FAST) STEP #▘? GOSUB [K] LPRINT ▘: ,,)" STR$ FAST▘5 ,,SGN FAST▘? #F GOSUB [S] LPRINT FAST▞?F( CLEAR# LPRINT SGN .#[N]4 LLIST ) STEP #▞?F( CLEAR▘? FOR GOSUB [K] LPRINT FAST▀ RUN ▝,, FAST) STEP #▘? GOSUB [K] LPRINT )" STR$ FAST▞5F( CLEARSGN FAST▘? #7 GOSUB [K] LPRINT FAST▘? ,,# LPRINT SGN .#[N]4 LLIST ) STEP #7▘? FOR GOSUB [K] LPRINT FAST▘▒▀,, FAST) STEP #▘? GOSUB [K] LPRINT ▘: ,,)" STR$ FAST▞5F( CLEARSGN FAST▘? #F GOSUB [S] LPRINT FAST▞?F( CLEAR# LPRINT SGN .#[N]4 LPRINT ) STEP #▞?F( CLEAR▘? FOR GOSUB [K] LPRINT )##▘ RUN ▝ GOSUB [K]U7# RETURN C"XM7##)# LN [0]#LN [0]#/#EA# FAST GOSUB #C#,,# RETURN#4,,▘INKEY$ GOSUB #C# LPRINT TAN LPRINT FAST)4 ;,,# RETURN#4,,▘# GOSUB #C# LPRINT TAN LPRINT FAST)[A] ;,,# RETURN#4▛▘▝ GOSUB #C# LPRINT )7 ;,,# RETURN#""▘ GOSUB #C#TAN EA# GOSUB #C#,, FASTQ[/]▘4 ,,Q[/]7Q▞7Q[/],,Q[/] LPRINT )6 GOSUB #6A#5 GOSUB #Q▀77Q▀)1 ;Q▛7Q07Q:7QH7Q:7Q▝7Q[A]7); ;Q▘7Q=7Q=7Q(7Q[O]7Q)7Q=7Q=7Q▝;Q,,7Q>7Q:7Q87Q87Q87Q:7Q<7Q,,;Q[~~]7Q▒7Q,,7Q.7Q.7Q.7Q,,7Q▒7Q[~~];77Q[~~]7Q▒7Q▒7Q▒7Q[~~]5K#▞/)5 Q#;( CLSE£RND7)## FOR ▘/▀ GOSUB [K]Y M6RND▘,,*LN PRINT ▒UE##UG#[T]K▖#MG#UG##▞ LN [/]~~▘>*LN PRINT ▒ GOSUB #I#"#[L]ASN [-]# GOSUB #I#" GOSUB #I#LN [/]~~▘1*LN PRINT ▒UE##▞ LN [/]~~E£RND▘ SCROLL ,,▞(F# RETURN▞ASN ##( RUN ▞?F# RETURN▞ASN ##( RUN ▞A7( CLEAR▞*7# RETURN▞ASN ##▞$7( CLEAR▞(F# RETURN▞ASN ##( RUN EI#[B]6I##[=]#;( SAVE [B]TAN )4 ▞£/£)5 ▞~~/▌)6 ▞▒;# RETURN█S▛Q["]( PLOT ###-▘E£RND▞*7# RETURN#C▞:█▟#/ POKE ( PAUSE +4 REM )# EI#[B] GOSUB # AND [-]#6I####LN [V]▝ FOR 5[Z] CLS[B] GOSUB #C95 TO CLEAR[B] GOSUB #C#5 TO UNPLOT [B] GOSUB #C#5[Z] IF [B] GOSUB #ASN ##5 COPY RETURN[B] GOSUB #ASN #####LN ABS #LN Q#5S#)/ FASTSTR$ # FAST FASTSGN F▘3 GOSUB [S] LPRINT ▞3F( CLEAR#SGN LPRINT ▘5 ,,.#[N]4 LLIST #▖#LN ABS #LN ##5;#)/ STR$ # FAST FASTSGN 7▘3 GOSUB [K] LPRINT ▘3 ,,#SGN 77.#[N]4 SCROLL#▖#LN ABS #LN ▚#5(#) STEP #▘4 GOSUB [K]5:#)J#▘ RUN ▝ GOSUB [S]5 STEP #);#▘4 GOSUB [K]#▖#LN ABS #LN [I]#5;#) STEP #▘4 GOSUB [K]5U#);#▘ RUN ▝ GOSUB [K]5 STEP #)(#▘4 GOSUB [K]#▖#-~~E£#▘[1]▘,,▞5F( CLEAR# RETURN▞C>Q[O]▘ COPY "#[L]4 CLSQ[:]+ASN #/ SLOW FASTEI#)~~ ;6I# LPRINT )6 GOSUB #Q▛7Q[▒]7Q[,,])3 ;Q[~~]7Q[▒]7Q▟UE#WME#EI#▘M ,,6I#E5#F#[P]4 CLS#C#Y M6RND▘1*LN PRINT ▒UE##▞ LN [/]~~Y~~M7#LN [V]▝ FOR 5[Z] CLEAR[B] GOSUB #4 POKE #X#....U## RETURN6C£ RETURN5C(Y5M#####Y4M#####Y6M#####.....E8#7# RETURNS4▝IH68#6A#Y▌M7#UC# RETURNINKEY$ TAB ##Y MC####............................................................................................................................................█ ▘PI▘ REM ................................5;####............................................ YOU MUST RETURN TO "TAI" FOR #MORE FUEL,THE GAME WILL INCREASE# IN SPEED ......PRESS NEWLINE #.E£RND7)M# FOR ▘# GOSUB [K]5 OR #LN COS #56#LN COS #5SQR ▛6I##USR # FOR 5[Z] CLEAR[B] GOSUB #4 POKE LN USR ##X#.#X RETURN COPY4▝Y▘#TAN 5C# FAST5D# FAST5[9]# FAST5CODE # FAST5LEN # FAST5 FAST# FAST53# FAST54# FAST)K#▞▒ LPRINT ,#<( IF TAN ......54# FAST53# FAST5 FAST# FAST5LEN # FAST5CODE # FAST5[9]# FAST5D# FAST5C# FAST)K#▞▒ LPRINT FOR ,# FOR #<( RUN # # E£RND▘1 ,,▞/)5 # RETURN[/]COS ;( RAND EA#76A#LN ATN #TAN # FAST)K#▞▒ LPRINT FOR ,E£RND)▖ ;▞/)5 # RETURN[/]COS ;( RAND EA#F6A#LN ATN #TAN ..........E£RND)#▝;▞LEN 7# RETURN[/]COS ( RAND EA#)5 ;6A#LN ATN #TAN ..........E£RND7▞RND7# RETURN[/]COS ( RAND EA#)5 GOSUB #6A#LN ATN #TAN ..E5#F#[P]4 CLSTAN IAT 68#TAN .....████████████████████████████████.████████████████████████████████#█[F][I][R][E][B][A][L][L][S]█[A][N][D]█[G][H][O][S][T][G][U][A][R][D][S]█[R][O][A][M]█#█[T][H][E]█[C][O][R][E][,][I][F]█[Y][O][U]█[D][E][S][T][R][O][Y]█[E][N][O][U][G][H]█#█[G][H][O][S][T][S]█[Y][O][U]█[W][I][L][L]█[B][E]█[S][H][O][W][N]█[T][H][E]███#█[E][X][I][T][.]█[F][I][V][E]█[F][I][R][E][B][A][L][L][S]█[E][Q][U][A][L]█[O][N][E]█#█[G][H][O][S][T][.]█████████████████████████#█[Y][O][U][R]█[C][O][N][T][R][O][L][S]█[A][R][E][:][-]████████████#█[1]█[P][R][E][S][S][.][.][.]█["]SHIFT["]█[T][O]█[F][I][R][E]█████#█████████████[N][E][U][T][R][O][N]█[S][T][R][E][A][M][.]████#█[2]█[P][R][E][S][S][.][.][.]█["]L["][T][O]█[M][O][V][E]█[L][E][F][T]█████#█[3]█[P][R][E][S][S][.][.][.]█["]P["][T][O]█[M][O][V][E]█[R][I][G][H][T]████#████████████████████████████████#█[W][H][E][N]█[Y][O][U]█[R][E][A][C][H]█[T][H][E]█[E][X][I][T]█[Y][O][U]████#█[J][O][I][N]█[T][H][E]█[M][O][T][H][E][R]█[S][H][I][P]█[I][N]█[O][R][B][I][T][.]█#█[B][E][W][A][R][E]█[O][F]█[A][L][I][E][N]█[S][H][I][P][S][,][A]█[H][I][T]█[O][N]█#█[Y][O][U][R]█[S][H][I][P]█[C][O][N][S][U][M][E][S]█[F][U][E][L][.][D][E][S][T][R][O][Y]#█[A][N]█[A][L][I][E][N]█[Y][O][U]█[W][I][L][L]█[G][A][I][N]█[F][U][E][L][.]███#█[Y][O][U][R]█[C][O][N][T][R][O][L][S]█[W][I][L][L]█[C][H][A][N][G][E][:][-]████#█[4]█[P][R][E][S][S][.][.][.]█[S][H][I][F][T][E][D]["]P["][T][O]█[M][O][V][E]█[U][P]#█[5]█[P][R][E][S][S][.][.][.]█[S][H][I][F][T][E][D]["]L["][M][O][V][E]█[D][O][W][N]█#█[P][R][E][S][S]["]R["][T][O]["]RUN["][,][P][R][E][S][S]["]A["][T][O]["]NEW["]#████████████████████████████████#████[C][O][P][Y][R][I][G][H][T]█[B][.][B][U][R][D][E][T][T]█[1][9][8][3]████#███[P][E][R][S][O][N][A][L]█[S][O][F][T][W][A][R][E]█[S][E][R][V][I][C][E][S]███#████████████████████████████████#████████████████████████████████#████████████████████████████████#█████████████████[.]███████████[.]██#██████[.]████████████████████[.]████#███████[.]████████████████████████#████████████████████████████████#████████████████████████████████#████████████████████████████████#████████████████████████████████#██████████████[.]█████████████████#██████████████████████[.]█████████#████████████████████████████████#███████████[*]████████████████████#████[.]███████████████████████████#███████[.]████████████████████████#███[*]████████████████████████████#████████████████████████████████#[.]███████████████████████████████#████████████████████████[.]███████#████████[.]███████████████████████#██████████████████[.]█████████████#████████████████████████████████#█████████[*]██████████████████████##################################████████████████████████████████#████████████████████████████████#████████████████████████████████#█████████████████[.]███████████[.]██#██████[.]████████████████████[.]████#███████[.]██████████████████[/]█████#█████████████████████████[/]▞[/]████#██████████████████████████[/]█████#████████████████████████████████#████████████████████████████████#██████████████[.]█████████████████#██████████████████████[.]█████████#███████████████▀█▀██████████████#███████████[*]█▛0:H:▝[A]████████████#████[.]███████▘==([O])==▝███████████#███████[.]████,,>:888:<,,███████████#███[*]████████[~~]▒,,...,,▒[~~]███████████#██████████████[~~]▒▒▒[~~]█████████████#[.]███████████████████████████████#████████████████████████[.]███████#████████[.]███████████████████████#██████████████████[.]█████████████#████████████████████████████████#HI-SCORE: FUEL: SCORE: ########################################
1 REM #################################
2 POKE 23094,205
3 SAVE "TA[I]"
4 LET X=USR 23357
5 STOP
30308 LET X=22862
110 FOR N=31584 TO 31979
120 POKE X,PEEK (N)
125 LET X=X+1
130 NEXT N
140 STOP
300 FOR N=18110 TO 22861
310 IF PEEK N=136 THEN POKE N,8
320 NEXT N
330 GOTO 200
400 SAVE "PROG 1[0]"
450 STOP
500 LET X=0
510 LET Y=18110
520 PRINT CHR$ (PEEK (Y+X+INT (X/32)));
530 LET X=X+1
536 IF X=4540 THEN STOP
540 GOTO 515
560 PRINT CHR$ (PEEK (Y+X+INT (X/32)));
570 IF PEEK (X+Y+INT (X/32))=128 AND PEEK (X+Y+INT (X/32)+1)<>128 AND PEEK (X+Y+32+INT (X/32))<>128 AND PEEK (INT (X/32)+X+Y+33)<>128 THEN GOSUB 1000
605 PRINT "WHERE FROM ";
610 INPUT Y
612 PRINT Y
615 PRINT "WHERE TO ";
620 INPUT Z
625 PRINT Z
628 FOR X=0 TO 32
630 POKE (Z+X),PEEK (Y+X)
635 PRINT CHR$ (PEEK (Y+X));
640 NEXT X
650 GOTO 605
1010 POKE (X+Y+INT (X/32▛[▒][,,]8
1300 RETURN
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.