Dungeon of Ymir

Products: Dungeon of Ymir
Developer(s): Fred Nachbaur
Date: 1986
Type: Cassette
Platform(s): TS 1000
Tags: Game

Dungeon of Ymir is a Rogue-like graphic adventure game in which the player descends through nine dungeon levels to retrieve the Sword of Kaslo. The game features 16 types of monsters totaling 124 enemies, along with traps, spells, and various objects that support multiple playing styles. The program makes extensive use of machine code, invoked via RAND USR with hardcoded addresses (e.g., USR VAL “16528” and USR VAL “16514”), to handle performance-critical routines. Data tables embedded in REM statements and string literals encode monster statistics, dungeon layout parameters, and character attributes in a compact format. The listing includes a key-redefinition routine allowing the player to reassign the four directional movement keys.


Program Analysis

Program Structure

The program is organized as a large BASIC shell that delegates most real work to machine code subroutines. The top-level flow initializes variables and data structures, then enters the main game loop. Distinct subroutine blocks handle dungeon generation, combat resolution, display updates, monster AI, inventory management, and the win/lose conditions. The final victory message — "PEACE REIGNS AT LAST. EVIL IS VANQUISHED. THOU ART A HERO" — is embedded as a string literal late in the listing.

Machine Code Integration

Two primary machine code entry points appear explicitly: RAND USR VAL "16528" and RAND USR VAL "16514". Additional USR calls with computed addresses appear throughout the BASIC, suggesting the machine code image is loaded into a fixed RAM area (likely via the initial CLEAR statement) and then called for graphics plotting, collision detection, and other time-sensitive operations. The use of VAL "number" inside USR arguments is a standard memory-saving technique that avoids storing the numeric value as a floating-point constant in the BASIC line.

Data Storage in REM and Strings

A substantial portion of the listing consists of REM statements and string literals packed with encoded data. Monster statistics, dungeon parameters, and object tables are stored in these blocks and read back using PEEK and pointer arithmetic. Block graphics characters (▘, ▝, ▖, ▗, ▌, ▐, ▀, ▄, █ and others) are used extensively within these data areas, meaning raw byte values are being stored as displayable characters rather than as numeric DATA statements — a common space-saving idiom.

Display and Graphics

Dungeon maps are rendered using PLOT and UNPLOT for high-resolution pixel graphics, consistent with the program’s claim of “high resolution” display. The LPRINT keyword is used in several places as a fast screen-output mechanism. Block graphic characters construct wall segments, corridors, and decorative title screens. The title/credits screen embedded near the end of the listing contains large ASCII-art layouts built from block graphics, spanning many lines of data.

Key Redefinition

A dedicated key-redefinition routine prompts "REDEFINE KEYS? Y/N" and then individually captures new key assignments for UP, DOWN, LEFT, and RIGHT movement. Default keys appear to be 7, 6, 5, and 8 respectively. The captured key codes are stored in variables and referenced throughout the movement-handling code.

Notable BASIC Idioms

  • VAL "number" inside GO TO, GO SUB, and USR calls to save memory by avoiding stored floating-point constants.
  • Computed GO SUB targets using expressions, allowing a single dispatch point to branch to many subroutines.
  • PAUSE 0 followed by INKEY$ for efficient keypress waiting.
  • Extensive use of SGN, ACS, ASN, ATN, LN, SQR, and TAN applied to integer arguments as compact ways to produce specific numeric values (e.g., SGN PI = 1, LN 1 = 0) rather than storing literals.
  • String variables used as compact byte arrays for dungeon and monster state.
  • CLEAR called with varying arguments throughout to manage memory layout dynamically.

Monster and Dungeon Data

The 16 monster types and their attributes (with a total population of 124) are encoded in the packed data tables within REM lines. Dungeon level parameters for all nine levels are similarly stored. The combat and AI routines read these tables via PEEK offsets from a base address established at startup.

Save/Load Mechanism

The listing includes SAVE statements (e.g., SAVE "YMIR[2]" V3.08 encoded in the source), indicating the program supports saving game state to tape. The version string “V3.08” embedded in a SAVE line suggests iterative development. A SELECT ... SAVE 0-9 menu visible in a PRINT block hints at a multi-slot save system.

Program Entry and Initialization

Line 3 executes RAND USR VAL "31514" as the primary startup entry point into machine code, which likely performs memory setup, loads the machine code image, and then returns to BASIC for the main game loop. Line 4 (LIST SGN PI, equivalent to LIST 1) appears to be a diagnostic or developer convenience left in the listing.

Anomalies and Notes

  • The use of trigonometric and logarithmic functions (ACS, ASN, LN, TAN) on small integers throughout the program is not mathematical computation — it is a deliberate encoding technique to produce specific small constants while consuming fewer bytes in the tokenized BASIC than storing the literal values directly.
  • Several GO TO and GO SUB calls target line numbers that do not exist as explicit lines in the listing; these are intentional dispatch techniques that rely on BASIC’s behavior of running to the next available line.
  • The "TIME WARP" string embedded mid-listing suggests a special trap or event that alters the dungeon state.
  • The copyright notice © 1986 FRED NACHBAUR is encoded using the RESET token character near the end of the listing.

Content

Appears On

Related Products

High resolution, “Dungeons and Dragons” graphic adventure game, Rogue-like. Travel to the ninth level of the Dungeon of Ymir to...

Related Articles

Dungeon of Yair is a multi-level maze adventure game written completely in machine code. Ymir requires 24K of RAM, and...

Related Content

Image Gallery

