Partial Pascal

Products: Partial Pascal
Date: 1983
Type: Cassette
Platform(s): TS 1000

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
0Giant REM containing the entire machine-code compiler binary
1–6Human-readable REM comments describing usage
10IF USR 27256 THEN REM HI — primary machine-code entry point
11Empty REM spacer
100SAVE "POOKAH*PASCA[L]" — saves the program to tape
110LIST 1 — lists the readable BASIC stub after saving
111STOP — halts after the save/list sequence
9999RAND 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 REM payload is the entire compiler; no POKE loops 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

Appears On

Related Products

Subset of Pascal for the ZX81/TS 1000. Includes if, then, else, case, of, otherwise, while, do, repeat, until, for, to,...

Related Articles

Related 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.

People

No people associated with this content.

Scroll to Top