Partial Pascal is a Pascal-language compiler for the ZX81/TS1000, implemented almost entirely in machine code embedded within a REM statement at line 0. The BASIC portion of the program is minimal: line 10 uses `IF USR 27256 THEN REM` as the entry point that transfers control into the machine code, and line 9999 provides an alternate entry via `RAND USR 13303`. The REM block at line 0 is enormous, containing the entire compiler binary; this was a standard technique for storing machine code in ZX81 BASIC programs since REM data is preserved in memory and accessible via USR. A SAVE at line 100 preserves the program with a named filename, and `LIST 1` at line 110 displays the short human-readable portion of the listing. The compiler is described as a “one-way door” in the REMs, meaning loading it replaces the BASIC environment with the Pascal runtime.
Program Analysis
Program Structure
The program consists of two distinct regions: a massive machine-code payload stored in the REM statement at line 0, and a tiny BASIC stub occupying lines 1–9999. The BASIC stub serves only as a loader and documentation layer; all meaningful work is performed by the machine code.
| Line(s) | Purpose |
|---|---|
| 0 | Giant REM containing the entire machine-code compiler binary |
| 1–6 | Human-readable REM comments describing usage |
| 10 | IF USR 27256 THEN REM HI — primary machine-code entry point |
| 11 | Empty REM spacer |
| 100 | SAVE "POOKAH*PASCA[L]" — saves the program to tape |
| 110 | LIST 1 — lists the readable BASIC stub after saving |
| 111 | STOP — halts after the save/list sequence |
| 9999 | RAND USR 13303 — alternate machine-code entry point |
Machine Code Storage Technique
Storing machine code inside a REM statement at line 0 was a well-established ZX81/TS1000 idiom. Because the BASIC line table begins at a fixed RAM address, a REM at line 0 places its data at a predictable offset from the start of the program area. The USR keyword returns the address of the first byte of a REM statement’s content, so USR 27256 at line 10 jumps directly into the binary payload. The value 27256 is the expected RAM address of that payload, implying the program must be loaded at a specific memory location for the entry point to be valid.
The secondary entry at line 9999 uses RAND USR 13303. The RAND USR idiom (calling machine code via the RANDOMIZE statement’s USR argument) is functionally identical to IF USR for the purpose of jumping to machine code, but discards the return value silently. Address 13303 (0x33F7) falls in ROM territory on the ZX81, suggesting this may be a warm-restart or system-call vector rather than a direct entry into the REM payload — possibly used to reinitialize the system after the compiler has run.
Entry Point Logic
Line 10 reads IF USR 27256 THEN REM HI. The IF ... THEN REM construct is used here as a no-op BASIC consequence: if the machine code returns a non-zero value the interpreter would execute REM HI, which does nothing. In practice, the machine code at 27256 takes over completely and never returns to BASIC, so the THEN clause is never reached. This is a common pattern to satisfy the syntax requirement of IF ... THEN while keeping the BASIC side effect harmless.
The “One-Way Door” Note
Lines 3–5 warn: USE RUN TO ENTER PASCAL and NOTE*ITS A ONE WAY DOOR. This is technically accurate: once the machine code takes control it replaces the BASIC system variables and workspace, making it impossible to return to the BASIC editor without reloading the program from tape. This is typical of compiler/runtime systems of this era that repurpose the entire memory map.
Save and List Sequence
Lines 100–111 form a simple maintenance sequence. SAVE at line 100 writes the whole program (including the machine-code REM) to tape. LIST 1 at line 110 then displays only the short human-readable BASIC from line 1 onward, avoiding the unreadable binary dump of line 0. STOP at line 111 halts execution cleanly. This sequence would typically be reached by GO TO 100 from the command line, not via RUN (which would invoke the compiler).
Notable Techniques
- REM-as-binary-store: The line-0
REMpayload is the entire compiler; noPOKEloops are needed to load machine code. - Dual entry points:
USR 27256(line 10) for normal launch;RAND USR 13303(line 9999) as a secondary or reset entry. - IF USR … THEN REM: Syntactically valid no-op consequence used to invoke machine code cleanly from a BASIC line.
- Minimal BASIC stub: Only seven active BASIC lines exist outside the REM payload, keeping the interpreter overhead negligible.
Anomalies and Observations
The address 27256 (0x6A78) is well into the upper RAM area of a 16 KB or larger machine, which is consistent with a program designed to run on an expanded ZX81/TS1000. On a stock 1 KB machine the address would be out of range. The compiler’s self-description within the REM data references “SEMPER SOFTWARE” and “POOKAH” as the transposing party, and the title “PARTIAL PASCAL COMPILER” appears embedded in the binary text, suggesting the machine code contains its own embedded string constants for error messages and UI prompts — visible in the decoded REM content as strings like ERROR:, 1. EDIT, 2. COMPILE, 3. LOAD AND EXECUTE, and LOSE CHANGES (Y,N)>.
Content
Image Gallery
Source Code
0 REM *PASCAL*###M[9]RND6""#6A# FOR 6 DIM #LN LLIST ▒50#LN PRINT #Y▀E▖RND RAND PRINT OR ▞ #LN █### LET ▗X#:0£#7 FASTVAL ,<▘▘ CLEAR### RETURNNC6Q# RETURNPC0:5QINKEY$ RETURNSC=:▌Q5 RETURNT4[T] OR #CHR$ ▌S6## OR 77#,,AT (B FASTE▖RND OR SGN GOSUB #S: FOR E""#:#,,6A# GOSUB # FOR Z)4#Y2 AND [C]# RAND U[9]RND▗/[2]([3]#LN CONT #[,,] COPY█## P A R T I A L P A S C A L #(C) COPR. 1983 SEMPER SOFTWARE # TRANSPOSED BY POOKAH # # # # # # # # # # # # # # # # # # # # # # OR 5 ACS [A]#▗**Y85Y6#[2]#▒["]#[N]#*[P]5[Q]#3[M][R]["]INKEY$ 8[R][L]([?]LN ##LN SQR #LN ##7#TAN OR EY##?SPEEK ?#SQR NEW LET #ACS #4#Y4# CLEARACS V# PRINT FASTVAL LN F?AT LPRINT LET PRINT [T]C# FAST£VAL E[N]## RETURN#4▘7#▖((▞█#[C]#[T]4▒ FAST5 COPY COPY6 CLS# LPRINT FASTVAL LN PAUSE #AT LPRINT RETURNRNDC STOP#AT RETURN#4▀$CLEN VAL PRINT RETURN#4▝Y#LN [M]# LET RETURN#C[Z]AT LPRINT FAST,,# RETURN#C~~ RETURN#4[D]Q# LPRINT ACS NEWY LPRINT ACS THEN$4▌ACS CHR$ 7#F LET #""#7?LN TAB #LN ##ACS [-] RETURNRND4▖LN ##[*] RETURN##"" PLOT ▖#7#FTAN ▒# [Y]#~~[O][A] [U]##[8][*]▟?[B][A]#[8][A]#[Y]# [4]▙ PRINT #-[4]#[H][A] [Y]▐▘▒~~[P]0[R][4]([?] FOR ## PLOT [3]#ACS #COS ACS #"" FAST▗ACS #ATN [5]# LPRINT # RETURN[Z]"" FAST77#7#7# FAST FOR ## GOSUB # STOPAT LN [M]# LPRINT #TAN LN TAB #7 FASTLN [R]▛#F#F#F#~~▀#7# FOR [R] GOSUB PI▞ LPRINT #FSQR ACS #C THENO[*]TAN VAL ▘[=] Y CLEAR<= RETURNPEEK COPY3ACS #K5C-▞,$<= RETURN*ACS ##S PRINT ( PRINT 4▖ RETURN#K<>ZAT TAN (<=/* FAST GOSUB #COS #L LPRINT FASTLN [S]▛YILN S#STR$ GOSUB # AND #L ▞KLN [*]#S RAND ( RAND LN [*]#ACS (S LIST Y[9][S]4 POKE )J# LPRINT FAST▘ £LN ##[-]7[L]#( RUN 4#SGN LPRINT FASTSTR$ #LN ## NEW([Q]#77#7##7#7LN ##LN ##. FOR #F# FAST,, FOR #7#SGN STR$ VAL LN ##"#[L]4 SAVE #LN ###LN ###AT SGN FASTLN ##SGN GOSUB #YA47SGN 50#LN PRINT #LN ▛▝ LPRINT TAN VAL :▘LN [*]#ACS )K RAND #><AT ""LN [*]#Y **Y9MH#LN GOTO #LN SCROLL▝5H#LN PRINT ## OR # FASTE[N]# FAST52#LN PRINT #LN [2]#VAL ##LN ▟#AT LN [2]# LPRINT 6[N]# LPRINT TAN 53#Q"7##6[N]#,,Q"TAN ▘ ▌[(]# FASTSTR$ VAL LN ##AT SGN STOP FASTSTR$ VAL YOLN S#▞SVAL LN ,#( CLSAT ( RUN #MG# LPRINT FAST6H#Y[9]▞(LN ~~#,<( RAND AT LPRINT FAST#LN ~~# GOSUB [5] REM FAST#SGN LPRINT STOPSTR$ #LN ~~##LN ~~#LN ▛▝SGN 5U#▞3Q F( CLS LPRINT TAN VAL #▞▒ACS ▘LN .#( RAND [L]AT ""RY[R]VAL [3] NEW▌LEN ▖#PEEK COPY▞8( RETURNY CLEAR<= RETURN▞7( RETURN$4 LOAD [*]( CLEARAT TAN ▘ CLS COPY,,)0#>< GOSUB [4]▖#>:£LN █## SCROLL▝5 VAL ,<[H]#▞▛*[D]( UNPLOT ###DDD[G]##D[G][D]##AT "#[L]4 LPRINT TAN ▒""▝Y[M]5#I[P]#[M][Q][S]▝[O]["]# IF [R][A][,][A][,,]#[M]▛[X][Q][A]▛[V]▐▘[F]▘#[9]▘[M][A][R]""▝▘[M][R][E]##[M] [U]#/[(]""▀#[N] [F][M][A]#[E]▐▘[F][,,]▗[M][K]4[?]/1/(/▞LN 7?#[O]# OR LN F?▞ /▒ OR AT LN P?LN PAUSE #### OR 5## FAST GOSUB #▝RND-/##▒ CLEARQ#-▘ABS LN P?[*]#52MLN [V]▝▘[Z] CLEAR#ACS CODE 6 CLS# GOSUB PI4 INPUT 1 IF +#4 REM £C▌$#LN [X]▛▞ YRNDSQR # RETURN#COS RETURN#C? CLEARACS ##COS RETURNRNDACS COPY**:#,,#TAN CLEARO#[*] CLEARACS ##C▝Y[G]M.#/PEEK STOP OR LPRINT AT #7# FOR ,,S# FOR ▀ GOSUB PI GOSUB PI FAST▞ OR STOPTAN FASTLN FOR # PAUSE ## LLIST ##CFXCF FOR SGN FAST[R]LN FOR # PAUSE ## REM ##J FOR SGN PRINT ####▞)[R] GOSUB #;S▝ GOSUB #ACS )*( POKE # LET ?TAN Y05Y15Y3 OR 5Y2/~~EY#F).# GOSUB [4] OR #YAT E▖RND RAND ▞(5#RNDQ COPY7( CLSVAL CLEAR##EPEEK ##7###£,,,, FOR GOSUB # FAST50#6[N]#5ABS #6""#:#,,6A# OR ▞ VAL )[B]#/,,STR$ 5 ,,,,#7#, NEW▛▗5#RND#,,#7#VAL PI# FOR 5 T6▖# FOR #F#~~▀ NEW SAVE ???JWA COPY4▌~~▀#~~▀#D;K,,77 FOR 5 GOSUB # FOR ##ABS [,]# RAND /##[E]#/ CLS/#▞ COPY/#/;/#▞ COPY/#/(/#▞ COPY/#/(/[+]5[V]#,,,, DIM R PRINT STR$ )##/[(] FOR #7#7#7#▀,,,,,,",, FOR ; STOPSTR$ FAST FOR FFF#F# STOP FOR GOSUB #C" FOR STOP"#[L]4 GOSUB LPRINT LPRINT FASTY LPRINT F#F# LPRINT /▛CHR$ ## LET S; FOR ,, FOR Y CLEAR<= RETURN3S?Y RETURN<= RETURN3S▒/ LIST RETURN#K STOP#VAL ▞ ,<▗KINKEY$ IF 4# RETURNSK3# RETURN2K+5Q#,,??ACS #C▌K▌,<#K▀,<# DIM 5 GOTO #,, DIM OR #SGN RETURN#K~~5W#,, FAST## GOSUB #TAN 5[N]#,, STOP RETURN#**/ NEXT ? RETURN#S[H] RETURN#K/5 CHR$ #K▀9CHR$ ▖LEN ▖#,,3ABS K#AT #F#/[*]CHR$ █▌/[(] PRINT NEW:#5#RND,,#7#,<# RETURN▒[3]J# LET ▗▗K▌# FOR # FOR <DUSR [S]▛,,▗ABS H#AT UNPLOT PI##7#/ASN RETURN- PRINT C▝ RETURN+ATN ##CHR$ 0SR RETURN~~KN##5N NEXT ;SI##DD;D#,, FASTLN ##SGN CHR$ 0S▖ RETURN~~S FASTACS #C▒1C>0 LET 4:Y LET TAB [,,]#LN FOR ####Y45Y5#[2]# FAST7##7:3 GOSUB [K]:3ACS #Y4ASN ▙# LPRINT 7# RETURN#""#FACS CHR$ TAN OR LN ##[S]4[?]LN ##/ SAVE LN ##7#VAL )##STR$ FACS #TAB RETURN#ACS #C#ACS EXP ACS #COS OTAN LN SQR # OR LN ##ACS #C PRINT LN SQR ####STR$ )##/(:▞VAL LPRINT ACS #C▀5▘ FASTSTR$ )-## LIST #/J/C/#/[N]/[9]/EXP / OR /<>/ THEN/#/▌/▛ LPRINT /" LPRINT #7Y LPRINT #/▞ UNPLOT PI##7##[L]#5[L]#/▀5[M]# OR SGN 5#RND# NEW▛▗#,,PI##7# FOR FF RAND OR AT OR FOR SGN #F# OR SGN OR ACS S3ACS S3 NEW RETURN##T RAND ▞▛5#RND#7#7#7#[U]4▝#[V]K▝##( LET FOR 6▖# OR DIM OR LN PAUSE # OR #[K]#F[Y]4▀F[Y]COS #/K5## FASTLN W#ACS EXP ▗Y#K# RETURNRNDCOS ACS # GOSUB #▝RNDTAB #▒58INKEY$ RETURN#C<#ACS [L] RETURN#Y#CATN [Y]ATN USR ##76[N]#TAN )COS #STR$ LN RAND # FOR 7) IF # FAST GOSUB # LPRINT **58INKEY$ ""VAL FAST CLEARP#ATN CONT #SGN 5#INKEY$ ▘[P]▝ GOSUB [K]AT ##Y##7[Y]4 CLS FOR TAN FOR LN ##??/▜5## FAST#LN X#ACS [:]▗#S[>] RETURN#C▖ RETURNRND4,, PRINT YRND FASTLN 9# LPRINT LET ACS #COS PRINT 77#7#7#LEN ▌[U]ATN [H]# LET ><#F#TAN # FOR DT FASTFFVAL # FASTLN "# LPRINT AT $4 NEXT LPRINT RAND /#LN ## RETURN[4]EXP ## RETURN#4>Y7#[5]#LN ## RETURN[Z]4#77#7#7#/#/<>/ GOTO /▜/V/[▒]/[X]/;/V..<YSTR$ STR$ /J/I/#/# F [*] PAUSE ##/ INPUT FOR LN PI#▗K;▗S-58INKEY$ 6[N]#:-LN PRINT # FOR 7$4 SAVE /▖ FOR 6Y# OR #[O]#5 ;S#:#,,S# FAST GOSUB # LPRINT K#6A#E""#/# IF >=# FOR PI#SGN LPRINT IF INPUT #C#,, FOR ,, FOR .F GOSUB [S]5 GOSUB [K]/# LPRINT PAUSE UNPLOT #D.#[N]4 IF C#ACS WACS 1<#[N]/ PRINT REM M# IF T#/J/##7/#/RND/Q/H/#/#/#/3/-/(/<C:/ AND C? REM ~~# PAUSE T#/▛C▌##[*]C▌5▘ Y; FAST OR #[O]##[M]##[N]/▌#[6]##[7]#/ GOTO #7##/ SCROLL FOR AT LET OR LPRINT STR$ LN [8]# OR ▞ OR SGN #[L]#[*]LN ####▞ SACS /:[*]WLN ##▞ K""#[P]C[W]; FOR LN FOR #/[P]####▞)3ACS ;K▘;ACS 0ACS 1( POKE ##/[3] FAST OR TAN /[:]▝[,,]EXP [A][3]#[-]#[-][)]RND[U]▚ CLS[A][6]1. EDIT[,,]#2. COMPILE[,,]#3. LOAD AND EXECUTEA[5][:]▝[)][A]#[£] > ▀ 1 ▌ 2 ~~ 3 ?["]#1#[C]["]#.#[C]["]#█#[C]RND#[C]#RND[U]▚PEEK [6]["]RND[$] ▀#["]#ABS [I]#:#######[▒]#[?]#EXP #▞#,#####SGN #H###[H]#[R]#CHR$ #M#[Z],,- [+]ERROR=▞""▝[3][5]#▘[*][/],,[?],,#[$]▘#█[?]5"" PRINT "" PAUSE [+]"" PRINT 5[Q]"" PAUSE [R]"" POKE [R]##[,]###[,][,,]█[R][K][)]SQR UNPLOT "" UNPLOT RND[U]▚ LIST ##[K]▘[?])#-[U]#,,[(])"" RAND SQR RETURN▘##[A]#[W]▐J"" RETURN"" RETURN[,][R]SQR RETURN"" RETURN"" CLEAR[W]▐/"" RETURN▝[R]SQR CLEAR"" CLEAR"" SAVE [V]#▘[$]▝"" RETURN▝[K]"" RETURN[9] [K][A]#[A][9]#[T]▚SGN [B],,[?],,#[$]▖▐K"" IF #[R][$]▌"" CLS [K]"" CLS"" CLS[9]3[D]"" RETURN▝[R]"" CLS"" RETURN[9][,][R]"" RETURN[,]▝[S][D]5#[Q]"" POKE [R]SQR NEXT "" CLS"" NEXT 4[D],,[?],,#SQR PRINT "" PRINT [9]SQR PRINT "" PRINT [$]▖▚ PRINT SQR PAUSE ▘[?]D#"" RETURN[,][S]#"" CLEAR#[R]"" SAVE [V]# #▟H# [V]#"" RETURN"" RETURN#[R]"" RETURN"" CLEAR[S][D]▟("" RETURN"" RETURN[,][R]####[R]"" CLEAR#[S][D]"" CLEAR#[R]SQR CLEAR▘SQR COPY▘#,,[(],,->[+]"" SAVE "" CLEAR[S]▌""▝[3][*]▘[?])[:]▀"" IF +[R][$]▌"" IF [$]▌ #+[A]#[W]▐V#[$]▖▐I"" CLS [K]"" CLS"" CLS[9]3[D]"" RETURN▝[R]"" RETURN[9][,]"" CLS[R]"" RETURN[,]▝[S][D]"" CLS#5[Q]"" POKE [R]4[D]"" RETURN[,]"" RETURN[R]SQR RETURN[A]#[A][9]#[T]▚VAL [B]-/[+]"" IF ▖""▝[3][*]"" PRINT [$]▞[$],,[:]▝▘[?];"" PRINT [$]▖"" LIST [M]▐#"" CLS3[R]##[,] [T]##[8]#▙ PLOT "" CLS##"" CLS[W]##[,] [T]##[9]#▙ PLOT ##[S]▀[R]##[$]▒▐*"" RETURN#[K]"" RETURN[9]#"" CLS[S][K]#"" RETURN▝[R]#▝[S][D]▟▌▝[$]▘[$]~~▘SQR COPY SQR LIST [$],,▘[?],,#▐0"" PAUSE #[R]SQR PAUSE "" PAUSE [Y]#3SQR PAUSE ##▟~~"" PAUSE 3[V]# SQR PAUSE ▝##[H]▝[T]▐4[$]""" PRINT #▝[O][R]SQR PRINT "" PRINT [Y]#-SQR PRINT ▟▒"" PRINT -[V]# SQR PRINT "" PRINT [$]▞,,[?],,[$]""" IF #[R]SQR IF "" IF [Y]#"" PRINT "" IF [R]#[S]SQR PRINT SQR IF ▟▞"" PRINT #[S]SQR PRINT "" PRINT [Y]"" PRINT +[V][N]"" PRINT [$]▖[F][N]#[$]▛[$]~~,,[?],,[$]▛ SQR IF [$]~~▘[?]5"" RAND ####[,]▝[V]#####[,][R]##"" CLEAR[W]▚ INPUT ##[,][R]#▘[(]5[$]"-4▝[O][+]#[1][$]?#"" RAND ###[Y]▐INKEY$ #[,]▝[V]▐L▘##[9][,][A]#[W]# #[3][4][A]#[A][9]#[T]▚ POKE [B]#▝[R]##[,]#[R][8][A]#[W]##[,]#[3][4][A]#[A][9]#[T]▚ NEXT [B]#[3][/]#[,]#[R]#▙[U]#[1][$]~~,,[?]5- [+]"" [0] #"" [,][F]▐##[9]#[W]#▞[$]▘"" [1]▟#### [T]"" [2][F][M]##[9]#"" [3][>]#▙ GOSUB #[9]# [U]#[Q][K]###▝[R]## [U]▐6##[K]#[9]#"" [2][F]▐-"" [3][>]###[V]#▞[$]▘▟▞##[K]#[9]#▙ SLOW##[S]#[9][,][R]4▝[R][V]#▛[$]▘#[9] [K]#▀[R]####[S][K]"" [3][>]#▙█##)[(])"" COPY"" LIST [N]▐#N# [+]LOSE CHANGES (Y,N)>""▝[3][5]?[4][/]""▝[0] =[+]""▝[2][F]#""▝[3][>]#[=]""▝[1]#Y[T]#N[T][N]▚LEN #Y[U]#[$]~~XSQR UNPLOT ▘[?][▒]["]RND£[.][9]SQR POKE SQR LIST #""▝[1][,,] COPY[7] [T]#▝[$]▝[,,] COPYSQR SAVE "" SAVE ▖[R]SQR SAVE "" SAVE [7] [T]▚ NEXT "" SAVE [,,]#[S][7]▝[R]SQR RAND "" RAND "" SAVE [R][,,]#[S]SQR SAVE "" SAVE A[K]"" SAVE [9]#"" RAND ▝[S][;]#[$]: SQR LET [$]▀#[£]▘# < AND + # N STOP # STEP # <= █ LPRINT ▚ <> [~~] LLIST [8] "" [J] SLOW [M] # [Q] # [U] # [Y] # TAB THEN LEN TO ASN # TO #▘▘ >=▘F"" PRINT [$]▖#[$]"#[,]▝[Q][$]▒[F]#▝[$]▘[$]~~[C]"" PRINT [$]▖▐*[$]"#[,]▝[R][$]▒##▝[K]#[9] [K]▟▀▝[$]▘[$]~~[C]"" PRINT [$]▖▐M[$]""" PRINT [$]▞[$]?###[S]###[S]"" SAVE #[S]#[G][D]##[S]"" SAVE #[S]G[S][$])#"" SAVE #[S]##[D]##[R]#▘#[$]~~[C]"" PRINT [$]▖#[$]" [$]▒#[$]~~[C] SQR LIST [$]~~[C]#[$]( #[C]#[$]([C][$]"[$]>#[,,] LLIST [T]#"" RAND "" SAVE G[S][$])# SQR LIST #[$]:[C][$]"[$]>#[,,]""[T]SQR LET [C][:] [C]#[$]£[C]▘[$]£[C]#[$]£[C]▝[$]£[C]"[$]$[C]#[$]$[C][$]"#[9][,]SQR PAUSE ▝[$]£#[,]▝[V]##[9][,]SQR PAUSE [C]"" PRINT [$]▖▐.#"" PAUSE [R][9]#"" PAUSE [R]3"" PAUSE [S][D]#3[R] [K]▘SQR LIST #"" NEXT 4[D][C]"" PRINT [$]▖#3[R][,] [T][M]▐0#"" PAUSE [R]#"" PAUSE [R][9]"" PAUSE 3[S][D]#"" PAUSE [R] [K]▘SQR LIST #"" NEXT 4[D][C]"" PRINT [$]▖▐5#[,,][Z][M]##"" PAUSE [R][,]#[U]"" LIST [N]SQR LIST #"" PAUSE [R]#[K]"" NEXT "" PAUSE [R]#[K]▘[$]£[C]"" LET ▗ RETURN#▝[7][$]?[J]#[1]#[1]""▝[1]/[?]#T#▟#COS # AND # LLIST # GOTO # SAVE #▖#(#;#B#M#PI#####[*]#""#ASN #######<#4#C###K###W#[?]#[7]# UNPLOT #G#########▄#[£]#INT #▞# IF ####### OR # NEXT #[,,]#LEN ##### DIM ,, PARTIAL PASCAL COMPILER/""▝[3][5][/] POOKAH 1983 SEMPER SOFTWAR1""▝[3][5]E▘[5][/]▘[?],,ERROR:▞""▝[3][5]#▀[*]#█[?],,###[$]▝)[?]) #[R][.]▛[M]#,,[(]) #[R][.]([M] [U]#,,[(]) #[R][.]▒[M] [U]#,,[(]) #[R][.]([M] [U]#,,[(],,"" STOP#[S]SQR STOP,,[?],,#"" [3][4]#[$]▒ SQR PLOT ,,[?],,##[E][$],,#[$],,,,[?],,"" SCROLL#[R]SQR SCROLL"" SCROLL3[V]9[$]▀,,[?],,"" [3][/]#[$],,#[$]~~▀[$]▒)[?],,#[,,]█[R][$],,,,[?],,"" STOPSQR FAST#[~~] [Y]#[,,] COPY[V][N]#"[$]$#[$]~~▟,##[Y]##[V][N]#,,# [Y][R][$]$#[$],,▟▞#[,,]#[M][$],,▘SQR PLOT #SQR FOR ▘[$]",,[?],,#AT ▝[9][T]D[$]▀RNDAT ▝▝[S][$]£#[$]~~#AT ▝[,,] COPY[R][X]▝[R]#AT ▝)[R][X]#[Q][R][$]▒;[?],,INKEY$ #[$]£#[$]~~)[?],,""▘[,]▐#"" SAVE "" CLEAR[V]▐F"" CLEAR"" COPY[W]/[$]▀▘SQR LET "" LET "" SAVE [,][X]# ""▝[3][4]"" LET [9]SQR LET ▙ GOSUB "" SAVE [9]SQR SAVE "" CLEAR"" CLEAR[,][R]SQR CLEAR"" SAVE [,]SQR LET "" SAVE "" CLEAR[T]# SQR LET ""▝[3][/]▟▞"" LET ""▝[3][4]"" SAVE [9]SQR SAVE "" SAVE "" CLEAR[T]SQR RUN ▟5""▘[2]#""▘[3][>]SQR LET ""▝[3][/]▟£""▘[3][>]SQR LET "" LET ""▝[3][4]""▘[2]SQR RUN ▘[?],,"" RUN £[$]▀▘[?]~~"" STEP #[T]##SQR TO >[?]D"" LET [T]#[$])▙ RUN "" LET #[$])#A[W]#Z[X][M]▗▘COS #0[S]SQR LPRINT "" LPRINT SQR STEP "" LET 0[W]"" LET Z[X][M]▐;"" LET 0[S]#"" LPRINT 9[Q]#[R]SQR LPRINT "" STEP B[Q]#[R]SQR STEP [$])▙>= SQR TO "" LPRINT [£] UNPLOT 8 S AND ▛#[K] :[W][M] +# LIST 0RG 7#Y E▘ RAND L INPUT # S## Z#Y # CLS# ##ASN #LEN S #$[,] # LLIST # #▝[D] #▝[L] #▄# ##F ▐#[I] [£]#[=] [<]▀▗ [,]▀[<] [5][+] RUN [C]# PLOT [J]:# [Q] UNPLOT # [X]SQR [B] CODE [*] TO ACS SIN ? ABS ▖# OR 7▚ STEP #<> SCROLL[B]# INPUT [9]A PRINT 48 CLS["]Y SAVE /[$]=[C]["]<E4[$]=[C]["]#[>]▞[$]=[C]["]0#9[$]=[C]["] STEP [W]*[$]=[C]["]#,.[$]=[C]["]▝<$[$]=[C]["] IF [X]~~[$]=[C]["]H;;[$]=[C]["]#[W]1[$]=[C]["]▘ GOTO "[$]=[C]["]# LLIST 3[$]=[C]["] LET -,[$]=[C]["]##<[$]=[C]["]:["],,[$]=[C]["]▝LN :[$]=[C]["]▝STR$ ?[$]=[C]["][3]H▘[$]=[C]["]▚#6[$]=[C]["]["]#7[$]=[C]["][£]#8[$]=[C]["]▀[R]([$]=[C]["]▀#)[$]=[C]["]<>+▝[$]=[C]["]##5[$]=[C]["]CODE #=[$]=[C]["]<>5£[$]=[C]["]##▒[$]=[C]["][C][.]▀[$]=[C]["][A] PRINT ▛[$]=[C]["]▖▄>[$]=[C]["]$[,]-[$]=[C]["]▙ LOAD 2[$]=[C]["][T]SQR ▌[$]=[C]["]##▖[$]=[C]["]##+[$]=[C]▄▘SQR #0[W]#9[X][M]▐##0[S]SQR DIM "" LET 0[W]"" LET 9[X][M]▐/"" DIM ["]£ATN [V]=[$]▀"" DIM ~~[Q]"" LET [R]0[S]SQR DIM [$])▙<>"" LET A[W]"" LET Z[X][M]+[$]▀"" DIM [Y]"" DIM ["]█ [U]"" TO K[U][N][M]=[$]▀ SQR POKE ASQR TO ▄▘##[£]▘R : ( # ; # : # < # > # = ▙ " [H] + [L] - [P] * [T] ) [X] , AT . <= $▘ASSQR TO ▘#"" LET .[T]#[$])USQR TO ▟J"" LET *[T]▐D[$])"" LET #[$])#*[T]"" LET )[T][M]▚ LET [$])"" LET [T]#[$])▙ RUN "" LET ([T]# #[$])▟▝[$]<#▚""[C]OSQR TO [C]NSQR TO "" LET =[T]#[$])PSQR TO [C]ISQR TO "" LET >[T]#[$])ESQR TO ▟~~"" LET =[T]#[$])HSQR TO [C]FSQR TO "" LET =[T]#[$])GSQR TO [C]DSQR TO [C]"" LET "[T]#[$])"" LET "[U]-[$]▀[$]>"" LET SQR DIM [$])"" LET "[T]#[$])BSQR TO ▟▌[$]>CSQR TO ▘SQR POKE [C]JSQR TO [C]KSQR TO [C]LSQR TO [C]TSQR TO [C]MSQR TO [C]RSQR TO "" LET )[T]#[$])VSQR TO ▟~~"" LET .[T]#[$])QSQR TO [C]"" LET I[T]▐,"" RUN [F]#[$])▙ SAVE [$])"" LET [U]["]▀K[$]▀""▘[0][$]<▟E SQR DIM ▘#"" LET 0[W]"" LET F[X][M]# #"" DIM ([Q]"" LET [R]0[S]SQR DIM [$])▙ FAST#*[$]▀ SQR POKE ASQR TO [C]"""▝[3][-]#[4]"[-]=[-]#[-],[$]▝[C]▘[?],,"" TO #[U]#E#[R][$]▝,,[?],,#[$]+[$]<,,[?],,[$]< [$]+▘[?]~~"" STEP TAB ▝[U]▘[$]▀AT RETURN [R]#[L]AT RETURN▝[R]#[L],[?];"" COPY▖[R]"" LPRINT [L]"" COPY▞[R]"" STEP [L]"" RETURN▒[R]##▒[S]##▖[R][.]"" LPRINT [T]▚ NEXT #▞[R][.]"" STEP [T]▚ REM ###"" COPY[T]▗▘"""" LPRINT [£]▘R 4 9C ▒ RETURNSQR (["]▛ /G SCROLL 6~~[V] E[6]ABS N[O]# X[T]TAN #RH ### ##[:] # POKE DIM ### #▙# ▟▜# ["]PI[W] [+] TO NEXT [3] FAST" [D][)] FOR [N]## [X][8][+] SIN ASN # SGN #[N] <=/) FASTSGN [-] LOAD ▘[?] RAND ##▘▘▐ TO ▘"[~~]#▘+LEN #▘3["]#▘D[$]TAN ▘N["]?#▝ [$];[C]["] SLOWLEN ▝▘[$];[C]["]USR [D]~~RND[$];[C]["] SAVE "▝["]# COPY[$];[C]["]*[,,]▀▘[$];[C]["]#Q"[,,] COPY[$];[C]["] RAND TO 7["]# COPY[$];[C]["][/]$< [$];[C]["]XN▘["]H▘[$];[C]["]# FASTINKEY$ ["],▘[$];[C]["]X SLOWINKEY$ ["]2▘[$];[C]["][M]#,,)▒[E][$];[C]["]▟2▘["]E▝[$];[C]["][(][4]▘["]▘▘[$];[C]["][>]TAB ▘["]▘▘[$];[C]["]# RETURN,,["]▘▘[$];[C]["][D][L]▘["]▒▝[$];[C]["]##▘["]8▘[$];[C]["][6]▛▘["]7▘[$];[C]["]£6▘["]9▘[$];[C]["][Q][1]▘["]I▌[$];[C]["]#1 ["]█ [$];[C]["]#[J] ["]▟▘[$];[C]["]**[)] ["]▙ [$];[C]["]PEEK ▜ ["]▄ [$];[C]["]▘[7] ["]+▝[$];[C]["][5] LPRINT ▘[$];[C]["]#; ["]D▀[$];[C]["] THENSIN RND["]6▘[$];[C]["]5# ["]▖▀[$];[C]["]##RND["]0▘[$];[C]["]PVAL RND["]1▘[$];[C]▘[$]▝[C]▘[(]>"" TO [T]▐/[$]/##[$]▖▝[U],,[$]▀▝#[R][.]SQR DIM #[$]▞SQR POKE ▟£"" TO A[U]"" TO B[U][M],,[$]▀▝[?])"" TO K[T]##"" TO J[T][N]▐>[$]<[$]."" POKE ;[$]▀##"" DIM [G]SQR DIM ▟▝[$].[$]<▘[?];"" REM [8]###COS THEN[X]##[8]#▙ PRINT ##,,[(],,,,AT ▝[S][$]"AT ▝▒[T]AT ▝~~[T][N]##[W][M]#▘[X][M]#"" REM [8][T][M]▐<[,,]##▞[R]▛[M]▝[Q][R]AT ▝~~[T][R][$],,▟8AT ▝▀[E]#[~~]▒[Y]#▛[V][N]▌[E][R]#[R]SGN ▝AT ▝[$]$AT ▝#[E]###[E][$],,#[$],,;[?],,#"" COPY[S]RND[X]▐.,,#[S][$]",▝[S]K,[S]#"[T][Q][R]#"" COPY[S]▒[O][R][$]$▟~~##[$]0▝#[R][.][$]1)[?],,#"" STOP[S][~~]▝[W]# [U][M]##[8][$]$#"" STOP[S][8][$],,▟"#[$]$#"" STOP[S]▝[S][$]~~)[?],,▀#[$]3,,[?],,▛#[$]3#[$]",,[?],,Z"" FAST[$]£"" FASTSQR STOP#[$]"▘[?],,"" PLOT #[$]6#[$]:▟▀#[$]$)[?],,#[$]$#[$]",,[?])▘SQR PAUSE #"" TO S[T]#[N]▐ES[$]-▘#"" TO [T]▐3[$]/[$]▖▖[T]▐*[$]/#[$]<"" TO T[T]##$[$]▀ #[$]<▟▀M[$]-# [T]"[$]▀#SQR RAND )[(])"" RETURN▒[R]SQR RETURN"" RETURN▝[7][S]▒[R]#RND#[R][7] [T]5[$]▀#[7]#▖"" RETURN[R]AT ▀[L]▞"" RETURN[R]AT ▝[L] "" RETURN[R]#[L]▝"" RETURN[R]#[L]5[?])"" LPRINT "" STEP #▀[E]AT ▝[R]#[$]A"" REM [8]COS THEN▒[R]##"" RETURN[Y]▐S▖#[R][.]"" LPRINT [T]▐D▞#[R][.]"" STEP [T]▐4AT ▝ [U]#[$]▖ [U][N]#[$]▛[F][N]▝[$]▀"" LLIST [8]SQR LLIST #SQR LIST "" RETURN▒[S]SQR RETURN#▒[R]#▙TAB ;[?]~~U[$]-[$]DV[$]-▝[?]6▝#[R][.]# #"" TO S[T]▐L #[R][.]#[E]#[$]<#▐< [$]-[$]/[$]▖▖[U]?[$]▀▒[$]/[$]2▟▝[$]D##[E]##[9]#"" TO M[U]▚ OR T[$]-#[,,] COPY[M]#[U]▀[$]▀##[E]##"" COPY[S]RND[V]#$[$]$#[$],,▘SQR PAUSE ▟:#▘[U]##Z[V]#:[$]$#[$]$#[G][$]"~~[?]~~"" PAUSE #▒"" RAND [$]23[$]$#"" PAUSE [S][$]"#[$]$ SQR PAUSE >[?]7 #"" TO 8[T]##[F]#[$]<▙ POKE "" TO [£] # ▖ # A # B # S #[$]/##[$]▞#[$]<#[$]▖[£] E ▖ ▝ ▛ ▌ £ ▞ < ▘ A▝#[R][.][$]:[C]▒#[$]2[C][$]E,,#[$]2[C]#[$]F#"" COPY[S]▒▒[Q][T]#Q[$]$▘[$]"[C]▖[$]▝[C]#SQR POKE [C]"" DIM [$]:[$]<[C][$]<[$]DT[$]-[C]▖[$]▝[C]##F"" FOR [F][$]7▀[?]<[$]H"" TO [£] ? ▖ / ▀ L ▞ . ,, 6 £M#[C]Q#[C]O#[C]P#[C] #[C]# [U]#[$]<[$]H#[$]8# [T]▚COS ▀[?]<"" TO K[T]##"" TO J[T][N]#[$]<[$]I##G"" FOR [G][$]7"" TO [£] £ ▀ J ▀ K ▞ ) ,,R#[C]S#[C]N#[C] #[C]# [U]▐RND[$]<[$]I"" PLOT ▐L"" FOR ▘[T]▐F#R[T]#[$]69[$]$##▟2#S[T]#[$]68[$]$##▟)"" FOR [T]##R[T]#S[T][N]#[$]6### [V]##[$]8# [T]▚[+]▀[?]>[$]J"" TO D[W]"" TO I[X][M]#TD[S]"" TO [R]#[$]<[$]J#[$]8▝[?]E"" TO ▞[T]###[$]<"" TO [£]▝[O] £ ▘# ▞▘# :▘[-] ▖▘ASN ▒▘ STEP 9▝# 3▝[J] O▝[J] 1▝[J] ;▝[J] 2▝[J] ▝▝[K][$]/##"" COPY[S]▒[O]#[$]<#[£]▘O ▖ ▞ ▛ [,] ▖ [,] ▌ STOP#▛[T]##[F]"" IF [$]9▐▗"" TO C[T]▐#[$]>"" DIM [$]:▘#"" LET ##"[U]#[$])"" SCROLL3▝[S][W]##[$]:5##[S][$]G ##[$]:#[9]##"[T]#[$]>[$])"" LET ##"[U]#[$]>[$])#"[T]"" LET "[U][M]▚ACS #[$]:5##[S][$]G[$]<▟2[$]D"" POKE #4#[$]G▟<"" TO N[T]#[$]<[$]D*#[$]G▟▖-#[$]G"" TO M[T]###[$]<#[F]▚#T[$]-##/ [$]G[C]#▌[T]##[F]"" CLS[$]9▐Q [$]-[$]/##[$]▖##▌[U]##▞[U])[$]▀[$]E<#[$]▞[S]▘[$]G~~▌[S]#[R]#[$]2"" TO M[T]###[$]<#[F]▚LN T[$]-##= [$]G[C]#[$]▖[£] Q ▖ ▖ ▌ : ▞ , ▘ M#[$]F[C]P[$]-[$]D~~#[$]2[C][$]EP[$]-[$]D"#[$]2[C]#[$]0[9]##COS THEN#[U]▒[$]▀P[$]-[$]D~~##[$]1[C]▛[$]▝[C][C][C][$]K[C][$]<[$]D▛[$]- [$]5"" STOP#[$]K"" TO ;[U]##"" STOP▘[$]?▟1 [$]4"" STOP#[$]<[$]K#"" STOP [$]?##"" STOP#[,,] COPY[R][X][S]▘[$]?[C][$]<"" STOP#[$]D$[$]- [$]5"" STOP#[$]K#"" STOP#[,,] UNPLOT [R][X][R]"" STOP#:[R]"" STOP#["]▘ [R][X][R][X][R][$]4#"" STOP▘[$]?[C]"" STOP#[$]<[$]K"" TO O[U]▚ PLOT 2[$]-[$]D#[$]5[C][$]<[$]D([$]+£[$]$"" STOP###[$]<[$],#"" STOP#[S][$](#▝[R]"" DIM [$](#▖[R]#"" TO M[U]▚ SLOWN[$]-[$]KC[$]$"" TO O[U]▚CHR$ #"" STOP#[S]"" TO ▝[U][S][$]("" TO ▝[T]#[$]<[$]KC[$]$1[$]-###[S]#[E][$](#"" STOP#[S]▖[S][$](#[$]"[C][$]*[$]/##[$]▖▌[U]([$]▀[$]<P[$]-[$]D"" TO >[U]###~~[$]+[$]<~~#[$]2[$]D$[$]-A[$]$▒#[$]2W#[R][$]$ [$]5"" STOP#[$]KA[$]$▝[$]"▒#[$]2A[$]$9#[S][$]$~~#[$]2T[$]8#[$]5#"" STOP▘[$]?B[$]$#[$]"[C][C]▞[$]▝[C]"" TO O[U]#[F][N]▗ CLEAR▌##1[$]-▝[?], SQR NEXT "" TO S[T]▐7 SQR NEW#SQR SLOW[$]*"" SLOW[9]SQR SLOW▝"" SLOW [$]B[$]<"" TO M[U]▚ FOR T[$]- SQR POKE ▟#▘#"" TO [T]▐B[$]/##[$]▖▀[T]▐1 #[R][.]4[M][G]SQR NEW▝#[R][.]SQR SLOW#[$]▞SQR POKE #[$]▌SQR NEXT #[$]<#▐*[$],"" DIM SQR NEWQ[$]-[$],"" DIM SQR SLOW"" NEW"" SLOW[V]~~[$]▀▝[?]~~# [U]#▒#[$]2#[$]$#[$]">[?];"" TO *[T]▐D[$]*"" LPRINT SQR GOSUB "" STEP SQR GOTO [$]<D[$]-[$],"" GOSUB SQR LPRINT "" GOTO SQR STEP ▝"" DIM "" POKE [$]BO[$]-"" TO [U]▚ OR "" TO -[T]▐P[$]*"" LPRINT SQR GOSUB "" STEP SQR GOTO [$]<D[$]-[$]L"" GOSUB SQR LPRINT "" GOTO SQR STEP ▀"" SLOW"" NEW [Y]▘[E]"" NEXT [R]▘[E]"" POKE [R][$]BO[$]-"" TO [U]▚LN "" TO ▌[T]▐[.][$]<"" RETURN# [$]-▌ [$]B"" TO M[T]SQR PRINT "" PRINT #[$]<"" PRINT [F]▚ CONT N[$]-#SQR LIST ▌SQR INPUT "" TO 0[T]#[$]<4[$]+"" TO 4[T]▐D[$]<▞SQR INPUT U[$]-[$]L"" NEXT :[$]▀"" NEW [Y]▌[$]▀"" SLOWSQR LIST "" LIST ["]? COPY[V]2[$]▀V[$]-([$]-[$]L"" NEXT :[$]▀#▒[R]# #[R]"" LIST ▘[E]"" POKE [R]▒[Q]"" INPUT [R][L]▝#[R]#[L]#"" LIST [S]▝[S]## [W]4[$]▀#"" RETURN[T]▚USR O[$]-"" TO [U]▚#"" TO <[T]"" TO 5[T][N]▗▘▜"" TO <[T]SQR PRINT [$]*"" RETURN▒[R]SQR LIST "" PRINT "" CONT ▒[E] [$]B"" LIST #"" REM ▛[V]1[$]▀"" REM "" RETURN** THEN"" REM [9]SQR REM [$]<#[$]▛[F]▐ DIM "" CONT [9]SQR CONT "" CONT [,,]#[V]6[$]▀ SQR LIST "" TO S[T]▐[E]"" RETURN▒[R]SQR INPUT [$]*▌ [$]B[$]<"" LIST [9]SQR LIST "" TO M[U]▚ GOTO N[$]- [$]-[$]/##[$]▖▀[U]>[$]▀#[$]▞▐-"" INPUT # #[R]▒▌[R][L]#▒[R]##"" RETURN[V]▚ LOAD ▟N#[$]▌▐I"" LIST ~~[V]3[$]▀"" INPUT # #[R]▖[L] #[R] #[R][.]4#"" RETURN[S]▒[O]"" LIST [R][E][R][L]#"" RETURN[R]##"" RETURN[V]▚>="" TO O[U]▚▟T[$]-"" LIST [,,] COPY[V]7[$]▀ #▝"" RETURN[R]#▒[Q][S]#[L]#[9]##"" LIST [W]▚ GOSUB ▝#[R]▝#[R][.]"" LIST [R][L]"" PRINT ▐9N[$]- [$]-[$]/##[$]▖▀[U]>[$]▀ #[R] #[R][.]▒#[$]▞[Q][R][L]#[$]▌<[$]▀O[$]-"" TO ,[T]▐5#[$]▛"" LIST [U][N]"" PRINT [N]0[$]▀"" LLIST [9]SQR LLIST #[R] #[R][.]([R][L][$]<▟G#"" PRINT [S]▝#[R][.]#[E][$]C #[R] #[R][.]#[8][M][L]▝#[R][.]▒[E]#[E]"" REM [R][8][$]:?#[$]▖[R][$]$"" REM [8]SQR REM "" REM COS THENSQR RETURNO[$]-▄ RETURN#▞[$]+#[9]"" REM [S]"" LLIST [S]▝[Q]"" STOP"" CONT "" REM [S]"" LLIST [S]▝[Q][S][$]("" REM [8]#▀[E]#[~~] LPRINT [W][Q][S][$],,#[~~] LPRINT [Y]##[$]~~ SQR SCROLL# [T]#"" IF 1[$]M"" CLS0[$]M"" REM [8]COS THEN▒[R]##"" RETURN[X]▐A#[$]▖ [T]#[$]▛[M].[$]▀#[$]▖▞[T]## #[R][.]#[E][S][$]:~~#[$]2#▒[R]#▙USR [$]K(*▝""▝[3][5]"" STOP"" CONT "" REM [S]"" LLIST [S]▝[Q][S][-]*)▝[5][/]"" SCROLL [U]#"" SCROLL""▝[3][-]A[$]▝)[?] COPYSTR$ ""▝[1]#SQR THEN[$]▘[:]▀Z[7]▝[R]##▝[T]/[$]▀#▝[S][;]##~~[R]#[S][7] [T]5[$]▀#[9]SQR SAVE ##["]#£["]RND#▞ [$]A["]#TAB ["]▜ INPUT : [$]A["]#E["]RND#▞ [$]A["]E[G]["]VAL : [$]A["]O GOTO ["]ACS # [$]A["]# LIST ["]#** [$]A["]#[(]["]SGN [6] [$]A["][;][;]["][E]#▘["]A▘[$]A #** THEN[,,]COS SQR SCROLL SQR PLOT ▘SQR REM ▘SQR CONT SQR STOP SQR LET [$]<=[$]- [$]- # # #S[$]+[$]< [$]-▖ [$]B"" LPRINT ["]) LET [T]"" STEP ["]ABS #[T][M]###"" LPRINT ["]##[T]"" STEP ["] LET RAND [T][M]####[9]##,[V]8[$]▀"" TO M[U]▚SIN T[$]- SQR LLIST ▝#[R]"" LLIST ▒[Q][S]"" LLIST [L]"" LLIST [9]SQR LLIST "" LLIST #[T]▚ REM O[$]- SQR LLIST #[1]# [$]CR[$]+"" LLIST [U]C[$]▀▒ "" LLIST [$]11[$]$"" LLIST [9]SQR LLIST "" LLIST #[T]▚ GOTO "" REM ▘[U]B[$]▀#▀[E][$]:?[$]$PI#[$]£"" CONT [$]~~#[1]#[1]""▝[1]/[?]#[Z]#[▒]#[,]#[8],,*ERROR*▛""▝[3][5]#[-]#█[?];"" [3][>]###▘[(];"" [2]#▖[$]▘[$]▝#"" [2]#▌[$]▘#▒[E][$]▝[R]#▘[(]S""▝[1]#[0][,,] COPY[7][;]####[2][F]#▘[$]▘[$]▝#[$]▝##INKEY$ [U]#▝[$]▘[$]▀#[R]##[£] ▐ ▀ Z ▀ INKEY$ = RND ▟##[C]##▝[R]##[S][D]#[$]▀[J]#▝[R]#[C]##[;][$]▀[R][J]#[;][,,] COPY[X]▐##[;] [Y]▐,MEM2(.WORD.)<0:""▝[3][5][)] [U]▚ CLS▟Y#[;])[X]#[8][,][,,]▗[T][M]▐3#[8]##[;][R][K]#[;] [T]##[8][,,][B][K]#▝[S]##▝[R]###[S][D]▟>#[8]##[8][,][R][K]#[8]##[9]###[S][D][C]▀[$]▘[C]#[2][F]##[$]▝[K]#[9]#▙ NEXT [$]▝#[$]▝##PI[T]▚#[$]▀#[$]▀# ##[8][A]#[W]▐,#▝[Q]#[R]#▝[Q]#[R][;]#▝[Q][R]#[R][J][A]#[A][9]#[T]▚ NEW[B]["]RND[$] ###[I]##[1]#[1]""▝[1]/[?]#USR ▝ ▝[9] [N]) #STR$ ▘ RAND DLN CHR$ # FOR E RAND # GOSUB #▘▖ LPRINT "")#RND▘ RAND D GOSUB [K]57INKEY$ 6£RND#[F]#5 VAL ,<[H]#▞▛*[D]( UNPLOT ###DDD[G]##D[G][D]##AT "#[L]4 LPRINT TAN RETURN#LN SCROLL▝57INKEY$ 6£RND#[F]#
1 REM ***POOKAH PASCAL***
2 REM
3 REM USE RUN TO ENTER PASCAL
4 REM
5 REM NOTE*ITS A ONE WAY DOOR
6 REM
10 IF USR 27256 THEN REM HI
11 REM
100 SAVE "POOKAH*PASCA[L]"
110 LIST 1
111 STOP
9999 RAND USR 13303
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.