Source Code

   0 REM  GOSUB #                                <> DIM  NEXT Y▛# ( CLEARLEN  LOAD W4 CLEAR▞"")4 5 4<>5""RND/▒)4 ▌ASN INT RND;# GOSUB ###▙"" GOSUB # GOSUB #7E£RND) RUN ▙;Y2 GOSUB #Y PRINT ▘▛▝LN [>]▝LN 4▝<>5[A]RND#[8]▝ FASTSTR$ VAL 5 4\,, FAST5 # RETURNRNDS▝CHR$ RND- #ACS 7ACS >ACS 7ACS >ACS 7ACS >; FOR  LPRINT ▞▒,STR$ #)4 ;SGN <( PRINT AT SGN  LPRINT TAN      <> FAST LPRINT [J])[C]RND GOSUB #COS LN F?STR$ <> LPRINT TAN # RETURN4S▀: ▖# RETURN/SQR # RETURN#COS LN  LET RND7£/ DIM +#4▖SGN TAN 1#STR$  PRINT ▌Y█ LN  LET RND LET X4 POKE SGN TAN 5#INKEY$ QY7Q▙7Q ▘ COPY )5-5#INKEY$ Q£LN #INKEY$ Q▖LN #INKEY$ Q$LN #INKEY$ Q▌LN #INKEY$ 5#INKEY$ YY[Y]4 LPRINT 7Q█/>=5 #)#▝ CLEAR#WXC▀;/ IF 6XRNDTAN  FASTVAL EXRND▌$- #PI\,,#▞▌ACS 7ACS >( IF ;ACS 5[B] GOSUB PI###5[K]Z RETURN(K▞▐##AT  LPRINT TAN ACS [Z]ACS [R]ACS [J]ACS [B]I""/ INPUT 5#INKEY$ QLN 7Q[L]7QINKEY$ LN [2]INKEY$ ▘ ▘)3=##INKEY$  VAL ▞(##5  DACS )*K▘;( RUN AT TAN :▘/▞:▝/▝: #[E] NEW█#STR$ LN #PI STOPLN #PI FOR  LPRINT #[B]CQ#[L] FAST GOSUB # GOSUB # FASTAT SGN 5  RZ PRINT ##2▒DK▌[?] GOSUB #/\,,▗ GOSUB #S▀ GOSUB PIXW14 GOTO # LET K LLIST ACS #4▘ FOR ACS #COS /"LN  PIACS (SQR /▀#▛SQR  FOR [B] GOSUB # GOSUB #TAN STR$ )#  GOSUB #MRND▀##LN \,,< FAST##LN \,,<AT #▟K▘▖##[(]K▘9#F6MRNDLN #PISGN TAN  PRINT  CLEAR##API#LEN ▀ RETURNPEEK 4▝Y[V] CLEAR### CLEAR## LET  FASTTAN  ▖TAN $▌TAN £ TAN $▖TAN  ▌TAN £▖TAN $ TAN £▌TAN LN #PI)= LN *PI#VAL LN #PI)2 LN *PIAT #▖£TAN     ▘/+5 ## RETURN▛C▝Q 7"#[L]4 NEXT Y\,, CLEAR#WLN [2]INKEY$ LN PEEK PILN [L]INKEY$  RETURN 4 PLOT W> CLEAR#WX4 CONT 5## FASTQ[C]5## FASTQ▝5## FASTQ▀LN RND# LPRINT Q▖ LPRINT Q▌ LPRINT Q[4]LN RND#/OY▒ CLEAR#WX5[4]Z▐## PRINT LN [2]INKEY$ LN PEEK PILN [L]INKEY$ [B]4 RUN STR$ )#▝ LPRINT ;#[B]4 GOSUB Q▌ GOSUB #Q▖ LET X4 TO  CLEAR#WX4INT TAN 5[=]#Q▌Y▒M[8]# PRINT Y\,, CLEAR#WACS ZWW PRINT LN #PI LET - #LN *PIY▘▐ PRINT LN [2]INKEY$ LN PEEK PILN [L]INKEY$ [B]4 RUN Y£> LET X4 GOTO  CLEAR#WX4SGN  LET W RETURN$K£ RETURN\,,4AT W5[=]#Q▘/[T]Y? PRINT 5 LIST Z▐## CLEAR## LET  PRINT 5SQR Z▗▐## CLEAR##G# CLEAR## LET  PRINT 5[(]Z▐##MWRNDLN [2]INKEY$  LET  PRINT [B]3K▝ACS  TO  PRINT [B] GOSUB #XRND5/# GOSUB #STR$  FASTLN #PISGN LN *PISGN ;#[B]4 CONT  FASTLN #PIU#RND- #LN *PIU#RND▐ACS BACS BACS BACS B# LPRINT  LET  PRINT █#U#RNDXC▞ CLEAR## LET /[V] LET  LET X PAUSE CODE # PRINT VAL STR$  FAST# FAST#VAL  FASTVAL LN ##Y([)]AT #LN VINKEY$  LPRINT AT TAN 5[/]T#Y#: [Y]7C▀£/ RAND ( PRINT INKEY$ ACS TF( CLEARFTAN LN  LIST #Y▘▞▌LN ##Y▝▞▒LN ##Y▀▞?VAL  PRINT LN ## LET AT  RETURN▞C▖W▖/ LET LN  LOAD PI##INKEY$  PRINT VAL STR$  FAST- #EORND[J] GOSUB ## PAUSE #STR$  FAST#[F]\~~ FASTSTR$ VAL  PRINT LEN 0NOT #[8]▝ PRINT VAL STR$  FAST CLEARQ6 ▘▘*LN  PRINT ▒ CLEAR#ZA LN [F]#Y"NOT ▘▒*LN  PRINT ▒E#RNDLN [F]# CLEAR##A LN [F]#Y"NOT Y[,]NOT UPIRNDLN [K]#Y"NOT Y[.]NOT U#RNDLN [K]#Y"NOT Y[0]NOT U#RNDLN [K]#Y"NOT Y[1]NOT URNDRNDLN [K]#Y"NOT Y[2]NOT Y[3]NOT UINKEY$ RNDLN [K]#▘ *LN  PRINT ▒Y[+]NOT Y[-]NOT ▘▌*LN  PRINT ▒Y"NOT Y[*]NOT Y[/]NOT ▘£*LN  PRINT ▒Y"NOT Y[;]NOT E£RND) SAVE ▝;▘ *LN VINKEY$ /#VAL  PRINT ▘3-[J]LN  LET RND$ PAUSE ## LET LN ##AT TAN  5#Z▞\~~LN  DIM ▒LN  LLIST ▒5#S)ZRND▘▒  GOSUB [K] CLEARQ#\,, CLEARQW▘LN [2]INKEY$ LN PEEK PILN [L]INKEY$ [B]4 RUN  GOSUB ##RND5#S) S▘(  GOSUB [K]TAN > LPRINT 6XRNDTAN #[8]▝ CLEARACS #CHR$ 5#SLN [5]#EXRND FAST5 #6XRNDLN PEEK PILN [L]INKEY$ [B]4 RUN Y▝/CHR$ LN [V]▝##GC▛LN [X]▛K▝#TAN [J]TAN  PRINT VAL STR$  FASTLN ##)IZLN ▀#U#RNDLN ##LN ▀#>Y#LN ##/[H]# RETURN#COS >7</ RUN  PRINT VAL STR$  FAST,▘ ▖ACS ▛ACS )( CLSACS ZACS ZACS ZACS Z CLEAR## PRINT #[B]AT C▝ACS  SAVE  CLEAR##/INT  PRINT VAL STR$  FAST CLEAR## CLEAR##ACS #ACS [S]C"[B]C▌▛▛▛▛█>/[O]#/ IF  PRINT  CLEAR##[B]C? RETURN▛C"ACS #ACS [Z]4▛LEN CLN ## LET TAN  PRINT ACS [3]LEN 5 CLEAR## LET LEN )LN  FAST# LET TAN  FASTVAL 5 Q▘ COPY LN  PLOT #AT  LPRINT TAN    LN #INKEY$ LN ##5[.]INKEY$ Q▙ FASTLN #INKEY$  LPRINT Q█▞▀Y▘LN ##▞▌Y▒ CLEAR#WLN £#▞\,,# CLEAR##LN £#▞\~~# CLEAR##LN £#▞"# CLEAR## CLEAR##LN :#▞£# CLEAR##LN £#▞:Y$ CLEAR##A LN £# CLEAR#WX5#Z▐##[B] PRINT C▒P▞)Y:LN ##Y▛▞=LN ##LN USR # RETURN#4 RAND LN #INKEY$  LET COS # CONT INKEY$  A  PRINT VAL  FAST▘  LN  PRINT ▒ LPRINT LN USR #AT  LET LN ##E£RND7)CZVAL STR$ ▘▌  GOSUB [K] LPRINT AT :,#VINKEY$ 5[2]# FASTQ?I[9] FASTQ(I CONT  FASTQ[J]LN [?]# LPRINT Q# LPRINT Q▒ LPRINT Q▘LN  CONT INKEY$ #[0]# GOSUB ##RND£▖Y▀ PRINT VAL Y▀ PRINT LN ▗# LET $X4 RUN AT  LET ▌X4 GOSUB Y▘ GOSUB ##RND# LET RND#[B]COS  RETURN+SQR #[B]COS  RETURN3TAN LN ##SQR LN [L]INKEY$ / CONT  GOSUB ##RND▖▖▖££££5## FASTQ\,,5## FASTQ"LN ## LPRINT Q▀ LPRINT Q▀TAN VAL ▞▌VAL  GOSUB ##RNDY[£] PRINT LN  LET RNDY▌LN [.]# LET W RETURN[(]4 LET AT ( SCROLLLN ##YKLN [.]#AT TAN ▞▝VAL  GOSUB ##RND# PRINT LN  LET RNDY▒LN [.]# LET  PRINT CHR$ ▌LN  LET RNDY▀LN [.]# LET X[X]4 NEWAT (<>TAN VAL  FASTYYLN ##5 PRINT # FASTQW5 SLOW# FASTQ▖5[+][)]LN NOT # LPRINT Q▒ LPRINT QX5[(][=]LN NOT # LPRINT AT Y▀LN [.]#LN [L]####VAL STR$ ▞▖Y[£]VAL  PRINT  GOSUB ##RNDLN [L]INKEY$ LN  LET RNDY▖LN [.]# LET W RETURN[(]4▝Y[£] PRINT LN  LET RNDY▞LN [.]# LET AT ( AND Y▀LN [.]#LN ##SGN AT TAN Y▀/▝Y<)[3]#>) #VAL ▘▒ VAL  FASTSTR$ ) #▘▒  GOSUB [K]SGN  LET AT  LPRINT  FASTVAL  PRINT STR$  GOSUB [K] GOSUB ##RNDY[4]LN  LET RND CLEAR##LN G#SGN  LPRINT  LET AT ▀VAL  PRINT AT $4SGN AT  CLEARQ# TAN  PRINT VAL STR$  FAST▘▒#5K# CLEARQ#/LN ###[8]▝ PRINT VAL STR$  FAST▘##5 # CLEARQ#£LN ##[J]LN ##/ NEW PRINT VAL STR$  FAST▘▒#5S# CLEARQ#/LN ##/PEEK  PRINT VAL STR$  FAST▘##5 # CLEARQ#▞LN ##/USR  PRINT VAL STR$  FAST▘ +LN  PRINT ▒A  CLEAR#ZLN [F]#E£RND)[R]▝;▘▝*#LN  LET RND£7#LN  LET RND£7#LN  LET RND/[>] CLEAR#W[B]ASN  LPRINT #LN [2]INKEY$ # RETURN$4▝Q 7.#[N]4 NEXT W PRINT A ###LN .PI CLEAR##[X]S▛ LET  RETURN\,,C▀/ DIM  LET  CLEAR###A ##LN .PI)▀ LN .PI)▝ LN <PI)▒ ; CLEAR## CLEARACS #[I] CLEARACS ## CLEARACS #[A]4▀LN [.]#LN [2]INKEY$ LN PEEK PILN [L]INKEY$ [B]4 RUN Y$>### CLEARACS ## PRINT CODE [H]# LET ATN 1#TAN       CLEARACS ## CLEARACS #[2]COS VAL ▞▒Y#LN ##( RAND AT TAN  PRINT VAL STR$  FASTYJ CLEARACS #[-]LN ##LN [2]#▘#▝5 ## RETURN▝4▝Q 7"#[L]4 NEXT LN #PI)#▝LN *PI5""#;#[B]4 LOAD Q?#[8]▝  CLEARQ# L RETURN#Y$ CLEAR▚W CLEARACS ##C▝LEN ▖LN [.]#LN USR # GOSUB ##RND RETURN CY RETURN6C# RETURN7C# RETURN8C# RETURNRASN ## RETURNSASN ## RETURNTASN ## RETURNHASN [:]# RETURNLASN X# RETURN""ASN £# RETURN54(  $VAL 5▒S)▒#▘▒  GOSUB [K]AT LN [L]INKEY$  RETURN▟C"LN ##K▞ CLEARACS ##C▖ GOSUB ##RND GOSUB ##RNDLN [L]INKEY$ /$£VAL 5 S/SGN ▌/NOT ▖/USR [B]4(U#RND[B]C=XM#RND[B]ATN ##/\~~LN £#LN ## CLEARQ#▖LN ## CLEARO# CLEARACS ##4> CLEARACS ##4D CLEARACS ##CE CLEARACS ##C8 CLEAR##ACS ZACS ZACS ZW CLEAR▚Z CLEAR[Y]#S▀ CLEAR## CLEAR#ZLN  CLEAR#/▛ CLEARACS ##4<>  CLEAR##ACS #TAB SQR # RETURN 4▛ CLEARACS #[:]# UNPLOT # RETURN▖C▖ RETURN▞4LY[(]LN  LET RNDY2LN [.]#LN  REM # CLEAROW CLEAR##[B]C-LN USR # RETURND4?YRNDLN ## CLEARACS # NEW CLEARP#LN [U]#LN F#/"" RETURN?4-LN [N]#Y▘ GOSUB ##RNDLN  LET RNDLN [L]INKEY$ [J] CLEAR##>/[,] RETURN▌4C CLEAR##[B]C[0]LN USR # RETURND4[+] CLEARP#YRNDLN ##LN ""#LN [U]# CLEARPW CLEARACS # NEWLN F#/[T]  RETURN▝4£LN USR # RETURN#4[H]LN [G]#/ STOP RETURN▀4<LN USR # RETURN#4[1]LN NOT # CLEAROW/PEEK # UNPLOT #  RETURN\~~4▛ CLEARO#Y[9]/[)] RETURN▒C▖ RETURN:4#LN USR # RETURN#TAB  NEXT #A  CLEAR#W)\~~ LN .PI FASTLN #PISGN LN *PIY▌▐# CLEAR##▐ RETURN#K▒ CLEAR##LN [U]#/VAL  PRINT Y#LN ##YKLN [.]#A# LET [=] CLEAR##LN [U]# GOSUB ##RNDLN [L]INKEY$ Y\,,>Y[9]/#    RETURN\,,4"LN USR # RETURN#4[9]I#/[V] RETURN▘4# CLEARACS #EXP Y[▒]LN  LET RNDY▞LN [.]# CLEAR#WGACS XA  CLEAR##- LN .PI GOSUB ##RND;6#RND CLEAR##[B] CLEARQ# CODE [U]#Y▘ GOSUB ##RNDLN  LET RND# UNPLOT # LN #PI)# #*PI RETURN"4ZLN USR # RETURN#4[8]LN ### RETURN-K< CLEARO#YWLN ##LN [U]#YKLN [.]##[B]# RETURNGK▛ CLEARO#YV/ SCROLL RETURNPIK▛ CLEAROPIYU/>= CLEAROINKEY$ YT/STR$  RETURN£C▛ RETURN$ASN [N]#/WLN S#4[Q]LN ### RETURN(K▛ CLEARORNDYS/[Q] RETURN4S[H] RETURNMS"" RETURN#K▒LN  CLEAR#LN [.]#/[H] RETURN#K<YXLN ##Y4LN [.]#LN ▛#LN [U]## UNPLOT # CLEAR#W RETURN\,,C NEW GOSUB ##RNDLN [L]INKEY$ Y▞> CLEARACS #▚# UNPLOT # PRINT VAL STR$  FAST[J] GOSUB ##RNDLN  LET RNDLN [0]#Y  RETURN2C: GOSUB #▞KVAL ( RETURNAT ( IF LEN ▝/ INPUT LN EINKEY$ LN PEEK PILN [L]INKEY$ [B]4 RUN  GOSUB ##RND#[8]▝U#RND[B]C▞ CLEARP#LN [(]## UNPLOT #UPIRND[B]C RUN  CLEARPPILN ▛#LN [U]#/[7]U#RND[B]C NEW CLEARACS ##4 STEP  CLEARP# CLEARACS # THENYZLN ##/ LPRINT URNDRND[B]CATN  CLEARACS ##4LEN  CLEARPRND CLEARACS # INPUT YS/ SLOWUINKEY$ RND[B]C[P] CLEARPINKEY$ LN [0]#/[H] PRINT U#RNDACS Z CLEAR▚Z CLEAR[Y]#S▀U#RNDMZRNDYINKEY$ LN ##LN [U]# LET TAN  CLEARACS ##C\,,LN ##Y5[X]ABS TAB #LN ##YM[X]S4 CLEARQ# LN [U]#LN U#Q: CLEARACS ## CLEARACS #[Y]C\~~Y#LN ##Y4LN [.]#LN ##YM[X]S= CLEARACS ## CLEARACS #[Q]C\~~Y#LN ##Y4LN [.]#LN ##YM[X]**##INKEY$       LN [U]#-  CLEAR#W5▛ LN .PI FASTLN #PISGN LN *PI#LEN ▀/-  LN #PI)/+LN *PI FOR 5 #;#[B]4 INPUT TAN  #[J]UZRND[1]K3 PRINT [J]MZRND CLEAR[Y]INKEY$ C, CLEARPINKEY$ LN [0]#Y(LN [.]# LET [B] CLEAR[:]ZK SLOW#[U]#MZRND/ SAVE  CLEARQZ LN ##LN [U]#LN [L]#LN [0]#Y#LN ##LN S#4 CLSLN P####   GOSUB ##RND# RETURN=4▘▌Y[5]LN  LET RNDY[6]▖LN  LET RND[J]TAN LN #PI)) LN *PI#WACS Z[B]4#LN #PI GOSUB ##RNDSTR$ ACS UACS .LN *PI FOR  LPRINT [J] GOSUB #6#RNDY#LN [U]#I  PRINT YKLN [.]# LET LN ##YKLN [.]# GOSUB ##RNDLN [L]INKEY$ #>LN PEEK PILN [L]INKEY$ ,[B]4 PLOT Y$># UNPLOT # RETURN▝K:LN #PI)▀ LN *PIY#▐/CODE  RETURN▌K#LN ### RETURNMK#YKLN [.]#LN #PI)\,, LN *PI#W CLEAR[Y]W4▛W RETURN\~~4▝Y▘X5DZQ 7Q:7Q 7 PRINT LEN 1# CLEARQ##Y:LN  FAST# LET 5#Z▐#OI Y## LPRINT # RETURN#K▌I"/ NEXT  I\~~/ INPUT  40 CLEAR## CLEAR#W[S]S▌Y## TO #LEN ▀[S]S▖Y#/ POKE Y#/ LIST   RETURN▞4> CLEAR##[B]ASN [N]# CLEARQ# Y##>=#   RETURN▛4( CLEARACS ##TAB [N]# CLEARACS # RETURNY#/LEN   CLEARACS ##4 INPUT  CLEARACS # PLOT Y#/[R] ACS [Z] PRINT LN J# LET  PRINT  CLEARACS ##C▞ CLEARACS #LEN /BLN S#4£[B]TAB ## CLEAR##[B]TAB ## LN #PI LET  PRINT )#Z▄#,#- LN *PIG#LN ## CLEAR##X CLEAR##[B]TAB ## LET  PRINT ACS [3]LEN 5 CLEAR##Y#LN  FAST#▞▒VAL  GOSUB ##RNDY£LN  LET RNDY▘LN G#Y▘LN  LET RNDY▀LN G#AT ( SLOW CLEARQ#  CLEARO# LET W▛▛ACS BACS B#- ACS >E#RND;6#RNDLN [H]#LN T# CLEARACS #▚/#LN ##AT  CLEAR##[B]CX CLEARACS ##4R# RETURN▌KM CLEARQ# #ACS [3]LEN 5 CLEARQ#PILN  FAST#Y4LN [.]#LN U#Q: GOSUB ##RNDLN [L]INKEY$ , PRINT LN U# LET  CLEARQ#  CLEARQ# #/[N] GOSUB ##RNDLN [L]INKEY$ LN M#LN [U]# CLEARACS ## CLEARACS #[Q]C\~~Y#LN ##Y4LN [.]## UNPLOT # FAST2 ▘ LIST **LN  LPRINT ▛LN [H]\~~TAN Y#LN ##LN USR # RETURN#4 RAND 5[2]# FASTQ?LN [,,]# LPRINT Q▘ CLEARQZ ### FASTVAL 5 #)#▝XC▀;/ IF ▌$- #PI\,,#▞▌ACS 7ACS >( IF ;ACS 5[B] GOSUB PI###AT  LPRINT TAN   VAL # CLEAR#O[(]AT  CLEAR[Y]O4 CLSTAN  GOSUB ##RND CLEAR#W CLEAR##LN ##"" CLEAR##TAN  CLEAR## RETURN\,, PRINT LN  ###)#▝ LET  FASTC>;# RETURN▝Y▀ LPRINT 4▝#TAN U#RND RETURN▝** FAST[J] GOSUB ## LPRINT  RETURN▀4▖Y▝/ REM  RETURN▖""Y▌/ STOP    FASTSTR$  PRINT VAL #5 4\,,# RETURN COPYAT C/#5[K]Z RETURN(S\~~ACS [Z]ACS [R]ACS [J]ACS [B]I""▐##LN ## LET SGN  LPRINT TAN       Y2 GOSUB #<>5▟▝TAN  RETURN▖C▖ RETURN▞4> CLEARACS ##4£5#▝; FOR  CLEAR##G#A#NN) PLOT #STR$  DIM  """TIME WARP"""#ACS  UNPLOT 6#RND CLEAR##W4( CLEARQ# CLEARLN ACS #ASN ## CLEAR#PW4 IF EORND GOSUB ##RND[J] GOSUB # AND [8]▝ASN [8]▝  CLEARP#A## CLEAR## CLEAR##ATN PI##,# CLEAR##LN ##/[Z]LN USR # RETURN# CLEAR#PITAN  G0# RETURN#S▀2#H# RETURN#S▝IL CLEAR## CLEAR## CLEARQ#\,,TAN  CLEARQ#L CLEARQ## CLEARQ#\~~ CLEARQ#[V]#[,,]# LN  # RETURN(** CLEAR## CLEAR## PRINT [J]> LET  PRINT  CLEAR##VAL STR$ LN ##SGN AT  LET  PRINT  CLEAR[Y]W4▖#LN ▚# LET LN ""# CLEAR##># CLEAR[Y]W"",LN ▚##TAN STR$ ## CLEAR[Y]W4\~~ CLEAR##[T]4▖ CLEAR##[S]#SGN TAN #LN [F]#COS  CLEARACS ##45 CLEARACS ##4. VAL LN #PI)£ LN *PIAT Y\~~ CLEARACS ##4▀ CLEAR##[X]ABS [C]#Y▒VAL  PRINT  CLEAR##LN [6]PILN ##K▞ CLEAR##LN (# LET AT X4 CONT  CLEAR##LN  # CLEAR##TAN LN  #[B]C$ RETURN▝CF RETURN▀CQ RETURN(S<TAN  CLEAR##NNNNNNLN [F]#"" CLEARACS #LEN TAN  RETURN▛COS  RETURN▘COS  RETURN$COS #""#    STR$ 5#▝ FOR [J] GOSUB #SGN # RETURN▀CSQR TAN 5#▝;# RETURN▝CLEN TAN    RETURN▝SP RETURN▞KL PRINT  CLEAR##[B]CD LET  PRINT VAL AS-#▘▒ #ACS 7ACS 7ACS 7#HACS 9ACS 9ACS 9ACS 9ACS <> CLEAR## RETURN£4▝ACS [1] GOSUB [K]AT  LET # LET RNDLN [R]#LN 7?LN E\~~#F? CLEAR## CLEAR[Y]WC0K$WLN  # RETURN▝4> CLEAR##GTAN XLN  # RETURN▀4▌ CLEAR##HTAN  CLEARQ# # CLEAR[Y]#C▖ CLEARACS # THENK▖ CLEARACS #EXP # CLEAR[Y]#C▖ CLEARACS #CHR$ K▖ CLEARACS #LEN 5#Z CLEAR##▐##VAL  PRINT LN 1#>=(# LET AT XVAL  PRINT LN 1#>=(# LET AT WWVAL  PRINT LN 1#>=(# LET AT # GOTO #LN D#LN ##U#RNDTAN   A##ACS 9▐LEN T## CLEAR## DIM    ▌TAN £▌TAN £ TAN £▖TAN  ▖TAN $▖TAN $ TAN $▌TAN  ▌TAN £▌TAN TAN TAN TAN TAN TAN TAN TAN TAN TAN LN  LIST #LN ##5 4) #▘ *,[B]C\~~#7<"#[L]C$/ PAUSE <,Q XC LIST 7"/ RUN 5[X]#▘-▖LN VINKEY$ 7▘=▛LN VINKEY$ 7▘-\,,LN VINKEY$ 7▘$(LN VINKEY$ 7▘:>LN VINKEY$ LN USR #[B]C IF LN E\~~LN ###?# CHEERS[7]#P[E][A][C][E] R[E][I][G][N][S]#[A][T] [L][A][S][T].#E[V][I][L] [I][S] [V][A][N][Q][U][I][S][H][E][D][7]#T[H][O][U] [A][R][T] [A] HERO[7]# 4 4 4 4 4 4 4 4 4 4 4 4 4 \~~0 + \~~Y ▖:# ? ▒### ▖#< ? ▛▘66# ▖▖#RND : ▛▖#RND# ▀▘))4 : ▛▒ ▘▒# ▀▝##4 : ▛)))# ▀▌()( : ▛6E## ▖RND▖# : ▛RND#▘#RND ▝\,,)INKEY$  ? ▛▒ ▘▘#RND ▝=PI8RND : ▞▘) ▘▘#RND ▝▘▌)= : ▀S ▝▝6 ▘▘#RND ▝8### : ▀# ▝▝# ▘▘#RND ▝)▝5= : ▀# ▀▒ ▘▘#RND ▝#INKEY$ ## : ▀# ▝▘▖ ▘▘#RND ▝(\,,▒- : ▀F ▝▝4 ▘▘#RND ▝RND▒# ? ▀# ▀# ▘▘#RND ▝#INKEY$ INKEY$ # : ▀#RND ▘▝▒ ▘▘#RND ▝PI669 : ▀#RND ▘▘( ▘▘#RND ▝+++* : ▀TS ▘▝8 ▘▘#RND ▝#### : ▀## ▘▝# ▘▘#RND ▝#66B : ▀## ▝▒ ▘▘#RND ▝INKEY$ INKEY$ INKEY$ # : ▀W# ▘▘> ▘▘#RND ▝)\,,\,,* : ▀VV ▘▘6 ▘▘#RND ▝##▒RND : ▀##RND ▘# ▘▘#RND ▝)))* : ▀##RND ▀▘#RND ▝8RND## : ▀##RND ▘) ▘▘#RND ▝)>#* : ▀VVS ▘6 ▘▘#RND ▝▒PI## : ▀O## ▘#RND▘#RND ▝▖=#- : ▀O## ▘C4▘#RND ▝▘▖## : ▀W## ▘)(▘#RND ▀#)- : ▀VVV ▘\~~C▘#RND ▖#( : ▀▛##RND▖#▘#RND ▖## : ▀▛##RND▝\~~▘#RND ▖## : ▀▛##RND▘▘▘#RND ▖## : ▀▀VVS ▘6▘#RND ▖▖ ? ▀▖### ▘#INKEY$ #RND ▀▛## : ▀▖### ▘C5#RND ▀▌## : ▀▖### ▘))#RND ▀▛## : ▀▀VVVK\~~D#RND ▖▖ ? ▀▀####▖##RND ▘▛##)# : ▖####▝▖# ▝▌#### : ▖####▘## ▝▛##*# : ▖VVVVV(# + ▖*############ ? ▖+############ ? ▖3############ ? ▌VV ▘▀ ▘# + ▖▛############ ? ▖▌############ ? ▖▛############ ? ▌## ▀# ▖#RND ? ▌###########RND ? ▌▌########## ( ▌▛########## ( ▞▌######## ) ▞▛######## ) ▛▌###### > ▛▛###### > ▒##### < ▒3#### < \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## ▘▒ > \,,▛## ▘▒ > \,,▛## ▘( > \,,▛## = \,,▛## ▘4 > \,,▛## ▘4 > \,,▛## ▘RND > \,,▛## ▘RND > \,,▛## = \,,▛## = \,,▛##▘ < \,,▛##▝▘ > \,,▛##▝▝ > \,,▛##▖ < \,,▛## ▘▒ > \,,▛##▒( > \,,▛##▒4 > \,,▛##(RND > \,,▛##( < \,,▛##5 < \,,▛##6 < \,,▛### < \,,▛###▘ > \,,▛## ▘▞ > \,,▛##4K > \,,▛##INKEY$ RND > \,,▛##▝ < \,,▛##( < \,,▛##RND < \,,▛## = \,,▛####RND ) \,,▛## = \,,▛##RND < \,,▛##( < \,,▛##▝ < \,,▛##INKEY$ RND > \,,▛##4Q > \,,▛##(▘ > \,,▛##▒ < \,,▛## = \,,▛##▝ < \,,▛##▘ < \,,▛## = \,,▛## ▘RND > \,,▛## ▘4 > \,,▛##RND < \,,▛##RND▒ > \,,▛##RND▖ > \,,▛##4▝ > \,,▛##4▘ > \,,▛## = \,,▛##( < \,,▛##( < \,,▛##( < \,,▛##▒ < \,,▛## = \,,▛##▒ < \,,▛##▖ < \,,▛##▖ < \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▛## = \,,▀## = \,,▘#RND = \~~# + \~~# + \~~Q + \~~0 + \~~▒ + 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4            5▜RND▞4#LEN █#7( RAND TAN                                                                                                                                                                              LN 7?5 COPY#6##76["]#5[7]# FASTQTAN LN ## LPRINT Q#5 COPY36##5=RND6["]#TAN  ▘▛(▒£▖>\~~$▝<:▞"▀?=▌)\,,\~~<▝$▌+1(2▛/)▀,:"*.▒▘;=\,,-▖£>▞?0   PRINT Y▛LN ##LN EINKEY$ LN USR # RETURN#4 RAND  LET L RETURN#TAB  UNPLOT ##£#   LN  LIST #LN EINKEY$ LN ##LN [4]SLN E\~~LN ##LN ##LN [U]#LN ### UNPLOT #[0] ▌ #INKEY$ #INKEY$ ▄INKEY$   ▜INKEY$ #INKEY$ £""▜INKEY$ ▜INKEY$ RND#RND ▝  [Z] CLEAR COPY3#INKEY$ ▌    [$]£   CONT  DIM   [W]5/                                 #          ▜4   ████[,,]RND[+][=][>][(]      [/] ▘TAB   REM 5[C]RND) NEW#STR$ ▘[;]  GOSUB [K]TAN  5#RND RAND 5 █6▖RNDFQYF RAND FF6▝RND##▞  # ▀"  RAND USR VAL "16528"# ▖▌  SAVE "[1]"# ▌"  RAND USR VAL "16514"##########################█ LN 7?▘ COPY COPY( RETURN$4 CLS5[4]#▞[4]VAL LN 2▀AT 7( SAVE  FAST5 NEW#▞[;]VAL LN 2▀AT 7( SAVE  LPRINT ▞#VAL LN 2▀AT 7( SAVE TAN LN EINKEY$ LN USR # RETURN#4 RAND  5#RND RAND 5 █6▖RNDFQYF RAND FF6▝RNDLN F?/P" SELECT",,,," SAVE  0-9",," STOP- SH. Q",," CONT - C",," NEW - N"#LN E\~~LN [R]#E-RND FAST5 AND #6-RNDLN INT \~~ LPRINT 6-RNDEORND6MRNDLN [V]▝G4 IF LN USR # RETURN""ASN #▞ RETURNC4▛UZRND[B]### RETURNNASN  LIST # RETURN0S SLOW RETURNAK STEP ACS  COPYM[4]#/▖    LN  PAUSE SLN ▜#LN E\~~5  72 LN [A]## RETURN▝4 PRINT 2 COPYLN [Y]#2[F]LN [A]#5 COPY3- 7##▙#LN [A]#STR$  FOR E=RND[B] GOSUB # FOR SGN 4 GOTO #LN [A]##LN [A]##LN [A]#LN F?#£#LN [Y]#LN [Y]#LN [Y]#LN [Y]#LN [Y]#LN [Y]#LN [Y]#   [B]ACS < AND ASN #LN NOT ##SQR #LN  THEN#   <= RETURN▞>( RETURNTAN PEEK  COPY▞>( RETURNTAN PEEK  COPY▞S( RETURNTAN  LN 7?- LN #?ABS [A]▀=PEEK  COPY# RETURN2K£2 LN ### RETURN 4 NEW/ NEWPEEK  COPY2 LN ### RETURN C POKE LN ### RETURN[F]4SQR 5 COPY3- ▞ PEEK  COPY7LN ####▙#STR$  FOR E=RND[B] GOSUB # FOR SGN 4 REM LN ##LN ###[U]4\,,YONOT YKNOT #[Q]#INT =2 LN ##LN ##LN ##LN ##LN ##LN ##LN ##   Y <= RETURN*S RAND : £  Y <= RETURN*ABS ###LEN  PAUSE ACS <TAN         ,,"[R][E][D][E][F][I][N][E]█[K][E][Y][S][?] Y/N"#"PRESS THE DESIRED KEY FOR:"#,,,,"UP","7"#"DOWN","6"#"LEFT","5"#"RIGHT","8"#      LN E\~~E-RND FAST5▗#6-RNDLN INT \~~LN [/]# RETURNNC▞ RETURNYC\,,/ NEXT  LPRINT 6-RND#▙#LN E\~~5[2]#6-RNDLN INT \~~5[V]#6-RNDLN INT \~~LN [/]#MVAL #M7#▘(▀ PRINT LN  PRINT ▒ LET LN LEN #5COS #6-RNDLN INT \~~LN [/]#MSQR #M3#▘(▖ PRINT LN  PRINT ▒ LET LN LEN #5PEEK #6-RNDLN INT \~~LN [/]#M<=#M##▘(▌ PRINT LN  PRINT ▒ LET LN LEN #5 THEN#6-RNDLN INT \~~LN [/]#M SCROLL#MB#▘(▞ PRINT LN  PRINT ▒ LET LN LEN ## RUN # LN USR #[B]4 IF LN USR #[B]C IF  RETURNDC LIST  RETURNSC GOTO  RETURN#C CONT  RETURNTC SLOW RETURNRC STEP  RETURN""C>= RETURNHC** RETURNLCUSR TAN  NOT Y#NOT TAN LN ##5 LLIST #▘▒-LN VINKEY$  CLEARQ#▘ CLEARACS ##4▝[B]TAN  CLEAR##W CLEAR## RETURN▖TAN A  5 4▘ COPY*##<Q  GOSUB [K]TAN           £####0-> $\,,#XW## ,)#;,C8 (/##/88 ▖▀PIYYPI9 0###YE# #0#0#▒6 ###0##INKEY$  YINKEY$ #INKEY$ ##Y 0#Y▒0=Q▒▒▒▒▒▒▒▒ #Y▒▒▒▒▒ ▒YCY\~~Y▒   ( (   #▝YK K  ▖▒▒▒▒▖  4((((4   (▒▖▒(   ▖▒(▒▖    Y Y    ▒▒Y▒▒     Y    0###>S  #PI##PI#     ▒        ▒▒(     // 0Q###Q0 K/////£ Y#▀:/K# Y#▀:▀#Y £0W##££ Z##N▀#Y ▛0K###Y #▀▞£/K# Y##Y##Y Y##Z▞0# 3N##### ####### 2N###N2 ####### ####### ####### 2N###N3 ####### W/////W W££££#S ####### ####### ####### ####### 0Q###Q0 ####### 0Q###Q3 ####### Y##Y▀#Y #////// #N####Z ##NN.2£ #N####Z #N2£2N# #N2££££ Z#▞£/L#  COPY COPY COPY COPY COPY COPY COPY COPY########)#)#)#)#  (▒00#Y ▒Q====0 2A##### ▒ 0 Y # # Y 0 ▒ ▒0#6EEY 0####0   ▒=E=▒ ###W//W8££▒##▒Y6/<###</ 6Y▒##▒// £#HZH#£  /##▒##  6▒0▒6   06E60  0E###E0 0Y###Y0 ######  44#4B4  ###PI##   ####RNDRND 4####M  #69B87  O#A++#  ######  ######▖ ######  ▖8=O#M        # 06#INKEY$ #6=##=▒=#INKEY$   //// // INKEY$ 06660INKEY$  ▞▞W#PIRND#  Y###Z #######   W###W K/0Q##W   W###Y 0QKWKKK   W###Y▞####### £ 0£££2 £ 0£££W/####### KKKKKQ0   #####   #####   Y###Y   ######  Y###Y▞  #####   W#W▞# //#KKQ0   #Q##Y   #Q22£   #N##Z   #W/W#   #N.:#S  3Q£.Y                           ▀                      ▒        ▒  ▀▛▛▛▛▛▛▛▛▛▛▛  ▛▛▛▛▛▛▛▛▛▛▛▛     ▛         ▛         ▒   ▛         ▛▛▛▛▛ ▛▛▛▛ ▛▛▛▛     ▛     ▛   ▛   ▛         ▛     ▛     ▛   ▛ PI     ▛▛▛▛▛ ▛▛▛▛ ▛▛     ▛   ▛   ▛   ▛   ▛             ▛   ▛   ▛   ▛       ▛▛▛▛▛     ▛   ▛   ▛   ▛£  ▛   ▛   ▛     ▛  ▘▛   ▛   ▛   ▛   ▛         ▛   ▛   ▛   ▛   ▛       ▛    ▀▛   ▛   ▛   ▛   ▛   ▛   ▛     ▛   ▛   ▛       ▛▛▛▛▛   ▛     ▛   ▛   ▛   ▛           ▛     ▛       ▛▛▛▛▛  ▛▛▛▛▛▛▛▛▛▛     ▛   ▛  ▒       ▛              ▛▛▛▛▛  ▛▛▛▛▛▛▛▛▛▒ ▛▛▛▛▛▛▛▛               ▒      ▖                                                                 ▝       ▒   ▀       ▒              ▝▛▛▛▛▛▛▛▛▛▛      ▛▛▛▛▛▛▛▛▛▛    ▛        ▛      ▛        ▛    ▛     ▘  ▛      ▛        ▛        ▛▛▛▛▛▛▛▛ ▛▛▛▛▛▛ ▛▛   ▛    ▛   ▛    ▛      ▛ \~~  ▛   ▛  ▖ ▛   ▛    ▛5     ▛  # ▛   ▛    ▛▛▛▛▛▛▛ ▛▛      ▛▛ ▛▛▛▛▛▛▛"       ▛  £             ▛  ▒         ▛    \~~           ▛        ▛▛▛▛▛▛▛ ▛▛      ▛▛ ▛▛▛▛▛▛▛   ▝▛   ▛    ▛ 4    ▛    ▛   ▛    ▛   ▛    ▛      ▛#   ▛£  ▛    ▛   ▛▛ ▛▛▛▛▛▛ ▛▛▛▛▛▛▛▛      £ ▛        ▛      ▛        ▛    ▛        ▛      ▛        ▛   #▛▛▛▛▛▛▛▛▛▛      ▛▛▛▛▛▛▛▛▛▛▒  ▒ K                ▌         ▀             ) ▀                     ▒           ▛▛        ▘       ▝            ▛▛            ▛▛▛ ▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛          ▛          ▛       ▛        ▛▛▛ ▖        ▛       ▛       ▛▛▛▛   ▛ ▛▛▛▛▛▛▛▛▛▛   ▛       ▛▛ ▛   ▛ ▛        ▛         ▌ ▛  ▛   ▛ ▛        ▛▖▛▛▛4      ▛  ▛▛▛▛▛   ▛▛ ▛   ▛   ▛          ▛▒    L ▛  ▛  K▛   ▛          ▛   ▛ \~~ ▛ #▛       ▛          ▛   ▛   ▛ ▛▛   ▛▛▛▛▛# ▛ ▒     ▛▛▛ ▛K       ▛ ▛   ▛  ▛           ▛        ▛ ▛   ▛ ▛▛     " ▛   ▛▛▛▛▛▛▛▛▛▛ ▛   ▛▛▛▛    £  ▛ ▒     ▛   K   #  ▛▛▛  ▀     ▛       ▛   £      ▛       ▀  ▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛ ▛▛▛       #\~~   ▛▛    ▒                ▝ "     ▛▛      ▝    #                    \~~▛▀▖          ▛    ▛           ▛ ▒[=]         ▛    ▛▛▛▛▛▛▛£▛▛▛▛▛▛▛▛▛▛▛▛ ▛▛▛ ▛        ▛          ▛       ▛ ▛    ▛▛▛▛▛          ▛       ▛ ▛    ▛   ▛   ▛▛▛▛▛▛▛▛▛▛▛▛   ▛ ▛    ▛   ▛   ▛ ▛        ▛   ▛ ▛ ▛  ▛ ▛ ▛   ▛ ▛    ▛▛▛ ▛ ▛▛▛ ▛ ▛  ▛ ▛ ▛▛▛▛▛ ▛ ▛▛ ▛ ▛ ▛   ▛ ▛ ▛  ▛ ▛ ▛     ▛ ▛  ▛ ▛ ▛   ▛ ▛ ▛  ▛ ▛ ▛   ▛ ▛ ▛  ▛ ▛     ▛ ▛ ▛  ▛ ▛ ▛   ▛ ▛ ▛ ▛▛ ▛ ▛▛▛▛▛ ▛ ▛  ▛ ▛ ▛▛▛ ▛ ▛▛▛    ▛ ▛   ▛ ▛ ▛  ▛ ▛ ▛   ▛        ▛ ▛   ▛   ▛    ▛ ▛   ▛▛▛▛▛▛▛▛▛▛▛▛   ▛   ▛    ▛ ▛       ▛          ▛▛▛▛▛    ▛ ▛       ▛          ▛        ▛ ▛▛▛ ▛▛▛▛▛▛▛▛▛▛▛▛ ▛▛▛▛▛▛▛    ▛            ▛           ▛    ▛            ▛             ▛                            ▛ ▛             ▛            ▛   ▛▛▛▛▛▛▛▛▛▛  ▛   ▛▛▛▛▛▛▛▛▛▛    ▛        ▛ ▛             ▛    ▛        ▛  ▛   ▛        ▛        ▛▛▛▛▛▛▛  ▛▛▛▛▛▛ ▛▛        ▛   ▛      ▛ ▛  ▛    ▛   ▛    ▛   ▛    ▛ ▛ ▛  ▛    ▛   ▛    ▛▛▛▛▛▛▛▛▛▛ ▛ ▛  ▛▛ ▛▛▛▛▛▛▛        ▛        ▛       ▛            ▛       ▛        ▛        ▛▛▛▛▛▛▛ ▛▛  ▛ ▛ ▛▛ ▛▛▛▛▛▛▛    ▛   ▛    ▛  ▛ ▛ ▛    ▛   ▛    ▛   ▛    ▛  ▛ ▛ ▛    ▛   ▛        ▛▛ ▛▛▛▛▛▛  ▛▛▛▛▛▛▛        ▛        ▛   ▛  ▛        ▛    ▛             ▛ ▛        ▛    ▛▛▛▛▛▛▛▛▛▛   ▛  ▛▛▛▛▛▛▛▛▛▛   ▛            ▛             ▛ ▛                            ▛     ▛                 ▛          ▛                   ▛        ▛  ▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛  ▛  ▛   ▛  ▛                 ▛  ▛ ▛     ▛  ▛▛▛▛▛▛▛▛▛▛▛▛▛▛▛  ▛   ▛  ▛▛   ▛▛             ▛▛ ▛ ▛ ▛   ▛ ▛ ▛   ▛▛▛▛▛▛▛▛▛   ▛ ▛ ▛ ▛   ▛ ▛ ▛  ▛▛       ▛▛    ▛ ▛ ▛   ▛ ▛ ▛  ▛  ▛▛ ▛▛  ▛  ▛ ▛ ▛ ▛ ▛▛▛ ▛ ▛  ▛ ▛ ▛ ▛ ▛ ▛  ▛ ▛ ▛ ▛   ▛ ▛ ▛  ▛ ▛     ▛ ▛  ▛ ▛ ▛ ▛   ▛ ▛ ▛    ▛  ▛  ▛    ▛ ▛ ▛ ▛   ▛ ▛    ▛  ▛▛▛▛▛  ▛  ▛ ▛ ▛ ▛  ▛▛ ▛ ▛  ▛▛ ▛ ▛ ▛ ▛▛  ▛ ▛ ▛ ▛     ▛ ▛▛  ▛ ▛ ▛ ▛ ▛  ▛▛   ▛ ▛  ▛▛ ▛  ▛▛▛▛▛▛ ▛ ▛▛▛▛▛▛  ▛ ▛     ▛  ▛                 ▛  ▛ ▛    ▛  ▛▛▛▛▛▛▛▛ ▛▛▛▛▛▛▛▛  ▛  ▛     ▛▛                 ▛▛   ▛                             ▛                 ▛▛▛▛ ▛         ▛▛▛▛▛▛▛▛▛▛▛▛▛▛      ▛ ▛▛▛▛▛▛  ▛        ▛   ▛   ▛ ▛▛ ▛    ▛  ▛  ▛▛▛▛▛ ▛   ▛▛▛ ▛    ▛  ▛ ▛  ▛       ▛  ▛   ▛ ▛▛▛▛▛▛ ▛  ▛  ▛ ▛ ▛▛▛  ▛  ▛  ▛      ▛▛  ▛   ▛ ▛    ▛  ▛  ▛ ▛ ▛▛▛▛▛   ▛    ▛ ▛ ▛  ▛   ▛▛▛ ▛ ▛   ▛  ▛   ▛  ▛  ▛  ▛     ▛   ▛   ▛ ▛   ▛    ▛  ▛  ▛▛▛    ▛▛▛        ▛   ▛  ▛  ▛    ▛      ▛  ▛   ▛ ▛  ▛   ▛  ▛▛▛  ▛   ▛▛▛▛ ▛  ▛  ▛  ▛ ▛ ▛     ▛  ▛ ▛▛  ▛ ▛  ▛  ▛  ▛ ▛ ▛ ▛    ▛  ▛      ▛  ▛  ▛  ▛ ▛ ▛ ▛▛▛▛▛▛   ▛▛▛▛▛▛▛    ▛   ▛ ▛ ▛                    ▛    ▛ ▛ ▛▛▛▛▛▛▛▛▛▛   ▛▛▛▛▛▛▛▛     ▛ ▛          ▛                ▛ ▛▛▛▛▛▛▛▛▛▛ ▛ ▛▛▛▛▛ ▛▛▛▛▛▛▛                 ▛                      ▛              ▛         ▛▛▛▛ ▛             ▛ ▛      ▛ ▛  ▛ ▛▛▛▛▛▛ ▛▛▛   ▛   ▛     ▛ ▛         ▛ ▛  ▛ ▛     ▛   ▛  ▛▛▛▛▛▛ ▛▛▛▛ ▛   ▛  ▛▛▛  ▛ ▛        ▛ ▛      ▛      ▛      ▛▛▛▛▛▛   ▛▛▛▛▛▛ ▛ ▛▛▛▛▛▛▛▛▛        ▛ ▛        ▛▛▛          ▛▛▛▛▛ ▛ ▛▛▛▛▛▛ ▛     ▛▛▛▛▛▛▛▛     ▛ ▛      ▛ ▛ ▛▛▛▛▛       ▛▛▛▛ ▛  ▛     ▛ ▛▛      ▛ ▛▛▛    ▛  ▛  ▛▛▛  ▛     ▛▛▛▛▛ ▛ ▛    ▛   ▛    ▛  ▛ ▛▛ ▛     ▛ ▛    ▛▛▛  ▛   ▛   ▛ ▛▛▛ ▛▛▛▛▛ ▛      ▛  ▛▛▛  ▛    ▛       ▛ ▛  ▛▛▛ ▛        ▛   ▛▛▛▛▛▛  ▛ ▛  ▛ ▛ ▛▛▛▛▛▛ ▛ ▛    ▛   ▛  ▛ ▛  ▛ ▛        ▛ ▛▛ ▛ ▛ ▛ ▛    ▛  ▛   ▛▛▛▛▛  ▛  ▛ ▛ ▛ ▛ ▛▛▛▛▛▛  ▛▛▛▛▛     ▛▛▛ ▛ ▛▛▛▛▛            ▛           ▛▛▛▛   ▛▛▛       ▛  ▛▛▛▛▛▛ ▛▛▛          ▛     ▛  ▛           ▛▛▛▛▛▛▛▛  ▛   ▛  ▛  ▛▛▛▛▛▛▛▛▛▛        ▛  ▛  ▛ ▛  ▛           ▛▛▛ ▛▛  ▛    ▛ ▛ ▛  ▛▛▛▛▛▛▛▛ ▛      ▛  ▛   ▛ ▛ ▛ ▛       ▛▛  ▛▛▛▛  ▛ ▛   ▛ ▛ ▛ ▛  ▛▛▛▛    ▛    ▛ ▛ ▛   ▛ ▛ ▛ ▛ ▛    ▛▛▛▛  ▛▛ ▛ ▛ ▛   ▛ ▛ ▛ ▛ ▛ ▛        ▛▛ ▛ ▛ ▛   ▛ ▛   ▛    ▛▛▛▛▛▛▛▛   ▛▛▛ ▛   ▛ ▛▛▛ ▛ ▛ ▛▛    ▛▛▛  ▛  ▛  ▛  ▛ ▛ ▛ ▛ ▛ ▛  ▛▛  ▛ ▛  ▛  ▛  ▛ ▛ ▛ ▛ ▛ ▛ ▛ ▛  ▛ ▛ ▛  ▛ ▛ ▛ ▛ ▛ ▛ ▛ ▛ ▛ ▛ ▛  ▛ ▛  ▛ ▛ ▛ ▛ ▛   ▛ ▛ ▛  ▛▛▛   ▛      ▛ ▛ ▛   ▛ ▛ ▛  ▛     ▛  ▛▛▛▛▛▛    ▛   ▛ ▛  ▛  ▛ ▛▛▛ ▛          ▛    ▛  ▛  ▛  ▛     ▛▛▛▛  ▛▛▛▛      ▛     ▛  ▛         ▛          ▘A )▙""5▙RND GOSUB [K]#[Q]#
   1[(][C][)][<]█[1][9][8][6]█[F][R][E][D]█[N][A][C][H][B][A][U][R]         
   2 SAVE "YMIR[2]" V3.08
   3 RAND USR VAL "31514"
   4 LIST SGN PI

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

Scroll to Top