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"insideGO TO,GO SUB, andUSRcalls to save memory by avoiding stored floating-point constants.- Computed
GO SUBtargets using expressions, allowing a single dispatch point to branch to many subroutines. PAUSE 0followed byINKEY$for efficient keypress waiting.- Extensive use of
SGN,ACS,ASN,ATN,LN,SQR, andTANapplied 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.
CLEARcalled 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 TOandGO SUBcalls 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 NACHBAURis encoded using the RESET token character near the end of the listing.
Content
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.