@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@W!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `8  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D8:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D8:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG*}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES+}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}COPY--FROM, TO?OPTION NOT ALLOWED697 FREE SECTORS COPYING---D8:COPY32.COMl# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 164ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8TuR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8Tu05  15 2 2151^116115ύ011$r2ԭ5 3)5)5ԭx GT}@@L00)+& 2 L0=ɛ -L!1LV1L1 /3 3ȹ441L-4 v3 25 2H 2h͔5U}L3L3 2 k3U hh`DOC`QL3P1Lk0S1H /3h0B k3@ VL0LU!#$53 1181118V}1111Ε5 1Lk0552 1Ȍ1i111i11115Lk0pppB4f5&&&&&&&&^6f^6&&&&&W}&&A1@BJ D2ELVK@BHILV^Щ6 2BD2EJ VBD5EHI0 V0%5X}5 2iХiL[2 25 25`D:*.*` i@`8 ``@i `8@`0 BLV525<4Y}5`HH i ԍΗ552 ԍhh@ Lح1Э1Ѣ 24.4 24Z}4`D4E` 2BJ k3LVRH` 2BD4EhK)I JLV333 BASIC languag i}e OBJ > MACHINE language DOC > DOCumentation PIC|MIC|FNT|MVM > Graphics AMS|MUS|MBD > Music LST j} > BASIC LISTing -Some MACHINE language programs can only be run by booting the disk MENU "without" BASIC! -For s k}ome programs, XL/XE models may require a "TRANSLATOR" program to be booted first! [Also available from BELLCOM] - l}Most programs are relatively self-explanatory; however, some have separate DOCumentation files available. Some BASIC m} programs may contain instructions in their program listings. -To use this great MENU program on your own disks, n}simply copy the file "AUTORUN.SYS" onto your disk. * MENU written by DAVID CASTELL * program on your own disks, ^ ============================== = ATARI LOGO DEMOS/UTILITIES = ============================== These excellent LOGp}O programs were written and/or collected by the students and faculty of Garber High School, Essexville, MI., U.S.A. 4q}8732 IMPORTANT --------- Your LOGO cartridge must be installed in your Atari computer in r}order to run the LOGO language programs included on this diskette. LOADING INSTRUCTIONS --------------s}------ Turn your disk drive on and install a work disk containing DOS. Now, be sure that your LOGO Cartridge is instt}alled in your computer, then turn on your computer. When the Prompt appears, remove your work disk and insert this LOu}GO diskette. Now type in LOAD"D:LAZY" and press , this will allow you to access the Catalog by sv}imply pressing "C" and . CONTENTS -------- This disk contains a number of usefuw}l UTILITIES and DEMOS to use with your ATARI LOGO Cartridge. Several files are included to print out your LOGO screens.x} They have all been tested with Epson/ Compatible printers and work fine. You may have to make slight modifications fy}or other brands of printers. The program file LODSVPIC allows you to save screens to the disk and recall them later.z} To save a screen, be sure the program is loaded, then with the screen showing type: SAVEPIC"D:filename.ext" {}and press . To recall the saved screen simply type: LOADPIC"D:filename.ext" and press . The PA|}RTSAVE file allows you to save just the Procedures from the workspace that you would like in a separate file. Use the f}}ollowing format: PARTSAVE"D:filename (PROC) (PROC) etc... ...where (PROC) represents the Procedure you wish inclu~}ded. A number of other interesting LOGO programs and LOGO demos are included on this diskette. Their primary value w}ill be in using them to discover how different procedures are accomplished in LOGO language. Experiment, and have fun}! be in using them to discover how different procedures are accomplished in LOGO language. Experiment, and have funTO STORETS CTSETCURSOR [2 6]PR [ONE DAY YOU GO TO AN ANTIQUE STORE. YOU SEE A MIRROR THAT YOU WANT TO BUY. AT THE CHECKOUT} COUNTER THE]TELL YOU THAT THE MIRROR HAS SPECIAL POWERS.PR []PR [PRESS RETURN TO CONTINUE.]PR RLENDTO TITLE.CREDITTS} CTSETCURSOR [6 7]PR [ADVENTURE AHEAD IN TIME]SETCURSOR [4 9]PR [BY ALEXA, PATRICK AND ROBBIE]WAIT 200ENDTO DESFS HT} PU SETPOS [-30 0] PDREPEAT 2 [SQUARE 40 CS SQUARE 80 CS] SETBG 44 WAIT 5SET BG 55 WAIT 10SETBG 66 WAIT 5SET BG 77 WAIT 1}0SET BG 88 WAIT 5SET BG 99 WAIT 10SET BG 11 WAIT 5SET BG 22 WAIT 10SET BG 33 WAIT 5SET BG 111 WAIT 10SET BG 44 WAIT 5}SET BG 0ENDTO SQUARE :SIZEREPEAT 4 [FD :SIZE RT 90]SETBG 11 WAIT 5SETBG 22 WAIT 10SETBG 33 WAIT 5SETBG 44 WAIT 10SET}BG 55 WAIT 5SETBG 66 WAIT 10SETBG 77 WAIT 5SETBG 88 WAIT 10SETBG 99 WAIT 5SETBG 111 WAIT 10SETBG 44 WAIT 5SETBG 0 WAIT} 20ENDTO CTS CTSETCURSOR [2 4]SETBG 0PR [YOU GRAB THE BRANCH IN TIME. YOU PULL YOURSELF OUT OF THE QUICKSAND. "WHEW TH}AT WAS CLOSE," YOU SAY TO Y U]RSELF.PR [] PR ( SE " " [THAT'S WHEN YOU REALIZE THAT THERE IS A MIRROR JUST LIKE YOURS RIGHT} IN FRONT OF YOU. YOU A]LK TOWARD IT. ZAP! A RAY HITS YOU. THE MIRROR PULLS YOU IN, AND YOU GO FLYING BACK IN TIME. WHEN YOU} STOP YOARE BACK IN YOUR OWN TIME.SETCURSOR [14 20]SETBG 44PR [THE END]ENDTO DTS CTSETCURSOR [2 4]PR [YOU TRY AS MA}NY TIMES AS YOU CANTO CRAWL OUT OF THE QUICKSAND. EACH TIME YOU TRY YOUR HEAD GOES DEEPER A D]DEEPER. FINALLY YOUR HEAD GOES} DOWN INTO THE QUICKSAND, AND THAT'S THE END OF YOU.SETCURSOR [14 10]PR [THE END]SETBG 70ENDTO STORE1CT SETCURSOR [2 6}]PR [WHEN YOU GET HOME YOU LOOK IN THE MIRROR AND SUDDENLY A RAY OF LIGHT HITS YOU. IT PULLS YOU TOWARD IT AN]THEN ZAP! YOU} GO FLYING TOWARD THE MIRROR AND AHEAD IN TIME. WHEN YOU STOP YOU REALIZE YOU ARE IN THE YEAR 2 99!PR []PR [PRESS RETURN T}O CONTINUE.]PR RLENDROR AND AHEAD IN TIME. WHEN YOU STOP YOU REALIZE YOU ARE IN THE YEAR 2 99!PR []PR [PRESS RETURN TTO DTS CTSETCURSOR [2 4]PR [YOU TRY AS MANY TIMES AS YOU CAN] PR [TO CRAWL OUT OF THE QUICKSAND.]PR [EACH TIME YOU TRY YO}UR HEAD]PR [GOES DEEPER.]PR [FINALLY YOUR HEAD GOES DOWN]PR [INTO THE QUICKSAND, AND THAT'S]PR [THE END OF YOU.]SETCURSO}R [14 12]PR [THE END]SETBG 70ENDTO BTS CT SETCURSOR [2 3] PR [YOU FOLLOW THE CREATURE FOR A LONG TIME.HE LEADSYOU TO A }HUT. YOU GO INSIDE THE HUT]PR [AND THERE IS A MIRROR JUST LIKE]PR [YOURS. YOU START TO WALK TOWARD]PR [IT BUT THE CREATURE} STOPS YOU.]PR [THE CREATURE SAYS, "DON'T GO]PR [NEAR MY MIRROR."]PR []PR ( SE " " [IF YOU DECIDE TO WALK] ) PR [TOWARD T}HE MIRROR AND IGNORE THE] PR [CREATURE TYPE E. IF YOU DECIDE]PR [TO LISTEN TO THE CREATURE TYPE]PR [F.]MAKE "CHOICE FIRST }RLPR []IF :CHOICE = "E [E] [F]WAIT 200ENDTO STORE2CT SETCURSOR [2 6]PR [YOU ARE IN THE MIDDLE OF A]PR [FOREST. IT'S }THE MIDDLE OF THE]PR [DAY. YOU WALK FOR ABOUT AN HOUR]PR [UNTIL YOU REACH A STREAM.]PR [YOU SIT DOWN TO GET A DRINK OF]PR} [WATER AND SUDDENLY A CREATURE]PR [COMES TOWARD YOU. THE CREATURE]PR [SAYS, I WILL LEAD YOU TO SAFETY.] PR []PR [IF YOU D}ON'T TRUST THE CREATURE]PR [TYPE A. IF YOU DO TRUST THE]PR [CREATURE TYPE B.]PR []MAKE "CHOICE FIRST RLPR []IF :CHOICE }= "A [A] [B]WAIT 200ENDTO STORETS CTSETCURSOR [2 6]PR [ONE DAY YOU GO TO AN ANTIQUE]PR [STORE. YOU SEE A MIRROR THAT }YOU]PR [WANT TO BUY. AT THE CHECKOUT]PR [COUNTER THEY TELL YOU THAT THE]PR [MIRROR HAS SPECIAL POWERS.]PR []PR [PRESS RE}TURN TO CONTINUE.]PR RLENDTO TITLE.CREDITTS CTSETCURSOR [6 7]PR [ADVENTURE AHEAD IN TIME]SETCURSOR [4 9]PR [BY ALEXA}, PATRICK AND ROBBIE]WAIT 200ENDTO DESFS HT PU SETPOS [-30 0] PDREPEAT 2 [SQUARE 40 CS SQUARE 80 CS] SETBG 44 WAIT 5SE}TBG 55 WAIT 10SETBG 66 WAIT 5SETBG 77 WAIT 10SETBG 88 WAIT 5SETBG 99 WAIT 10SETBG 11 WAIT 5SETBG 22 WAIT 10SETBG 33 WA}IT 5SETBG 111 WAIT 10SETBG 44 WAIT 5SETBG 0ENDTO SQUARE :SIZEREPEAT 4 [FD :SIZE RT 90]SETBG 11 WAIT 5SETBG 22 WAIT 1}0SETBG 33 WAIT 5SETBG 44 WAIT 10SETBG 55 WAIT 5SETBG 66 WAIT 10SETBG 77 WAIT 5SETBG 88 WAIT 10SETBG 99 WAIT 5SETBG 11}1 WAIT 10SETBG 44 WAIT 5SETBG 0 WAIT 20ENDTO CTS CTSETCURSOR [2 4]SETBG 0PR [YOU GRAB THE BRANCH IN TIME. YOU]PR [P}ULL YOURSELF OUT OF THE]PR [QUICKSAND."WHEW THAT WAS CLOSE,"]PR [YOU SAY TO YOURSELF.]PR []PR ( SE " " [THAT'S WHEN YOU R}EALIZE] )PR [THAT THERE IS A MIRROR JUST LIKE] PR [YOURS RIGHT IN FRONT OF YOU. YOU] PR [WALK TOWARD IT. ZAP! A RAY HITS]PR} [YOU.]PR [THE MIRROR PULLS YOU IN, AND YOU] PR [GO FLYING BACK IN TIME. WHEN YOU] PR [STOP YOU ARE BACK IN YOUR OWN]PR [TI}ME.]SETCURSOR [14 20]SETBG 44PR [THE END]ENDTO STORE1CT SETCURSOR [2 6]PR [WHEN YOU GET HOME YOU LOOK IN]PR [THE MIR}ROR AND SUDDENLY A RAY OF] PR [OF LIGHT HITS YOU.]PR [THEN ZAP! YOU GO FLYING TOWARD]PR [THE MIRROR AND AHEAD IN TIME.]PR }[WHEN YOU STOP YOU REALIZE YOU]PR [ARE IN THE YEAR 2099!]PR []PR [PRESS RETURN TO CONTINUE.]PR RLENDTO MIRRORDESSETB}G 0TITLE.CREDITSTORESTORE1STORE2ENDTO ATS CTSETCURSOR [2 4]PR [NOT TRUSTING THE CREATURE, YOU]PR [WALK AWAY FROM I}T. ABOUT AN HOUR] PR [LATER YOU WALK RIGHT INTO]PR [QUICKSAND! YOU SEE A BRANCH.]PR [YOU THINK YOU COULD TRY TO GRAB]PR [I}T.]PR []PR [IF YOU TRY FOR THE BRANCH TYPE] PR [C IF NOT TYPE D]PR []MAKE "CHOICE FIRST RLIF :CHOICE = "C [C] [D]ENDT}O FTS CTSETCURSOR [2 4]PR [YOU LISTEN TO THE CREATURE AND]PR [SIT DOWN.A LITTLE LATER YOU SAY]PR [YOU HAVE TO GO. THE CR}EATURE]PR [FOLLOWS YOU. ONCE YOU GET]PR [OUTSIDE,HE DISAPPEARS.]PR [YOU JUST GO AHEAD AND FORGET]PR [ABOUT THE CREATURE.]}PR []PR ( SE " " [SUDDENLY RIGHT BEFORE]PR [YOUREYES IS A MIRROR JUST LIKE]PR [YOURS. YOU WALK TOWARD IT. WHEN] PR [YOU A}RE ALMOST THERE - ZAP! YOU]PR [GO FLYING BACK IN TIME.]PR [WHEN YOU STOP YOU ARE BACK IN]PR [YOUR OWN TIME]SETCURSOR [14 }20]PR [RETURN]ENDTO ETS CTSETBG OSETCURSOR [2 4]PR [YOU IGNORE THE CREATURE AND STEP]THROUGH THE MIRROR. ZAP! YOU GO}FLYING AHEAD IN TIME TO THE YEAR399! WHEN YOU STOP GOING AHEAD INTIME. YOU ARE SURROUNDED BY GUARDS!YOU TELL THEM YOUR ST}ORY BUT THEYDON'T BEIEVE YOU,AND THEY SAY THEYWILL KILL YOU.SETBG 70SETCURSOR [10 14]PR [RETURN]ENDMAKE "CHOICE "DM}AKE "STORE "EDN'T BEIEVE YOU,AND THEY SAY THEYWILL KILL YOU.SETBG 70SETCURSOR [10 14]PR [RETURN]ENDMAKE "CHOICE "DMTO DRAWCS FS PENDOWNSETPC 0 72MAKE "CL []COMMANDENDTO LFTIF HEADING = 270 [FD 10] [SETH 270]ENDTO DWNIF HEADING =} 180 [FD 10] [SETH 180]ENDTO CLEARCS MAKE "CL []ENDTO PRINTDMP.CALL 8419ENDTO RGTIF HEADING = 90 [FD 10] [SETH 90}]ENDTO UPIF HEADING = 0 [FD 10] [SETH 0]ENDTO ADDCOM :CMAKE "CL FPUT :C :CLMAKE "CL FPUT HEADING :CLIF ( COUNT :CL }) > 30 [MAKE "CL BL BL :CL]ENDTO UNDOIF EMPTYP :CL [STOP]MAKE "EC FIRST BF :CLSETH 180 + FIRST BF :CLIF PEN = "PD [PE }MAKE "PNST 1] [MAKE "PNST 0]IF :EC = "- [DWN]IF :EC = "= [UP]IF :EC = "+ [RGT]IF :EC = "* [LFT]MAKE "CL BF BF :CLIF :PN}ST = 1 [PENDOWN] [PENUP]IF :EC = "U [PENDOWN]IF :EC = "D [PENUP]ENDTO LEGAL :CIF ( ASCII :C ) > 128 [MAKE "C CHAR ( ASC}II : - 128 )]IF ( ASCII :C ) > 96 [MAKE "C CHAR ( ASCII :C - 32 )]OP :CENDTO COMMANDMAKE "COM RCMAKE "COM LEGAL :COMI}F :COM = "E [UNDO] [ADDCOM :COM]IF :COM = "- [UP]IF :COM = "= [DWN]IF :COM = "+ [LFT]IF :COM = "* [RGT]IF :COM = "U [PEN}UP]IF :COM = "D [PENDOWN]IF :COM = "P [PRINTDMP]IF :COM = "C [CLEAR] COMMANDENDMAKE "CL [] "* [RGT]IF :COM = "U [PENbTO RAN.PLACEMAKE "C RANDOM 8MAKE "TEMP :PLACEREPEAT :C [MAKE "TEMP BUTFIRST :TEMP]OP FIRST :TEMPENDTO RAN.GERUNDMAKE }"C RANDOM 8MAKE "TEMP :GERUNDREPEAT :C [MAKE "TEMP BUTFIRST :TEMP]OP FIRST :TEMPENDTO RAN.ADJMAKE "C RANDOM 8MAKE "TE }MP :ADJREPEAT :C [MAKE "TEMP BUTFIRST :TEMP]OP FIRST :TEMPENDTO RAN.NAMEMAKE "C RANDOM 8MAKE "TEMP :NAMEREPEAT :C [MA }KE "TEMP BUTFIRST :TEMP]OP FIRST :TEMPENDTO POEMTYPE RAN.NAMETYPE [_IS_]PRINT RAN.ADJTYPE RAN.NAMETYPE [_IS_]PRINT }RAN.ADJTYPE RAN.NAMETYPE [_IS_]TYPE RAN.GERUNDTYPE [_IN THE_]PRINT RAN.PLACEPRINT []ENDTO CCATALOG "D:ENDMAKE " }GERUND [SWIMMING WRITING PLAYING GOOFING LOVING EATING CRYING SWEATING]MAKE "ADJ [CUTE CUDDLY ANGRY SEXY STINKY CLEVER UGLY }BRILLIANT]MAKE "NAME [GORDY JOE BOBBY HARRY TOM SCOTT JEFF STEVE]MAKE "TEMP [GYM THEATRE]MAKE "PLACE [CITY FARM POOL CAR B }ACKYARD PLAYGROUND GYM THEATRE]MAKE "C 6RY TOM SCOTT JEFF STEVE]MAKE "TEMP [GYM THEATRE]MAKE "PLACE [CITY FARM POOL CAR B *TO TRIANGLESTRIANGLER 10TRIANGLER 20TRIANGLER 30TRIANGLER 40ENDTO TRISTARREPEAT 10 [TRIANGLES RT - 36]ENDTO TRIANG$}LER :SIDEREPEAT 3 [FD :SIDE RT 120]ENDTO TREE :SIDERT 30 TRIANGLER :SIDERT 60 FD :SIDE / 2LT 90 BK :SIDE / 2ENDTO T$}REESTREE 30TREE 40TREE 50END]ENDTO TREE :SIDERT 30 TRIANGLER :SIDERT 60 FD :SIDE / 2LT 90 BK :SIDE / 2ENDTO T$#TO TALK :ANIMALS :SOUNDSIF OR EMPTYP :SOUNDS EMPTYP :ANIMALS [PR [THAT'S ALL THERE IS!] STOP]PR SE FIRST :ANIMALS FIRST :SO(}UNDSTALK BF :ANIMALS BF :SOUNDSENDSOUNDS EMPTYP :ANIMALS [PR [THAT'S ALL THERE IS!] STOP]PR SE FIRST :ANIMALS FIRST :SO('TO H :NTOWEROFHANOI :NENDTO TOWEROFHANOI :NUMDISKSMAKE "MOVECOUNT 0MAKE "FROMPEG 1MAKE "TOPEG 3MAKE "AUXPEG 2MOVETOW,}ER :NUMDISKS :FROMPEG :TOPEG :AUXPEGENDTO MOVEDISK :FROM :TOMAKE "MOVECOUNT :MOVECOUNT + 1( PRINT [MOVE #] :MOVECOUNT [F,}ROM:] :FROM [TO:] :TO )ENDTO MOVETOWER :NUMDISKS :FROMPEG :TOPEG :AUXPEGIF :NUMDISKS = 1 [( MOVEDISK :FROMPEG :TOPEG )] [,}MOVETOWER :NUMDISKS - 1 :FROMPEG :AUXPEG :TOPEG MOVEDISK :FROMPEG :TOPEG MOVETOWER :NUMDISKS - 1 :AUXPEG :TOPEG :FROMPEG]END,}MAKE "MOVECOUNT 3MAKE "AUXPEG 2MAKE "TOPEG 3MAKE "FROMPEG 1:TOPEG MOVETOWER :NUMDISKS - 1 :AUXPEG :TOPEG :FROMPEG]END,BTO PLAYCS ST PDREPEAT 4 [FD 100 RT 90]PU SETPOS [50 50]WHEN 3 [SPRING 100]SETSP 10ENDTO SPRINGIF :SPEED < 1 [STOP]F0}D :SPEED WAIT 50 BACK :SPEEDSPRING :SPEED / 2END0 50]WHEN 3 [SPRING 100]SETSP 10ENDTO SPRINGIF :SPEED < 1 [STOP]F05TO SETUPTELL [0 1 2 3] CS ST PUSETPN 0 SETPC 0 120ASK 0 [SETPOS [-50 -50] PD REPEAT 4 []] FD 100 RT 90ASK 0 [SETPOS [-20 4}-20]]ASK 1 [SETPOS [-20 20]]ASK 2 [SETPOS [20 -20]]ASK 3 [SETPOS [20 20]]EACH [RT 90 * WHO]ENDTO DEMONS.TASKWHEN 0 [S4}ETSP 0]WHEN 4 [SETSP 0]WHEN 8 [SETSP 0]WHEN 12 [SETSP 0]ENDTO WATCHIF SPEED = 0 [FIND.THEM]WATCHENDTO FIND.THEMIF4} COND 0 [ASK 0 [BK 10 RT 180]]IF COND 4 [ASK 1 [BK 10 RT 180]]IF COND 8 [ASK 2 [BK 10 RT 180]]IF COND 12 [ASK 3 [BK 10 RT 4}180]]SETSP 30END RT 180]]IF COND 4 [ASK 1 [BK 10 RT 180]]IF COND 8 [ASK 2 [BK 10 RT 180]]IF COND 12 [ASK 3 [BK 10 RT 4TO PLODFD 10 TOOT 0 130 15 4IF COND 1 [OOPS]ENDTO OOPSC.H PART A PE BK 10 PDENDTO PLOD.RRT 90 TOOT 0 190 15 3END8}TO PLOD.LLT 90 TOOT 0 250 15 3ENDTO PLOD.BPE BK 10 TOOT 0 100 15 4IF COND 1 [OOPS.B]PDENDTO PARTWAIT 12ENDTO A8}TOOT 0 220 15 12ENDTO OOPS.BA PART C.H FD 10ENDTO C.HTOOT 0 260 15 12ENDTO SWITCH.RPU RT 90 FD 20 LT 90 PDENDT8}O SWITCH.LPU LT 90 FD 20 RT 90 PDENDTO FINISHSETPN 0LT 90 FD 20 PU HTENDTO AHEAD.RERASEPE SWITCH.L PE BK 20 LT 90 B8}K 20SWITCH.RPDENDTO AHEAD.LERASEPE BK 20 RT 90 BK 20 PDENDTO AHEAD.ERASEPE SWITCH.L PE BK 20 FD 20 SWITCH.RPE BK 28}0 PDENDTO BTOOT 0 245 15 12ENDTO AHEAD.RSWITCH.L FD 20 RT 90 FD 20 SWITCH.RENDTO AHEAD.LFD 20 LT 90 FD 20ENDTO8} AHEADFD 20 SWITCH.L BK 20 FD 20 SWITCH.RENDTO FTOOT 0 175 15 12ENDTO ETOOT 0 165 15 12ENDTO MAZEMAKE "CHAR RCI8}F :CHAR = "F [AHEAD]IF :CHAR = "L [AHEAD.L]IF :CHAR = "R [AHEAD.R]IF :CHAR = "B [AHEAD.ERASE]IF :CHAR = "S [FINISH START]8}IF :CHAR = "1 [AHEAD.LERASE]IF :CHAR = "0 [AHEAD.RERASE]MAZEENDTO PLAYF D F C REST A C.H RESTD F A B REST C.H G REST8}C PART E PART F PART C.HPART C.H RESTA PART A PART D PART D PART CPART C PART D RESTWHEN 0 []CT SS PR [PRESS "S" TO STOP8}]ENDTO MHT CT CS PD SETPN 1PR [USE F,L,R,B,0,1 TO MAKE MAZE]WHEN 0 [HT PU PLAY]MAZEENDTO DTOOT 0 145 15 12ENDTO8} GTOOT 0 185 15 12ENDTO RESTWAIT 24ENDTO MOVEST MAKE "CHAR RCIF :CHAR = "F [PLOD]IF :CHAR = "R [PLOD.R]IF :CHAR =8} "L [PLOD.L]IF :CHAR = "B [PLOD.B]IF :CHAR = "S [CS HT STOP]MOVEENDTO GOPU HOME SETPN 2 LT 90 FD 10RT 90 PD STENDT8}O STARTGO MOVEENDTO CTOOT 0 130 15 12ENDMAKE "CHAR "SMOVEENDTO GOPU HOME SETPN 2 LT 90 FD 10RT 90 PD STENDT8?TO COLORWEAVE :STEPWRAPFSHTPXCOLORSPI :STEP 90ENDTO COLORSPI :STEP :ANGLEIF KEYP [.DEPOSIT 764 255 COLR]FD :STEPRT<} :ANGLECOLORSPI :STEP + 6 :ANGLEENDTO COLRIF PN = 2 [SETPN 0 STOP]SETPN PN + 1ENDTO WEAVEPAUSE :STEPWRAPFSHTPXS<}PIPAUSE :STEP 90ENDTO SPIPAUSE :STEP :ANGLEIF KEYP [.DEPOSIT 764 255 PAUSE]FD :STEPRT :ANGLESPIPAUSE :STEP + 6 :ANGLE<}ENDTO PAUSEIF KEYP [.DEPOSIT 764 255 STOP]PAUSEENDTO SOUND.RANGE :FREQTOOT 0 :FREQ 15 15PR :FREQSOUND.RANGE :FREQ +<} 50ENDTO CHANGECOLORIF BG = 127 [SETBG 0 WAIT 30]SETBG 1 + BGPR BG WAIT 30CHANGECOLORENDTO SHOWALLTELL [0 1 2 3]H<}OMEEACH [SETX WHO * 20]EACH [SETC WHO * 8]ENDTO PINWHEELREPEAT 8 [SQUARE RT 45]ENDTO WINDOW2REPEAT 4 [SQUARE]END<}TO SQUAREFD 50RT 90FD 50RT 90FD 50RT 90FD 50ENDTO WINDOW1SQUARESQUARESQUARESQUAREENDTO FLOWERADJUSTLEAFST<}EMBLOSSOMENDTO ADJUSTSETPOS [0 -20]ENDTO STEMFORWARD 100ENDTO LEAFREPEAT 9 [FORWARD 5 RIGHT 10]RIGHT 90REPEAT <}9 [FORWARD 5 RIGHT 10]RIGHT 90ENDTO BLOSSOMREPEAT 6 [LEAF RIGHT 60]SETPC 0 120ENDTO EPBYTE1 :BYTE1 :BYTE2 :POSTYPE2<} CHAR ( IF :BYTE1 > ( :POS - 1 ) [56] [0] ) + ( IF :BYTE1 > ( :POS - 1 ) [7] [0]IF :POS = 1 [STOP]EPBYTE1 REMAINDER :BYTE1 <}:POS REMAINDER :BYTE2 :POS :POS / 4ENDTO TYPE2 :CHARTYPE :CHARTYPE :CHARENDTO EXAM3 :LOCOP 65536 * ( .EXAMINE :LOC )<} + 256 * ( .EXAMINE :LOC + 1 ) + .EXAMINE :LOC + 2ENDTO EPBYTE :BYTE1 :BYTE2IF AND :BYTE1 = 0 :BYTE2 = 0 [MAKE "SPACE :SP<}ACE + 1 STOP]REPEAT :SPACE [TYPE "]MAKE "SPACE 0TYPE CHAR 27TYPE "KTYPE CHAR 24TYPE CHAR 0EPBYTE1 :BYTE1 :BYTE2 41<}94304ENDTO EPLINE :LOC :BYTES :SPACEIF :BYTES < 3 [EPBYTE 65536 * .EXAMINE :LOC 65536 * .EXAMINE :LOC + 40 STOP]EPBYTE E<}XAM3 :LOC EXAM3 :LOC + 40EPLINE :LOC + 3 :BYTES - 3 :SPACEENDTO EPLINES :LOC :NUMIF :NUM = 0 [STOP]EPLINE :LOC 40 0PR <}[]EPLINES :LOC + 80 :NUM - 1ENDTO EPSONSETWRITE "P:TYPE CHAR 27TYPE "ATYPE CHAR 6EPLINES 16384 48TYPE CHAR 27PR "@<}SETWRITE []ENDTO WEAVE :STEPWRAPFSHTPXSPI :STEP 90ENDTO SPI :STEP :ANGLEFD :STEPRT :ANGLESPI :STEP + 6 :ANGLE<}ENDMAKE "ARROW []WEAVE :STEPWRAPFSHTPXSPI :STEP 90ENDTO SPI :STEP :ANGLEFD :STEPRT :ANGLESPI :STEP + 6 :ANGLE<TO PARTSAVE :FNAME :PROCSSETWRITE :FNAMEPO :PROCSSETWRITE []ENDI :STEP :ANGLEFD :STEPRT :ANGLESPI :STEP + 6 :ANGLE@FTO CCATALOG "D:ENDCSSETWRITE :FNAMEPO :PROCSSETWRITE []ENDI :STEP :ANGLEFD :STEPRT :ANGLESPI :STEP + 6 :ANGLEDTO SPI :STEP :ANGLE :INCIF KEYP [STOP]FD :STEPRT :ANGLESPI :STEP + :INC :ANGLE :INCENDRT :ANGLESPI :STEP + 6 :ANGLEH^TO ANIMALPRINT [THINK OF AN ANIMAL.I WILL]PRINT [TRY TO GUESS IT BY ASKING QUESTIONS]CHOOSE.BRANCH :KNOWLEDGEPRINT [LET'SL} TRY AGAIN...]ANIMALENDTO GUESS :ANIMALMAKE "FINAL.QUESTION ( SE [IS IT] ( ADD.A.OR.AN :ANIMAL ) [?] )MAKE "RESPONSE ASL}K.YES.OR.NO :FINAL.QUESTIONIF :RESPONSE = [YES] [PRINT [LOOK HOW SMART I AM!] STOP]GET.SMARTER :ANIMALENDTO CHOOSE.BRANCL}H :NODEIF ( WORDP :NODE ) [GUESS :NODE STOP]MAKE "RESPONSE ASK.YES.OR.NO ( QUESTION :NODE )IF :RESPONSE = [YES] [CHOOSE.BRL}ANCH ( YES.BRANCH :NODE ) STOP]CHOOSE.BRANCH ( NO.BRANCH :NODE )ENDTO ASK.YES.OR.NO :QUESTIONPRINT :QUESTIONMAKE "INPUTL} RLIF :INPUT = [YES] [OUTPUT [YES]]IF :INPUT = [NO] [OUTPUT [NO]]PRINT [PLEASE TYPE "YES" OR "NO"]OUTPUT ASK.YES.OR.NO :QL}UESTIONENDTO AD.A.OR.AN :WORDTEST MEMBERP ( FIRST :WORD ) [A E I O U]IFTRUE [OUTPUT SENTENCE "AN :WORD]IFFALSE [OUTPUT M}SENTENCE "A :WORD]ENDTO ADD.A.OR.AN :WORDIF MEMBERP ( FIRST :WORD ) [A E I O U] [OP SE "AN :WORD] [OP SE "A :WORD]ENDTM}O GET.SMARTER :WRONG.ANSWERPRINT [OH WELL, I WAS WRONG. WHAT WAS IT?]MAKE "RIGHT.ANSWER ( LAST RL )PRINT [PLEASE TYPE IN AM} QUESTION WHOSE ANSWER]PRINT ( SE [IS YES FOR] ( ADD.A.OR.AN :RIGHT.ANSWER ) [AND] )PRINT ( SE [NO FOR] ( ADD.A.OR.AN :WRONM}G.ANSWER ) )MAKE "QUESTION RLEXTEND.KNOWLEDGE :QUESTION :RIGHT.ANSWER :WRONG.ANSWERENDTO EXTEND.KNOWLEDGE :NEW.QUESTION M}:YES.ANSWER :NO.ANSWERMAKE "KNOWLEDGE REPLACE :KNOWLEDGE :NO.ANSWER [LIST :NEW.QUESTION]ENDTO REPLACE :TREE :NODE :REPLACM}EMENTIF :TREE = :NODE [OUTPUT :REPLACEMENT]IF WORDP :TREE [OUTPUT :TREE]OUTPUT ( LIST QUESTION :TREE REPLACE ( YES.BRANCH M}:TREE ) :NODE :REPLACEMENTOUTPUT ( LIST QUESTION :TREE REPLACE ( NO.BRANCH :TREE ) :NODE :REPLACEMENT )ENDMAKE "FINAL.QUM}ESTION [IS IT A FISH ?]MAKE "RESPONSE [NO]MAKE "INPUT [NO]MAKE "RIGHT.ANSWER "BIRDMAKE "KNOWLEDGE [LIST :NEW.QUESTION]MAM}KE "QUESTION [DOES IT HAVE WINGS]ONSE [NO]MAKE "INPUT [NO]MAKE "RIGHT.ANSWER "BIRDMAKE "KNOWLEDGE [LIST :NEW.QUESTION]MAL"TO WINDOW1SQUARESQUARESQUARESQUAREENDTO WINDOW2REPEAT 4 [SQUARE]ENDTO SQUAREFD 50RT 90FD 50RT 90FD 50RT 90FQ }D 50ENDTO PINWHEELREPEAT 8 [SQUARE RT 45]ENDTO SHOWALLTELL [0 1 2 3]HOMEEACH [SETX WHO * 20]EACH [SETC WHO * 8]ENQ }DTO CHANGECOLORIF BG = 127 [SETBG 0 WAIT 30]SETBG 1 + BGPR BG WAIT 30CHANGECOLORENDTO SOUND.RANGE :FREQTOOT 0 :FREQQ } 15 15PR :FREQSOUND.RANGE :FREQ + 50END0]SETBG 1 + BGPR BG WAIT 30CHANGECOLORENDTO SOUND.RANGE :FREQTOOT 0 :FREQP-TO SAVEPIC :FILENAMESETWRITE :FILENAMEMAKE "LOC 16384TYPE CHAR .EXAMINE 708TYPE CHAR .EXAMINE 709TYPE CHAR .EXAMINE 710U}TYPE CHAR .EXAMINE 712REPEAT 3840 [TYPE CHAR .EXAMINE :LOC MAKE "LOC :LOC + 1]SETWRITE []ENDTO LOADPIC :FILENAMETELL [0U} 1 2 3] HT FSSETREAD :FILENAMEMAKE "LOC 16384.DEPOSIT 708 ASCII RC.DEPOSIT 709 ASCII RC.DEPOSIT 710 ASCII RC.DEPOSIT 71U}2 ASCII RCREPEAT 3840 [.DEPOSIT :LOC ASCII RC MAKE "LOC :LOC + 1]SETREAD []ENDSCII RC.DEPOSIT 710 ASCII RC.DEPOSIT 71TTTO EPSONSETWRITE "P:TYPE CHAR 27TYPE "ATYPE CHAR 6EPLINES 16384 48TYPE CHAR 27PR "@SETWRITE []ENDTO EPLINES :LOC :Y}NUMIF :NUM = 0 [STOP]EPLINE :LOC 40 0PR []EPLINES :LOC + 80 :NUM - 1ENDTO EPLINE :LOC :BYTES :SPACEIF :BYTES < 3 [EPBY}YTE 65536 * .EXAMINE :LOC 65536 * .EXAMINE :LOC + 40 STOP]EPBYTE EXAM3 :LOC EXAM3 :LOC + 40EPLINE :LOC + 3 :BYTES - 3 :SPACY}EENDTO TYPE2 :CHARTYPE :CHARTYPE :CHARENDTO EXAM3 :LOCOP 65536 * ( .EXAMINE :LOC ) + 256 * ( .EXAMINE :LOC + 1 ) + .Y}EXAMINE :LOC + 2ENDTO EPBYTE1 :BYTE1 :BYTE2 :POSTYPE2 CHAR ( IF :BYTE1 > ( :POS - 1 ) [56] [0] ) + ( IF :BYTE1 > ( :POS -Y} 1 ) [7] [0]IF :POS = 1 [STOP]EPBYTE1 REMAINDER :BYTE1 :POS REMAINDER :BYTE2 :POS :POS / 4ENDTO EPBYTE :BYTE1 :BYTE2IF Y}AND :BYTE1 = 0 :BYTE2 = 0 [MAKE "SPACE :SPACE + 1 STOP]REPEAT :SPACE [TYPE "]MAKE "SPACE 0TYPE CHAR 27TYPE "KTYPE CHY}AR 24TYPE CHAR 0EPBYTE1 :BYTE1 :BYTE2 4194304ENDTO BLOSSOMREPEAT 6 [LEAF RIGHT 60]SETPC 0 120ENDTO STEMFORWARD 100Y}ENDTO LEAFREPEAT 9 [FORWARD 5 RIGHT 10]RIGHT 90REPEAT 9 [FORWARD 5 RIGHT 10]RIGHT 90ENDTO ADJUSTSETPOS [0 -20]ENDY}TO FLOWERADJUSTLEAFSTEMBLOSSOMENDTO WINDOW1SQUARESQUARESQUARESQUAREENDTO WINDOW2REPEAT 4 [SQUARE]ENDTO SQY}UAREFD 50RT 90FD 50RT 90FD 50RT 90FD 50ENDTO PINWHEELREPEAT 8 [SQUARE RT 45]ENDTO SHOWALLTELL [0 1 2 3]HOMEEY}ACH [SETX WHO * 20]EACH [SETC WHO * 8]ENDTO CHANGECOLORIF BG = 127 [SETBG 0 WAIT 30]SETBG 1 + BGPR BG WAIT 30CHANGECOY}LORENDTO SOUND.RANGE :FREQTOOT 0 :FREQ 15 15PR :FREQSOUND.RANGE :FREQ + 50ENDMAKE "ARROW []PR BG WAIT 30CHANGECOXfTO PRINTPICSETWRITE "P:PR ( WORD CHAR 27 CHAR 65 CHAR 5 )SETWRITE [].CALL 13838SETWRITE "P:PR WORD CHAR 27 CHAR 64SETW]}RITE []ENDTO .INSTALL :ADDR :LISTIF EMPTYP :LIST [STOP].DEPOSIT :ADDR FIRST :LIST.INSTALL :ADDR + 1 BF :LISTENDTO SE] }TUP.PPMAKE SHAPE.LIST SAVE.SH [] 1.INSTALL 13824 :6502.CODEENDTO EMPTYSH? :SH.LISTIF EMPTYP :LIST [OP "TRUE]IF 0 = FIR]!}ST :SH.LIST [OP EMPTYSH? BF :SH.LIST].LISTENDTO SAVE.SH :SHAPE :COUNTIF :COUNT > 15 [OP []]MAKE "SHAPE GETSH :COUNTIF ]"}EMPTYSH? :SHAPE [MAKE "SHAPE []]OP FPUT :SHAPE ( SAVE.SH [] :COUNT + 1 )ENDTO RESTORE.SHPUT.SHAPES :SHAPE.LIST 1ENDTO]#} PUT.SHAPES :SH.LIST :COUNTIF :COUNT > 15 [STOP]PUTSH :COUNT IF [] = FIRST :SH.LIST [[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] [FI]$}RST :SH.LIST]PUT.SHAPES BF :SH.LIST :COUNT + 1ENDTO POUT.SHAPES :SH.LIST :COUNTIF :COUNT > 15 [STOP]IF [] = FIRST :SH.L]%}IST [PUTSH :COUNT [0 0 0 0 0 0 0 0 0 0 0 0 0 O 0 0]] [PUTSH :COUNT FIRST :SH.LIST]PUT.SHAPES BF :SH.LIST :COUNT + 1END.L\{^a'}a(}@D@a)}P@P@P@Pa*}@T@@@PE@a+}@@UUUUUUUUUUUUUUUUUUUUA@@D@DAA@a,}@PPPP@ATEPD@D@DQPUTATTDAAa-}@QPUUTTE@@@@UTAUTA@TPPUUUQUE@@a.}EEQUUUQUQUPA@DEEPUUQUUUQD@PPUUUUUUUUUUa/}UUUUUUUUUUUUUUUUUUUUDTATUQEUTUUEUPUDDATUAEUTU@UUU@a0}@PEQTPUUPUUUPT@UETUEETUUEUDEUU@T@@TUUPUUEEUUTAAE@Pa1}EUUUUTEUUAD@@QTUEPTUUPUUPT@@UUUUUUUUUUUUUUUUUUUUUUUa2}TTEUDEUTQEEU@DPEUDUQEUEETUAQ@@TUEETUUQUEUTEET@@TQTUa3}PUTUTUDAED@@TUAUUUQUUUTUDUPAU@DTDDUTUEUUUUUUQUEPQPUPUUUUTUUEa4}UDAPUUPUAUUUATTAT@@DTTEUEUUUUUUUUUUEU@PETQUQUUUUQUUUPTQa5}A@UTE@UUUUUUUUUUU@@@UUUUUUUUUUUUUUUUUUUU@QUUEQUUUUUUUUUUUUP@D@a6}PETDUQUUTEUUUUQUUUQ@ETQUUAUUUQUQUPPTTQTEUAUT@PT@Pa7}PTUUQPUUQTUUEA@PDAUEQUEAUUEQD@AUTUUUUDETUQTAD@@a8}UUUUUUUUUUUUUUUUUUUU@@@UUEUUUUUUUETUDAUA@EUQUQEUTQEEQ@a9}TTETPUAUTETUUQA@@UTA@TTEATPQTUPDUEQUETEUEU@PAPUQa:}EQEEUQTEA@UTUAUUTETQPEQ@PUEUTUUUPUEPT@DDUUUUa;}QUTQQEPAUUUQUUUADP@TQUUUUUUUPQUUUUUUUUUUUUUUUUa<}UUUUQEEUPUUUPU@ATTEUUPEUUP@TUEQTU@TTa=}@@UTUP@ATQETD@PPUTTP@a>}@DD@Qa?}a@}aA}aB}aC}aD}`^TO PINWHEELREPEAT 8 [SQUARE RT 45]ENDTO EPLINE :LOC :BYTES :SPACEIF :BYTES < 3 [EPBYTE 65536 * .EXAMINE :LOC 65536 * .EXeF}AMINE :LOC + 40 STOP]EPBYTE EXAM3 :LOC EXAM3 :LOC + 40EPLINE :LOC + 3 :BYTES - 3 :SPACEENDTO EPBYTE :BYTE1 :BYTE2IF ANDeG} :BYTE1 = 0 :BYTE2 = 0 [MAKE "SPACE :SPACE + 1 STOP]REPEAT :SPACE [TYPE CHAR 32 TYPE CHAR 32 TYPE CHAR 32 TYPE CHAR 32]MAKEeH} "SPACE 0TYPE CHAR 27TYPE "KTYPE CHAR 24TYPE CHAR 0EPBYTE1 :BYTE1 :BYTE2 4194304ENDTO EXAM3 :LOCOP 65536 * ( .EXAMINeI}E :LOC ) + 256 * ( .EXAMINE :LOC + 1 ) + .EXAMINE :LOC + 2ENDTO TYPE2 :CHARTYPE :CHARTYPE :CHARENDTO EPBYTE1 :BYTE1 :eJ}BYTE2 :POSTYPE2 CHAR ( ( IF :BYTE1 > ( :POS - 1 ) [56] [1] + ( IF :BYTE2 > ( :POS - 1 ) [7] [0] ) )IF :POS = 1 [STOP]EPBYTeK}E1 REMAINDER :BYTE1 :POS REMAINDER :BYTE2 :POS :POS / 4ENDTO EPLINES :LOC NUMIF :NUM = 0 [STOP]EPLINE :LOC 40 0PR []EPeL}LINES :LOC + 80 :NUM - 1ENDTO DUMPSETWRITE "P:TYPE CHAR 27TYPE "ATYPE CHAR 6EPLINES 16384 48TYPE CHAR 27PR "@SETWReM}ITE []END80 :NUM - 1ENDTO DUMPSETWRITE "P:TYPE CHAR 27TYPE "ATYPE CHAR 6EPLINES 16384 48TYPE CHAR 27PR "@SETWRd TO CLEARCS MAKE "CL []ENDTO RGTIF HEADING = 90 [FD 10] [SETH 90]ENDTO LFTIF HEADING = 270 [FD 10] [SETH 270]ENDTOiO} DWNIF HEADING = 180 [FD 10] [SETH 180]ENDTO UPIF HEADING = 0 [FD 10] [SETH 0]ENDTO ADDCOM :CMAKE "CL FPUT :C :CLMAiP}KE "CL FPUT HEADING :CLIF ( COUNT :CL ) > 30 [MAKE "CL BL BL :CL]ENDTO UNDOIF EMPTYP :CL [STOP]MAKE "EC FIRST BF :CLSEiQ}TH 180 + FIRST BF :CLIF PEN = "PD [PE MAKE "PNST 1] [MAKE "PNST 0]IF :EC = "- [DWN]IF :EC = "= [UP]IF :EC = "+ [RGT]IF :iR}EC = "* [LFT]MAKE "CL BF BF :CLIF :PNST = 1 [PENDOWN] [PENUP]IF :EC = "U [PENDOWN]IF :EC = "D [PENUP]ENDTO LEGAL :CIFiS} ( ASCII :C ) > 128 [MAKE "C CHAR ( ASCII : - 128 )]IF ( ASCII :C ) > 96 [MAKE "C CHAR ( ASCII :C - 32 )]OP :CENDTO COMMiT}ANDMAKE "COM RCMAKE "COM LEGAL :COMIF :COM = "E [UNDO] [ADDCOM :COM]IF :COM = "- [UP]IF :COM = "= [DWN]IF :COM = "+ [LFiU}T]IF :COM = "* [RGT]IF :COM = "U [PENUP]IF :COM = "D [PENDOWN]IF :COM = "P [EPSON]IF :COM = "C [CLEAR] COMMANDENDTO DiV}RAWCS FS PENDOWNSETPC 0 72MAKE "CL []COMMANDENDTO EPBYTE1 :BYTE1 :BYTE2 :POSTYPE2 CHAR ( IF :BYTE1 > ( :POS - 1 ) [56iW}] [0] ) + ( IF :BYTE1 > ( :POS - 1 ) [7] [0]IF :POS = 1 [STOP]EPBYTE1 REMAINDER :BYTE1 :POS REMAINDER :BYTE2 :POS :POS / 4iX}ENDTO TYPE2 :CHARTYPE :CHARTYPE :CHARENDTO EXAM3 :LOCOP 65536 * ( .EXAMINE :LOC ) + 256 * ( .EXAMINE :LOC + 1 ) + .EXiY}AMINE :LOC + 2ENDTO EPBYTE :BYTE1 :BYTE2IF AND :BYTE1 = 0 :BYTE2 = 0 [MAKE "SPACE :SPACE + 1 STOP]REPEAT :SPACE [TYPE "iZ}]MAKE "SPACE 0TYPE CHAR 27TYPE "KTYPE CHAR 24TYPE CHAR 0EPBYTE1 :BYTE1 :BYTE2 4194304ENDTO EPLINE :LOC :BYTES :SPi[}ACEIF :BYTES < 3 [EPBYTE 65536 * .EXAMINE :LOC 65536 * .EXAMINE :LOC + 40 STOP]EPBYTE EXAM3 :LOC EXAM3 :LOC + 40EPLINE :LOi\}C + 3 :BYTES - 3 :SPACEENDTO EPLINES :LOC :NUMIF :NUM = 0 [STOP]EPLINE :LOC 40 0PR []EPLINES :LOC + 80 :NUM - 1ENDTi]}O EPSONSETWRITE "P:TYPE CHAR 27TYPE "ATYPE CHAR 6EPLINES 16384 48TYPE CHAR 27PR "@SETWRITE []ENDTO CCATALOG "D:Ei^}NDMAKE "ARROW []TYPE CHAR 27TYPE "ATYPE CHAR 6EPLINES 16384 48TYPE CHAR 27PR "@SETWRITE []ENDTO CCATALOG "D:EhhB%DOS SYSB*)DUP SYSB SAUTORUN SYSB_HELP DOCBoLOGO DOCBWRITING B#WRITER B DRAW BWORDUSE BTRIANGLE BTALK BTOWER BMOVETURT BKEEPTURT BMAZE BPXDEMOS BPARTSAVE BLAZY BRECURS BANIMAL B DEMO B LODSVPIC B LOGODUMP BPRINTOUT B&TEST B EPRINT BNTURTDRAW