This program is a machine code loader and development tool, embedding a substantial Z80 machine code payload directly in the REM statement at line 0. The BASIC portion is minimal: line 1 uses RANDOMIZE USR 17072 to jump into the machine code stored in the REM, line 2 saves the program, and line 3 loops back to line 1. The REM statement at line 0 contains several hundred bytes of Z80 opcodes, including RST instructions (0xD7), calls to ROM routines (e.g., 0x0A2A for the BASIC interpreter, 0x0F2B for floating-point operations, 0x0BCB for the LDIR block transfer), and structured data tables encoded with a consistent XOR/offset pattern suggesting text stored with character codes offset by a fixed value. The program makes heavy use of the IY register (FD-prefixed instructions) for system variable access and includes what appear to be screen editor, expression parser, and string-handling subsystems within the embedded binary.
Program Analysis
Program Structure
The BASIC program consists of just three lines, serving purely as a bootstrap for the machine code embedded in the REM at line 0:
- Line 0 —
REMcontaining the entire machine code payload (several hundred bytes of Z80 opcodes and data). - Line 1 —
RAND USR 17072(decimal 0x42B0), which jumps into the machine code inside the REM block. - Line 2 —
SAVE "1023%5"— saves the program to tape. - Line 3 —
GOTO 1— loops back to re-run the USR call (defensive re-entry or demo loop).
The entry point at 17072 (0x42B0) falls well inside the REM data, which begins at the address immediately following the REM token in line 0. All meaningful program logic resides in the Z80 binary.
Machine Code Payload
The REM block contains a richly structured Z80 binary. Key subsystems identifiable from the opcodes and call targets include:
- ROM routine calls: The binary makes frequent use of ROM entry points —
0x0A2A(evaluate numeric expression),0x0F2B(stack pointer / FP routines),0x0BCB/0x0B6B(LDIR wrappers / block move),0x02E7(CLS or print-a-character),0x0946(floating-point calculator dispatcher), and many RST 0x10 /0xD7calls for character output. - IY-relative access: Numerous
FD CBandFD 36instructions indicate heavy use ofIY(the system variables base pointer) for reading and writing system variables such asFLAGS,TV_FLAG, and screen-position variables. - Dispatch table: A jump table is visible around offset 0x43C0–0x43D0, with 16-bit addresses pointing to handlers for different token/character values — consistent with a BASIC tokeniser or editor command dispatcher.
- LDIR block copies: Multiple
ED B0andED B8(LDIR/LDDR) sequences perform screen and memory buffer transfers, suggesting a full-screen editor or assembler listing routine. - Text data: Large sections of the REM contain bytes in the range 0x26–0x3E that, when XOR’d with 0x5A or offset-decoded, yield readable ASCII strings. Decoded fragments include phrases such as “jump”, “information”, “cont. next locations”, “help”, “at 0x1D”, “quit”, “functions are available from the command screen”, and “shifts between screens” — confirming this is an interactive assembler or monitor utility with a multi-screen help system.
- Sound / interrupt control: Several
FD 36 22sequences write toIY+0x22(theFLAGS2system variable), and there areDI/EIpatterns suggesting interrupt management during time-critical sections.
Text Encoding Scheme
The embedded strings use a simple substitution: each character byte has 0x5A (or a related offset) added/XORed, shifting printable ASCII into the 0x26–0x3E range visible in the REM. A null terminator (0x00) ends each string. Marker bytes such as 0x76 (the Z80 HALT opcode, also the Spectrum newline character in BASIC program storage) appear to delimit records or lines within the help-text data area.
Key BASIC Idioms
| Line | Idiom | Purpose |
|---|---|---|
0 | REM as binary store | Holds the entire executable payload; safe from BASIC tokenisation |
1 | RAND USR 17072 | Transfers control to machine code; RANDOMIZE discards the return value cleanly |
3 | GOTO 1 | Re-entry loop if machine code returns normally |
Notable Techniques
- Self-relocating dispatch: The jump table and several
22 xx xx(LD (nn),HL) instructions update pointer cells in low RAM (around0x4000–0x4080), allowing the machine code to redirect calls at runtime — a typical technique for swapping between editor screens or assembler passes. - Screen double-buffering: Code around address 0x42C5 and 0x4391 copies data between
0x4000(display file) and a shadow buffer at0x4600/0x4E00, enabling flicker-free screen switching between the assembler listing and help/command screens. - RST 0x10 chaining: Many consecutive
D7bytes drive character output tightly, outputting multi-character sequences (escape sequences, cursor positioning codes) without overhead. - Floating-point stack manipulation: Calls to ROM FP routines (
0x0F2B,0x0F46) appear in the expression evaluator section, suggesting the assembler supports numeric expression evaluation using the built-in floating-point calculator.
Anomalies and Observations
- The machine code entry point 17072 (0x42B0) is a fixed absolute address, meaning the program must be loaded to the standard memory map; it is not position-independent.
- Several
0x00padding bytes appear between code sections, likely alignment padding or zeroed-out reserved areas within the binary. - The
SAVEat line 2 andGOTO 1at line 3 suggest the program was distributed as a self-saving loader: run once to install and save, then re-run from tape normally. - Decoded help strings reference concepts such as “jump”, “move from screen to screen”, “edit”, “save”, “clear”, “quit”, “functions available from command screen”, and “binary load / save” — consistent with a Z80 machine code assembler or monitor with an integrated editor and multi-screen help system.
Source Code
0 REM \00\00\00\F5\0F\0F\0F\0F\E6\0F\C6\1C\D7\F1\E6\0F\C6\1C\D7\C9\2A\7B\40\7C\CD\85\40\7D\CD\85\40\C9\CD\96\40\AF\D7\D7\7E\CD\85\40\AF\D7\D7\7E\CB\77\28\05\CD\4B\09\18\01\D7\CD\78\44\3E\76\D7\C9\00\00\2A\10\40\23\46\23\CB\28\28\2C\23\7E\D6\1C\17\17\17\17\4F\23\7E\D6\1C\81\F5\E5\2A\7B\40\77\E1\F1\CD\85\40\CD\00\41\10\E2\C9\00\00\00\AF\D7\D7\CD\C4\45\CD\36\4D\C9\E1\E1\E1\C3\B9\41\00\E5\2A\7B\40\23\22\7B\40\E1\C9\CD\18\41\30\FB\CD\18\41\38\FB\C9\00\00\00\E5\C5\CD\BB\02\7C\C6\02\38\07\44\4D\CD\BD\07\7E\A7\C1\E1\C9\CD\0A\41\FE\36\28\05\FE\76\20\F5\E9\C3\D0\43\00\00\00\00\00\FE\75\CA\20\42\FE\22\CA\70\4D\FE\23\CA\9D\4D\C3\DA\43\CD\2A\0A\C3\BF\4D\CD\0A\41\FE\77\28\10\FE\36\28\13\FE\1C\38\F1\FE\2C\30\ED\D7\D6\1C\C9\CD\00\42\E1\C3\80\41\CD\67\42\E1\E1\E1\C3\D0\43\00\CD\2B\0F\21\7C\40\06\02\CD\58\41\17\17\17\17\4F\CD\58\41\81\77\2B\10\F0\3E\76\D7\C3\B0\41\00\00\CD\80\43\3A\3A\40\FE\02\CA\9E\4C\CD\8A\51\18\F3\01\00\07\0B\78\B1\20\FB\C9\CD\9E\4C\C3\D0\43\00\CD\18\41\30\FB\CD\18\41\F5\C5\E5\2A\39\40\E5\01\00\17\CD\F5\08\FD\CB\34\6E\28\04\36\17\18\02\36\00\00\00\00\E1\22\39\40\E1\C1\F1\DA\C5\41\C9\00\00\00\00\00\22\29\40\C3\2A\0A\00\00\00\00\00\00\FD\36\22\00\01\05\17\CD\F5\08\AF\D7\D7\D7\D7\01\05\17\CD\F5\08\C9\CD\2B\0F\CD\67\42\CD\C0\41\C9\CD\30\42\21\80\42\22\29\40\C9\CD\F0\4C\18\F4\00\11\6C\43\CD\72\42\CD\80\41\FD\36\22\02\CD\80\43\C3\96\40\00\11\71\43\CD\72\42\CD\80\41\C9\11\65\43\CD\72\42\21\A4\44\C3\2C\41\00\00\00\00\00\00\01\00\17\CD\F5\08\C9\CD\60\42\AF\06\09\D7\10\FD\18\EE\D5\CD\67\42\D1\01\05\00\CD\6B\0B\C9\00\00\02\01\04\00\EE\26\0D\76\00\D2\0E\00\F9\D4\1D\22\25\1F\24\7E\8F\04\54\00\00\76\80\B2\9B\A8\9B\80\AA\A9\AE\B9\B4\B7\80\00\00\00\00\00\00\00\00\00\01\09\0B\CD\F5\08\11\9A\42\01\0D\00\CD\6B\0B\C3\80\44\00\00\00\CD\F5\08\06\20\36\00\23\10\FB\CD\9E\4C\C1\C3\F5\08\00\00\00\00\00\00\00\CD\23\0F\2A\04\40\2B\36\3E\2B\F9\2B\2B\22\02\40\21\1D\00\22\0A\40\21\0A\00\22\23\40\C3\13\04\00\00\00\00\11\7D\40\2A\0C\40\B7\ED\52\44\4D\21\00\E0\71\23\70\23\36\76\23\EB\C5\D5\E5\01\08\00\11\28\4E\21\54\40\ED\B0\E1\D1\C1\ED\B0\C3\D0\43\00\00\00\00\00\CD\E7\02\2A\0C\40\11\7D\40\CD\5D\0A\ED\4B\00\E0\2A\0C\40\2B\C5\E5\CD\9E\09\D1\C1\21\02\E0\03\ED\B0\C9\A2\96\9D\A0\96\A4\A4\80\80\80\9C\A2\8E\9F\9E\8E\9F\9F\38\A6\3B\AA\0F\00\00\AA\A9\AE\B9\12\A9\3A\B2\35\12\B2\34\BB\2A\0F\00\AA\B4\AB\12\06\16\2A\0C\40\3E\76\23\BE\28\04\36\00\18\F8\10\F6\01\00\00\C3\F5\08\CD\80\43\C3\D0\43\00\00\00\CD\44\42\CD\A0\41\C3\D0\43\00\00\00\00\00\00\00\2A\60\40\11\20\00\A7\ED\52\22\7B\40\00\00\00\00\CD\A0\41\C3\D0\43\CD\6D\44\3E\76\D7\C9\00\00\00\FD\36\22\00\CD\16\42\C3\40\41\00\00\FE\C0\CA\DD\42\FE\26\38\EB\FE\40\30\E7\D6\26\17\21\00\44\85\6F\5E\23\56\EB\E9\0B\2D\2A\3D\31\29\A0\0B\00\00\A0\43\B0\43\C0\43\D0\43\D0\43\D0\43\D0\43\D0\45\D0\43\B0\42\04\4F\4A\51\00\45\D0\43\D0\43\C0\44\D0\43\D0\43\4E\42\D0\43\D0\43\97\43\D0\43\57\45\40\44\16\51\29\2A\38\39\12\00\00\B4\B0\8F\00\00\2A\60\40\22\7B\40\C3\C0\43\CD\E7\02\21\00\80\22\04\40\CD\2A\0A\CD\2B\0F\C3\60\4C\A8\31\AA\26\B7\A7\38\A6\3B\AA\A7\31\B4\26\A9\CD\9A\51\E5\2E\19\CD\EC\4F\E1\CD\C1\4F\C9\CD\6D\44\C3\00\41\00\00\01\07\0D\CD\F5\08\11\53\43\01\12\00\CD\6B\0B\C3\D0\43\00\01\0E\00\F9\D4\1D\23\20\24\1D\7E\8F\08\92\00\00\76\CD\E7\02\2A\04\40\E5\C3\20\4F\21\92\44\22\29\40\21\F6\43\22\16\40\CD\F6\02\C3\40\44\2A\34\40\22\32\40\2A\0C\40\23\7E\FE\76\28\FA\E5\ED\5B\10\40\A7\ED\52\E1\30\E6\E5\2A\32\40\44\4D\29\09\29\29\09\22\32\40\7C\E6\07\E1\77\CD\46\0F\38\D7\C3\D0\43\2A\7B\40\E5\CD\9A\51\E1\C3\6D\44\11\76\43\CD\72\42\21\0C\45\C3\2C\41\11\7B\43\CD\72\42\CD\9E\4C\2A\60\40\00\00\00\22\3C\40\CD\80\41\11\34\44\CD\72\42\2A\7B\40\22\3E\40\CD\80\41\11\39\44\CD\72\42\21\C0\4C\C3\2C\41\ED\5B\7B\40\ED\4B\3C\40\2A\3E\40\C5\A7\ED\42\44\4D\E1\03\ED\B0\CD\A0\41\C3\D0\43\11\5B\44\CD\72\42\21\63\45\C3\2C\41\11\7B\43\CD\72\42\CD\9E\4C\2A\60\40\00\00\00\22\3C\40\CD\80\41\2A\7B\40\22\3E\40\11\39\44\CD\72\42\21\8A\45\C3\2C\41\2A\3C\40\54\5D\13\36\00\22\7B\40\2A\3E\40\2B\22\3E\40\C3\40\45\00\CD\E7\02\01\00\01\21\76\4E\C5\C5\E5\CD\9E\09\E1\C1\54\5D\0B\13\36\00\ED\B0\C1\2A\7F\40\09\22\7F\40\C3\D0\43\2A\7B\40\E5\CD\C3\40\E1\C3\C6\43\00\2A\0C\40\E5\21\00\46\22\0C\40\CD\0A\41\FE\2D\20\F9\21\18\49\22\0C\40\CD\0A\41\FE\2D\20\F9\E1\22\0C\40\C3\D0\43\11\CB\01\10\FE\1B\7A\B3\20\F9\C9\76\00\00\00\00\00\00\00\00\00\00\00\00\AD\AA\B1\B5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\76\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\76\A6\14\29\3A\32\35\0E\00\2B\37\34\32\00\26\29\29\37\2A\38\38\00\BD\BD\BD\BD\00\00\00\00\00\00\00\76\A7\14\27\26\28\30\0E\00\35\37\2A\3B\2E\34\3A\38\00\1E\1E\00\31\34\28\26\39\2E\34\33\38\1B\00\00\76\A8\14\28\34\33\39\0E\00\33\2A\3D\39\00\1E\1E\00\31\34\28\26\39\2E\34\33\38\1B\00\00\00\00\00\00\76\AD\14\2D\2A\31\35\0E\00\2E\33\2B\34\37\32\26\39\2E\34\33\1B\00\00\00\00\00\00\00\00\00\00\00\00\76\AF\14\2F\3A\32\35\0E\00\26\39\00\20\20\1D\1E\2D\1B\00\2C\34\00\26\33\3E\3C\2D\2A\37\2A\1B\00\00\76\B2\14\32\34\3B\2A\0E\00\2B\37\34\32\00\38\28\37\2A\2A\33\39\34\35\00\39\34\00\AA\B4\AB\12\00\00\76\00\00\00\00\00\00\00\00\32\34\3B\2A\00\39\34\00\29\2A\38\39\12\1B\00\00\00\00\00\00\00\00\00\00\76\B5\14\35\2E\28\39\3A\37\2A\38\1B\00\3C\34\3C\1B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\76\B8\14\38\26\3B\2A\0E\00\27\26\38\2E\28\00\26\33\29\00\3B\26\37\2E\26\27\31\2A\38\1B\00\00\00\00\76\BB\14\28\31\37\38\28\37\33\1B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\76\BD\14\28\31\2A\26\37\0E\00\32\2A\32\34\37\3E\00\2B\37\34\32\00\38\28\37\2A\2A\33\39\34\35\00\00\76\00\00\00\00\00\00\00\00\00\39\34\00\AA\B4\AB\12\1B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\76\BE\14\37\2A\39\3A\37\33\00\38\28\37\2A\2A\33\00\28\31\37\38\28\37\33\01\29\1B\00\00\00\00\00\00\76\B6\14\36\3A\2E\39\0E\00\2B\3A\33\28\39\2E\34\33\1B\00\34\37\1B\1B\1B\00\00\00\00\00\00\00\00\00\76\B8\AD\AE\AB\B9\00\B6\14\37\2A\39\3A\37\33\00\39\34\00\27\26\38\2E\28\1B\00\00\00\00\00\00\00\00\76\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\76\B8\AD\AE\AB\B9\00\9D\14\2A\29\2E\39\1B\00\3C\37\2E\39\2A\00\39\34\00\32\2A\32\34\37\3E\1B\00\00\76\00\00\00\00\00\00\00\00\2D\2A\3D\28\34\29\2A\00\34\37\00\28\2D\37\0D\1B\00\00\00\00\00\00\00\00\76\BA\B5\98\A9\B3\90\A2\98\A3\91\00\38\28\37\34\31\31\00\27\26\28\30\16\33\16\2B\34\37\39\2D\1B\00\76\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\76\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\76\00\10\AD\0E\00\38\2D\2E\2B\39\38\00\27\2A\39\3C\2A\2A\33\00\38\28\37\2A\2A\33\38\11\00\00\00\00\76\00\00\00\00\00\00\00\00\00\00\00\AD\AA\B1\B5\80\9E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\76\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\76\00\00\B2\34\3B\2A\1A\00\B8\26\3B\2A\00\26\33\29\00\BD\28\31\2A\26\37\00\37\2A\36\3A\2E\37\2A\00\76\2A\33\39\2A\37\00\39\34\00\35\37\34\28\2A\2A\29\1B\00\26\31\31\00\28\26\33\00\27\2A\00\00\00\00\76\26\27\34\37\39\2A\29\00\27\3E\00\B6\3A\2E\39\1B\00\39\34\00\2A\38\28\26\35\2A\00\2A\29\2E\39\1A\76\2E\33\35\3A\39\00\33\3A\31\31\00\38\39\37\0D\1B\00\2A\29\2E\39\00\3A\38\2A\38\00\37\34\32\38\00\76\38\39\37\0D\00\2E\33\35\3A\39\00\38\34\00\28\34\29\2A\00\34\2B\00\3A\35\00\39\34\00\2B\34\3A\37\76\27\3E\39\2A\38\1A\00\26\33\29\00\29\26\39\26\00\34\2B\00\26\33\3E\00\31\2A\33\2C\39\2D\00\00\00\76\32\26\3E\00\27\2A\00\2E\33\35\3A\39\1B\00\35\37\2A\28\2A\2A\29\2E\33\2C\00\26\00\38\39\37\0D\00\76\3C\2E\39\2D\00\B8\AD\AE\AB\B9\80\B6\00\2E\33\35\3A\39\38\00\26\00\38\39\37\2E\33\2C\00\34\2B\00\76\28\2D\26\37\26\28\39\2A\37\38\00\26\38\00\28\2D\26\37\26\28\39\2A\37\38\1B\00\00\00\00\00\00\00\76\00\00\1D\1E\00\30\2A\3E\38\00\26\37\2A\00\2E\33\00\26\38\38\2E\2C\33\32\2A\33\39\1A\00\39\2D\2A\76\39\26\27\31\2A\00\27\2A\2C\2E\33\33\2E\33\2C\00\26\39\00\20\20\1C\1C\2D\1B\00\2D\26\3B\2A\00\00\76\3E\34\3A\37\00\37\34\3A\39\2E\33\2A\00\2F\3A\32\35\00\27\26\28\30\00\39\34\00\20\1F\29\1C\1B\00\76\00\00\2B\3A\33\28\39\2E\34\33\38\00\26\37\2A\00\26\3B\26\2E\31\26\27\31\2A\00\2B\37\34\32\00\00\76\39\2D\2A\00\28\34\32\32\26\33\29\00\38\28\37\2A\2A\33\1B\00\10\39\2D\2A\00\38\28\37\2A\2A\33\00\76\3C\2E\39\2D\00\39\2D\2A\00\27\31\2E\33\30\2E\33\2C\00\26\38\39\2A\37\2E\38\30\1B\11\00\00\00\00\76\B1\14\A7\B1\B4\A6\A9\0E\00\27\2E\33\26\37\3E\00\31\34\26\29\1B\00\00\00\00\00\00\00\00\00\00\00\76\BF\14\A7\B8\A6\BB\AA\0E\00\27\2E\33\26\37\3E\00\38\26\3B\2A\1B\00\00\00\00\00\00\00\00\00\00\00\76\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\76\80\80\A2\8E\9F\A0\8E\9E\A0\9B\A1\A3\A6\B2\80\80\B9\BA\AA\80\80\AF\BA\B3\80\9D\A0\9A\9D\A5\A4\A4\76\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\76\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\76\00\10\AD\0E\00\38\2D\2E\2B\39\38\00\27\2A\39\3C\2A\2A\33\00\38\28\37\2A\2A\33\38\11\00\00\00\00\76\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\76\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\09\0B\CD\F5\08\11\9A\42\01\0D\00\CD\6B\0B\01\07\0D\CD\F5\08\11\53\43\01\12\00\CD\6B\0B\CD\F5\45\2A\0C\40\E5\21\00\46\22\0C\40\CD\F5\45\21\18\49\22\0C\40\CD\F5\45\E1\22\0C\40\C3\D0\43\11\61\40\2A\0C\40\06\02\23\7E\87\87\87\87\23\86\C6\24\12\1B\10\F2\C9\00\00\00\00\00\00\00\00\00\00\00\2A\3C\40\ED\5B\7B\40\A7\ED\52\D2\3C\45\ED\5B\3C\40\2A\3E\40\E5\A7\ED\52\E5\C1\03\ED\5B\7B\40\19\EB\E1\ED\B8\CD\A0\41\C3\D0\43\00\00\00\00\00\00\2A\10\40\23\46\05\23\23\7E\FE\C0\C2\EF\40\23\7E\CB\77\C0\EB\2A\7B\40\77\C5\D5\CD\A5\40\CD\36\4D\D1\C1\EB\10\E9\C9\00\00\00\00\00\00\00\00\00\00\2A\0C\40\23\E5\11\21\00\19\D1\01\B5\02\ED\B0\01\00\15\C5\C3\C5\42\3A\3A\40\FE\02\E5\C5\D5\CC\20\4D\D1\C1\E1\C3\96\40\00\00\00\00\00\00\00\00\00\2A\0C\40\11\B5\02\19\E5\11\21\00\19\EB\E1\01\B5\02\ED\B8\C3\91\43\00\00\00\00\00\00\00\00\00\00\11\01\00\2A\60\40\A7\ED\52\22\7B\40\CD\50\4D\06\11\36\00\23\10\FB\CD\A2\40\CD\9E\4C\2A\60\40\00\22\7B\40\CD\18\41\FE\22\28\D6\C3\D0\43\CD\20\4D\CD\8A\51\CD\18\41\FE\23\28\F3\C3\D0\43\00\00\00\CD\E0\4D\CD\0A\41\11\28\4E\CD\E6\4D\C3\D0\43\CD\E0\4D\CD\00\4E\C3\30\4E\01\00\16\CD\F5\08\06\20\ED\5B\0C\40\13\7E\CB\FF\12\23\10\F8\C9\00\00\00\11\20\4E\3A\FF\FF\06\08\C5\06\08\1A\32\FF\FF\0F\10\FA\13\C1\10\F2\C9\00\00\00\00\00\00\00\00\00\11\54\40\21\FF\FF\06\08\0E\00\C5\06\08\7E\E6\01\B1\4F\CB\09\10\F7\79\12\13\C1\10\EC\C9\00\00\00\C5\3A\A3\5C\C5\3A\A3\5C\38\55\32\86\12\14\06\88\01\01\16\CD\F5\08\3A\57\40\CD\DE\4E\3E\0E\D7\3A\56\40\CD\85\40\3E\0E\D7\3A\55\40\CD\85\40\3E\1B\D7\3A\54\40\CD\85\40\00\00\00\00\00\00\CD\ED\4E\01\19\16\CD\F5\08\00\3A\59\40\CD\85\40\3E\1A\D7\3E\19\CD\85\40\3A\5B\40\CD\85\40\01\10\16\CD\F5\08\E5\3A\58\40\21\0D\50\E6\07\47\3E\03\85\6F\10\FA\01\03\00\D1\ED\B0\00\01\15\16\CD\F5\08\E5\3A\5A\40\21\22\50\FE\0A\38\02\D6\06\47\3E\03\85\6F\10\FA\01\03\00\D1\ED\B0\C9\B8\2A\B9\28\B1\30\8F\CD\60\42\11\B9\4E\01\07\00\CD\6B\0B\21\D2\4E\C3\2C\41\21\B0\4D\C3\2C\41\CD\67\42\C3\D0\43\CB\6F\28\04\1E\35\18\02\1E\26\E6\1F\C3\F5\4E\AF\00\7B\D7\3E\32\D7\C9\CB\67\C2\85\40\E6\0F\C6\1C\F5\AF\D7\F1\D7\C9\CD\BF\4D\01\01\16\CD\F5\08\00\00\00\00\00\00\CD\60\4F\CD\46\0F\D2\D0\43\18\E6\00\00\CD\2A\0A\E1\22\04\40\C3\AE\44\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\07\84\03\82\05\86\01\81\06\85\02\83\04\87\00\E5\01\00\00\CD\F5\08\22\0E\40\E1\06\08\E5\C5\7E\A7\17\17\D8\17\16\00\CB\12\5F\21\00\1E\19\0E\04\06\04\56\23\5E\23\E5\AF\CB\12\17\CB\12\17\CB\13\17\CB\13\17\21\50\4F\85\6F\7E\2A\0E\40\77\23\22\0E\40\10\E3\D5\11\1D\00\19\22\0E\40\D1\E1\0D\20\CF\11\80\FF\2A\0E\40\19\22\0E\40\C1\E1\23\10\AD\C9\01\F0\D8\1E\FF\C5\CD\E1\07\CD\AD\0A\4F\C1\21\5D\40\57\1E\1C\70\CB\7A\28\01\71\97\ED\6F\83\D7\97\ED\6F\83\D7\CB\7A\CB\FA\28\EF\C9\3A\39\40\85\D6\21\C8\97\D7\18\F5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\32\34\33\39\3A\2A\3C\2A\29\39\2D\3A\2B\37\2E\38\26\39\38\3A\33\2F\26\33\2B\2A\27\32\26\37\26\35\37\32\26\3E\2F\3A\33\2F\3A\31\26\3A\2C\38\2A\35\34\28\39\33\34\3B\29\2A\28\00\00\00\00\00\00\00\CD\E7\02\01\20\00\21\96\52\C5\C5\E5\CD\9E\09\E1\C1\54\5D\0B\13\36\00\ED\B0\C1\2A\7F\40\09\22\7F\40\C3\D0\43\00\23\EB\2A\3E\40\37\ED\52\EB\C9\00\C3\00\51\2A\3C\40\CD\91\50\CD\75\50\30\F8\C3\D0\43\5E\37\CB\13\C8\9F\E6\05\C6\04\4F\D3\FF\06\23\10\FE\CD\46\0F\30\0C\06\1E\10\FE\0D\20\EE\A7\10\FD\18\E0\E1\C3\40\44\CD\E7\02\2A\3C\40\CD\C2\50\18\FB\0E\01\06\00\3E\7F\DB\FE\D3\FF\1F\D2\B3\50\17\17\38\0F\10\F0\F1\CD\C2\50\71\CD\75\50\DA\84\51\18\F4\1E\94\06\1A\1D\DB\FE\17\CB\7B\7B\38\F5\10\F5\20\04\FE\56\30\CC\3F\CB\11\30\C7\C9\00\00\CD\E7\02\11\CB\09\CD\46\0F\D2\D0\43\10\FE\1B\7A\B3\20\F3\C3\83\50\11\60\44\CD\72\42\21\22\51\C3\2C\41\11\7B\43\CD\72\42\CD\9E\4C\2A\60\40\00\00\00\22\3C\40\CD\80\41\2A\7B\40\23\22\3E\40\11\39\44\CD\72\42\21\80\50\C3\2C\41\11\65\44\CD\72\42\21\56\51\C3\2C\41\11\7B\43\CD\72\42\CD\9E\4C\2A\60\40\00\00\00\22\3C\40\CD\80\41\2A\7B\40\23\22\3E\40\11\39\44\CD\72\42\2A\3C\40\22\7B\40\21\B7\50\C3\2C\41\CD\A0\41\C3\D0\43\2A\7B\40\CD\96\40\AF\D7\D7\CD\F5\44\3E\76\D7\C9\0E\00\7E\FE\DD\28\04\FE\FD\20\07\CD\85\40\23\0C\18\F0\FE\ED\20\1B\CD\85\40\23\7E\E6\C7\FE\43\20\04\06\03\18\02\06\01\7E\CD\85\40\23\7E\10\F9\18\23\E5\CB\3F\F5\C6\00\6F\26\52\F1\7E\38\04\1F\1F\1F\1F\0D\20\02\1F\1F\E6\03\47\E1\2B\23\7E\CD\85\40\10\F9\23\22\7B\40\C9\00\00\00\00\00\00\00\00\00\00\00\00\00\00\5F\55\55\A5\55\55\55\A5\AF\55\55\A5\A5\55\55\A5\AF\F5\55\A5\A5\F5\55\A5\AF\F5\99\E5\A5\F5\55\A5\55\55\55\95\55\55\55\95\55\55\55\95\55\55\55\95\55\55\55\95\55\55\55\95\99\99\99\59\55\55\55\95\55\55\55\95\55\55\55\95\55\55\55\95\55\55\55\95\55\55\55\95\55\55\55\95\55\55\55\95\55\55\55\95\55\FF\F5\A5\55\FE\FF\A2\55\FA\F5\A5\55\FA\F5\A5\55\F5\F5\A5\55\F5\FA\A5\55\F5\F5\A5\55\F5\F5\A5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00
1 RAND USR 17072
2 SAVE "1023%5"
3 GOTO 1
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.
