@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( 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`  `1  ɐ     `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.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1: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 ALLOWED736 FREE SECTORS COPYING---D1:DIRECK.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- 138ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uRSNAMEADDRESSCITYPHONEAFILENAMECOUNTEMPCHECKFILENAMSTRINGERROFILENOTFOUNT} !!***************************!!* BASIC TRAININU}G *!!* ADDRESS BOOK 2 *(!!* by Clayton Walnum *2!!* *<!!* CopyriV}ght 1989 *F!!* by ANALOG Computing *P!!***************************ZdGG;@0,;@0,;@0,W};@,;@,;@,e;@,f'6-A6-@'6-Apnx!!*************************X}**!!* PRINT MENU *!!***************************(>:A%,(Y}(| REATE FILE |(| |(| OAD FILE |(| |Z}(| EIW FILE |(| |(| UIT |([}4C)4cAp4L)4lAP"4Q)4q,4V)4vA1$$(PLEASE CHOOSE , , \}, OR .6 A`@J!!***************************T!!* CREATE FILE *^!!***************************]}hr(FILENAMEs 4Apt* Ay*@@u>@(:(#FILE ALREADY^} EXISTS! ERASE IT (Y/N)>v4Y)4yAw4N)4nApx( As{@| @@_} A !!***************************!!* LOAD FILE *!!*******************`}********(FILENAME 4AP Ah @@  A D@a}F:A,":(NO SUCH FILE! TRY AGAIN.D AP0&(UNDETERMINED ERROR! TRY AGAIN.0 AP!!*******b}********************!!* GET ADDRESS *!!***************************#((NAME:#4A c}&((ADDRESS:&4A 0((CITY, STATE & ZIP:!04A &$((PHONE:$4A d}0( ((((:-()(IS THE ABOVE ENTRY OKAY (Y/N)-D>4N)4n(4(PLEASE REENTER THE ADDRESS.> A e}N80Y*0y(.(PLEASE ANSWER OR .8 ApX7(@(@*(@7(@b A f}l@ A`v!!***************************!!* VIEW FILE *!!*********************g}******(FILENAME 4A Ar @@ A`6-h}(>:A%,7@@*@7@( (((J6-%@"@ (<(i}PRESS [RETURN] FOR MORE@J A( A 4(( END OF FILE.4(PRESS [RETURN] FOR MENU.@j} A`D@F:A,":(NO SUCH FILE! TRY AGAIN.D A0&(UNDETERMINED ERROR! TRY AGAIN.0 Ak}!!***************************!!* CHECK FILENAME *!!***************************!E A l}E7@<@,2A)7@<@,3ZA "E AE7@<@,4:)7@<@,4:Am}$! 6.D:67@,.!6.%(6-@7<,0:(6-@&>;7%@<%@,1A*7%@<%@n},/Z>$' A (F:A,"A)6)(!FILENAME ERROR! PLEASE TRY AGAIN.,(36.6$D:ADDRESS2.BASo},/Z>$' A (F:A,"A)6)(!FILENAME ERROR! PLEASE TRY AGAIN.,(36.6$D:ADDRESS2.BAS0 ;LIST#D:MYUSR.ASM10 ;ASM ,,#D:MYUSR.OBJ11 SUM = $D412 NUM1 =$E013 NUM2 = $E220 *=1536 ; Assemble for PAGE 6.30 q} ADDTHEM PLA ; First off the stack is parameter count.40 BEQ ERROR ; Always check for no parameters ERROR.50 CMP #2 r} ; Did we get exactly 2 parameters?60 BEQ AOK70 TAX ; No, clean up stack and return safely.80 CLEANUP PLA s} ; Two bytes per parameter.90 PLA100 DEX ; Get all the parameters off?110 BNE CLEANUP ; when all gone, just th t}e valid return addr120 ERROR RTS ; is at the top of the stack for the RTS.130 ; We have valid input, compute the sum.14 u}0 ; The first parameter in the USR call (after the addr)150 ; is the first parameter off the stack, high-byte160 ; low-byte v} sequence. REMEMBER this!170 AOK PLA ; GetNUM1, high byte180 STA NUM1+1190 PLA ; Get NUM1, low byte200 ST w}A NUM1210 PLA ; Get NUM2, high byte220 STA NUM2+1230 PLA ; Get NUM2, low byte240 STA NUM2250 ; Now w x}e have the data in temporary storage260 ; and the stack is cleared of parameters.270 ; Just the return address (to get us b y}ack to BASIC)280 ; is at the top of the stack, which gets pulled off290 ; into the program counter automatically by the RTS z}300 ; instruction.310 CLC ; Must clear the carry flag first.320 LDA NUM1 ; Low byte of first integer to add. {}330 ADC NUM2 ; Add to low byte of second integer.340 STA SUM ; And store in low byte of their SUM.350 LDA NUM1+1 |} ; Now add high bytes, leave carry alone.360 ADC NUM2+1 ; It "carries over" from previous add.370 STA SUM+1 ; And thei }}r summation is complete.380 RTS ; Back to BASIC ; It "carries over" from previous add.370 STA SUM+1 ; And thei :`/X*SAVE#D:DIR3.M65 X*ASM,#-,#D:DIR3.COM#X*-----------------------------*#X* DIR3 - 3 across directory *(#X* li}ster by Mat*Rat *2#X* for Analog Computing (c)1989*<#X* from: Ratware Softworks *F#X* 32 S. Hartnett A}ve. *P#X* St. Louis, MO 63135 *Z#X*-----------------------------*d2nFx$X* Important equates for exciting} X* things: ESC EOLX*CIOV;;CALL OS HEREICCOMB;;COMMAND TO CIOICBADRD;;BUFFER OR FNAME}ICBLENH;;BUFFER LENGTHICAUX1J;;AUX BYTE #1ICAUX2K;;AUX BYTE #2X*COPN;;COMMAND OPENCCLOSE ;};COMMAND CLOSECGTXR;;GET TEXT RECCPTXR ;;PUT TEXT RECCGBINR;;GET BINARY REC"CPBINR ;;PUT BINARY REC,}CDRAW;;COMMAND DRAWTO6CFILL;;COMMAND FILL@X*JOPIN;;OPEN FOR INPUTTOPOUT;;OPEN FOR OUTPUT^OPDIR};;OPEN FOR DIRhX*r XCORDU| YCORDTX*#X*-----------------------------*#X* GL - Get a line of text *#X* }macro. Places hi byte *#X* of string addr in A reg, *#X* low byte of string addr *#X* in X reg, and max le}n *#X* of string in Y reg *#X* and then calls GETSTRING *#X*-----------------------------*GL  }  AGL error, 2 paramA Q>5  $>4 &  0%> :D% NX GETSTRINGbl#X*---------------}--------------*v#X* Graphics 0 macro *#X* Execute the equivalent of *#X* an Atari BASIC GRAPHICS 0 *#X*} command *#X*-----------------------------* GR0    ANo param for GR0AQ> GR}APHICS#X*------------------------------#X* Fprint a string at the *#X* X,Y position specified * #X*-----}------------------------- FPXY   * AFPXY-Param countA4>  HQ> R\Q fp PXCORDz  }Q> Q  PYCORD Q>4  $>5  FPRINT#X*-----------------------------*#X* Fprint macro, no} X & Y *#X* specified,so use the current*#X* X,Y coordinates *#X*-----------------------------*FP}   $ AFP-Param countA.8 Q>4 B $>5 L FPRINTV`#X*-----------------------------*j#X* LP - Line print} macro *t#X* print the text record *~#X* pointed to by A (low) *#X* and X (high) registers *#X* }on the line printer *#X* Disable printer output *#X* if an error occurs *#X*---------------------}--------*LP    ALP-Param countA Q>4  $>5  LPRINT #X*-----------------------------*#X*} Data work area *#X*-----------------------------*(DIRINFO A A2 ADirectory: A<DIRSPEC AD1:}*.*A==F(PDRIVE ADrive [1] ? A=ZFILESPEC ASearchspec ? Ad nCANTDO ACannot open DIR!Ax =RDI}R3 = ADIR3, by Mat*RatA =ESCEXIT ADIR3 by Mat*Rat,A A (c) ANALOGA= APress [ESC]A A twice & }[RTN]A A to exit.A==HBAR A+-----------+A A-----------+A A-----------+A== A ASHBAR }===== ====== ===== =====" =====, =====6} =@BHBAR =====J ======T =====^ =====h =====r} =====| =LINBUF A A A A A A A A A A==}xDONEFLG  LF =HOLDIT A[RETURN] moreA A, [ESC] exit ?A=RETURN = YCOUNT NOPRN =}=APrinterA A error!A==PROUT APrintout dir ?A A (Y/N) A=&#X*-----------------------------*0#X* Startup} the program: *:#X* Get user preferences for *D#X* drive, searchspec, and *N#X* printer output, then list } *X#X* the directory. *b#X*-----------------------------*l STARTUPvQ> PYCOUNT PPRCTL PDONEFLG}GR0 ;; Clear screenFP DIRSPEC DRVRQFP ESCEXIT;; Get driveFP DRIVE;; preference GETLKEYR>ESC;;} ESC to exit HSTART1 !DNEX START1R>EOL;; RTN is FDEFDRV;; default driveR> 1  DDRVRQ*R> 94EDRVRQ;; G}et filespec>PDIRSPECHPDRIVE;; RTN is defaultR DEFDRV\FP FILESPECfQDIRSPEC;; Save defaultp5zGL }DIRSPEC=(QDIRSPEC;; Return only? R>EOL HGOTFS7PDIRSPEC;; Keep default !GOTFS1 GOTFS7 GOT}FS1$>;; We use ESCADESCQDIRSPEC9R>EOL;; as end ofFPUTESC;; line mark2;; for FPRINT HADESC;; Adjust} it PUTESC2;; for search Q>ESC;; spec$ PDIRSPEC9. FP PROUT;; Hard copy?8 GETLKEYB R> Y;; Y or yL FGOTPRN};; must beV R> y;; input` FGOTPRN;; for yesj Q>;; all else NOt GOTPRNPPRCTL~ CLOSE1 $> Q>4DIRSPEC;; Open u}p PICBADR9;; the dir Q>5DIRSPEC;; spec PICBADR9;; on IOCB Q>;; #1 for PICBLEN9;; directory PICBLEN9;}; listing PICAUX29;; input Q>OPDIR PICAUX19 Q>COPN PICCOM9  CIO C IDODIR( FP DIRSPEC2 FP CANTD}O< !DRVRQF DODIRP FP LFZ FP DIRINFO;; Show dird FP SHBAR;; andn QPRCTL;; vert barx FDODIR1;; print? L}P LF LP DIRINFO;; LPRINT too LP HBAR DODIR1 %>;; Files/line $> DOLINE  GETFN;; Get a filename Q}DONEFLG FCNTDIR !DONEDIR CNTDIRQLINBUF9 R> *;; Locked? HDOL1 QLINBUF9 L>;; Inverse char" PLINBUF}9, DOL16 Q> |;; Make name@ PLINBUF9;; dividerJ AT ,^ O> ;; Next fieldh >r QDONEFLG;; Last one done?| FDOL2;; }no, more files !DONEDIR;; yes, wrapup DOL2 3;; next field )>;; 3rd one? HDOLINE;; no, more Q> |;; yes, fixup} PLINBUF9;; field with 2;; next file Q>;; separator PLINBUF9;; and print Q>;; out the line 2 PLINBUF9 }#YCOUNT FP LINBUF QPRCTL;; Lprint it if& FWATST;; PRCTL flag set0 LP LINBUF: !DODIR1D WATSTQYCOUNT;; Scro}lling?N R>X DDODIR1b FP HOLDITl Q>v PYCOUNT NXLWAI;Yes, pause  GETKEY;; for user R>EOL HNXCK F}P RETURN !DODIR1 NXCKR>ESC HNXLWAI FP RETURN FP BHBAR !DNEX DONEDIR A;; Done with ,;; DIR, now} O> ;; pad remaining >;; fields so Q>EOL;; display not* 3;; 'ragged'4 )>> FDONEDIR1H FILLINER 3\ )>f F}DONEDIR1p FILLINEz DONEDIR1 Q>EOL PLINBUF9 2 Q>ESC PLINBUF9 FP LINBUF QPRCTL FEXITNOW LP L}INBUF LP HBAR EXITNOW FP BHBAR CLOSEALLFP HOLDITMORE GETKEY R>EOL$ HCKEXI. !STARTUP8CKE}XIR>ESCB HMORELDNEXV CLOSEALL`FP RDIR3j:t#X*-----------------------------*~#X* Fill the next field with }*#X* blanks and a vertical bar. *#X* This will prevent unsightly *#X* 'ragged edge' at bottom *#X* directory lis}t *#X*-----------------------------* FILLINE 'SAVY%> Q> FILPLINBUF921HFIL Q> |} PLINBUF92( %SAVY2:<#X*-----------------------------*FSAVA ;; Save registersPSAVX ;; for GETFNZSAVY };; functiond LBSV n#X*-----------------------------*x#X* Get a filename from the *#X* opened IOCB #1, for DIR. } *#X* Check for end of file and *#X* set DONEFLG if necessary. *#X*-----------------------------* GETFN PSAVA} &SAVX 'SAVYQLINBUF9PLBSV;; Load in front$>;; of linbufQ>4LINBUF,;; we have toOSAVX;; cho}p some PICBADR9Q>5LINBUF"O>;; chars for,PICBADR96Q>;; screen format@ PDONEFLGJPICBLEN9TQ>(}^ PICBLEN9h Q>CGTXRr PICCOM9| CIOC IDNGET PDONEFLGDNGETQSAVA $SAVX %SAVYQLINBUF9R> ;;} Space? Not EOF FFNGOTR> * FFNFIXUP!X* Must be a digit, end of dir!X* Patch up Free sectors field"X* so it fit}s in 12 char windowQLINBUF9PLINBUF9& QLINBUF90PLINBUF9:QLINBUF9DPLINBUF9NQ> |X PLINBUF9}bQ> lPLINBUF9vQ> FPLINBUF9Q> rPLINBUF9Q> ePLINBUF9PLINBUF9Q> PLINBUF 9}PLINBUF 9PLINBUF 9Q> |PLINBUF 9Q> PDONEFLG  HFNGOTFNFIXUPQLINBUF9  PLINBUF9* FNGOT}4 QLBSV>PLINBUF9H QSAVAR:\GETLKEYGL LINBUF= f QLINBUFp:z#X*-----------------------------*#X* Get a }key from the *#X* keyboard through *#X* the K: device 2 *#X* and return it in } *#X* the A register *#X*-----------------------------*KEY AK:A= GETKEY$>  Q>CCLOSE PIC}COM9 CIO Q>COPN PICCOM9 Q>4KEY PICBADR9$ Q>5KEY.PICBADR98 Q>OPINB PICAUX19L CIOV Q>CGBINR` }PICCOM9jQ>t PICBLEN9~PICBLEN9!CIO#X*-----------------------------*#X* Get a string from *#X*} the keyboard through the *#X* E: device 0 and return it *#X* in the A register *#X*--------------------}---------* GETSTRING&ICBADR;; String addrPICBADR'ICBLEN;; Max length$>&ICBLEN  Q>CGTXR PIC}COM!CIO(#X*-----------------------------*2#X* Close IOCB #1, will be used *<#X* for DIR, filenames IOCB *F#X*----}-------------------------*P CLOSE1Z$>;; Close IOCB #1d Q>CCLOSEn PICCOM9x!CIO#X*-----------------------------*}#X* GRAPHICS g *#X* ENTRY: A-REG GRAPHICS MODE *#X* EXIT: Y-REG HAS STATUS *#X* } *#X*-----------------------------*SNAME AS:A=;;OPEN FNAME GRAPHICS5;;SAVE 'G'$>;;FILE 6} Q>CCLOSE PICCOM9 CIO;;FIRST CLOSE #6X* WE IGNORE ANY ERRORS$>;;AGAIN, FILE 6Q>COPN;;OPEN THIS FILE"} PICCOM9, Q>4SNAME6PICBADR9;;USE FILE "S:"@ Q>5SNAMEJPICBADR9;;POINT AT ITT!X* ALL IS SET UP FOR OPEN, NOW^#}X* WE TELL CIO WHAT KIND OF OPENhX*r7;;OUR SAVED MODE|PICAUX29;;GIVEN TO 'S:'!X* (NOTE THAT S: IGNORES UPPERX* B}ITS OF AUX2)M>;;GET UPPER BITSN>;;AND FLIP BIT 4#X* (S: EXPECTS IT TO BE INVERTED X* FROM WHAT BASIC USAGE IS)}L> ;;ALLOW R/WPICAUX19;;FOR CIO AND S:!CIO;;OPEN S:#X*-----------------------------*#X* Fprint: } *#X* X-Reg: Hi byte adr of string*#X* A-Reg: Lo byte adr of string*#X* String is terminated with *#X* an esc}ape character. Use to *#X* determine its length. *&#X* The text may have embedded *0#X* return characters, and may} *:#X* be as long as 65536 bytes *D#X* if so desired - just so it *N#X* doesn't have an embedded *X#X* escape char}acter. *b#X*-----------------------------*lSADR;; Work str ptrvX* FPRINT PICBADR&ICBADR PS}ADR &SADRX* Find string length%>'ICBLENLENQ@SADR7 R>ESC FGOTLEN3HLEN#ICBLEN  #}SADRHLEN  GOTLEN* 'ICBLEN4 Q>CPBINR> PICCOMH$>R!CIO\#X*-----------------------------*f#X* LPRINT - P}rint a line of *p#X* text. Use IOCB #7, *z#X* normally reserved for *#X* printer I/O anyway *}#X*-----------------------------*PRN AP:A= PRCTL LX ;; Hi tx adrLA ;; lo tx adr#X*----------------}-------------* LPRINT&LXPLA$>P Q>CCLOSEPICCOM9;; Close it CIOQ>COPN;; Open it PICCOM9$Q>O}POUT;; for output. PICAUX198 Q>4PRNB PICBADR9L Q>5PRNVPICBADR9` CIOjC;; Print opentILPRINT1;; error?~}FP NOPRNQ>;; Disable printPPRCTL;; on error: LPRINT1QLX;; Open, whipPICBADR9QLA;; out! PI}CBADR9Q>P PICBLEN9Q>PICBLEN9 Q>CPTXR  PICCOM9!CIO#X*-----------------------------*(#X* Close-a}ll IOCBs we used, *2#X* clean house before exit, *<#X* since we are sloppy about *F#X* how we use them in the prog} *P#X*-----------------------------*Z CLOSEALLd$>n Q>CCLOSEx PICCOM9 CIO$>  Q>CCLOSE PICCOM9 CIO}$>P Q>CCLOSE PICCOM9!CIO#X*-----------------------------* STARTUP#X*----------------------------}-*X* Q>CCLOSE PICCOM9!CIO#X*-----------------------------* STARTUP#X*----------------------------22 Directory: D1:*.*E2@3Drive [1] ? Searchspec ? Cannot open DIR!DIR3, by Mat*RatDIR3 by Mat*Rat, (c) }ANALOGPress [ESC] twice & [RTN] to exit.+-----------+-----------+-----------+ }A3x3 34ETURN] more, [E}SC] exit ?Printer error!Printout dir ? (Y/N) 473 U72 72 7E2 7 6L%6ɛ19܍2L2R2 }72H2( 272ɛh2L4h2ɛ2%4 7 6Yy7 H7D2EHIKJB 45V2 7`}2 7LR43 72 72 773 72 7Ƣ2 7 L63L5E3*F3 F3|E3i 3L5ϩ|E3詛E3E3}4E3 77 E3 7L2543 74 7ɛ 4 7L254 73 7L%6i  06 06E356E3E3 }77E3 7Ƣ2 73 7 83 7 7ɛL;4 8r2 7`J6 E3|E3J6`H6I6J6D3K6DmI6D3iE}3I(HB V3H6I6J6D3 O*EF3H3E3G3D3F3|E3 I3FJ3rK3eL3M3 N3O3P3|Q33D367E3}K6D3H6`3E 27E3`K: B VBD6EJ VBHILVDEHIBLV BLVS:H` B V`}BRD7EhK)I JLVDEI IH BLVP:77P B VBJD7E V 4}7%8 77`7E7DPHI BLV B V B VP BLV;477P B VBJD7E V 4OWX8'8DPPPPCHCUDBPTXTP1P2PHP1P2TIBOOCQKSFIRFVD} } !}"#$%&'()*+,-. ##*****************}************##* SKYRISERS *##* by *(##* Frank Martone *2##* } *<##* COPYRIGHT 1989 *F##* BY ANALOG COMPUTING *P##**********************}*******Zd An6-@6-'6-@!36-@!?6-K6-W6-c6-}uAAA@xC%2@36-%@9!C A0m-@(@}*-@9(@K@wm2K5"@*T:,"*T:}@,"A6-@K A,""@*T:@,", Ap,""@*T:,", A}o"T:,"*"@06-&@M-@6@k2%@P@o "T:},"*"@.-@=(@ K6-%@h-@6@2%@@ }8!@!-@*(@86-&@8!@!-@*(@86-&@o"T:@},"*"@06-&@M-@6@k2%@P@o **T:@,)}@A0u-@(@ ,6-%@I-@6@g2%@@k u }A0/"@*"@%6-@/ A@%"@6-@% A@%"@6-@% A@},""@*T:,", AP,""@*T:@,", A` A "))****PLAYER 1 BUI}LDING DESTROYED****, -@6@4A%@@R2$AD@n2@A}r 2@6u-@!-@,(@18-@G(@[-@}@q2u @j-@(@ CAH:,$@%@PO @[-@}j(@!J) )2TX6-@!!AA73-@@"B(@N}"@X Ap^6-$h))****PLAYER 2 BUILDING DESTROYED****r -@6@4A%@}@R2$AD@n2@Ar 2@|u-@!-@},(@18-@G(@6[-@@q2@u j-@(@ C}AH:,$@%@PO @[-@j(@!) )2!6-@}!!AA73-@@"$(@06-3$F%6-P:H:,$@,%@7-@@}F(@ 0"@!-@@0(@%0"@!-@@0(@&0"@}!-@@0(@R"@!-@@0(@R2A@o }-@6@>2%@p\2@%@` l6-o$_ +@A }@1-@@K(@ READING DATAU Ap_ A  +@AY_AV'A }V)AA7;A @MAA_A@P-@!@-,@#L/ }H:,$@%@P  Apr-@#-E(@!!!!!!!!!!!!!!!!!!!!I [-@ }r(@ & A P0Z-@@)G-H:,$@H:,$@%@V(@ }Z :7-@"7(@qqqqqqqqqqqqqqqqqqqqDZ-@@G-H:,$@H:,$@}%@V(@wZ NZ-@@0G-H:,$@H:,$@%@V(@zZ X}Q-@@"#-@2(@U>-@M(@UQ bl-@ @&(@DGH8-@ }@I(@L M[-@ @l(@PTXlE-@@"$(@6-@@"E(@}vE-@@$(@.6-@@E(@W-@@##-@2(@f}6 H-@@W(@o6-@@##-@2(@f6 W-@@##-@}2(@f6 H-@@W(@n6-@@##-@2(@f6 W-@@#}#-@2(@f6 H-@@W(@oW-@!@##-@2(@f6 H-}@@ W(@nW-@@!$(@a6-@@"E(@cWAY@b A} A-1%%****PLANES AFTER PLAYER ONE****'A'AAUF:B7p, @0},-@@>-@@M(@.a-@@e w-@@(@ F:B}7p, @0$"F:B7p, A" A  m-@@+B2HG2@@i2}@A@m X@ !A@U5-@@9 KB2HU AX$ }K-@A$@+B2HG2@K *$4m-@@+B2QG2}@@i2@A@m >X@!A@U5-@@9 KB}2QU AX$HN-@A$@+B2QG2@K N$R%%****PLANES AFTE}R PLAYER TWO****\F:B7p, @0,-@@>-@@M(@.a-@@e w-@}@(@ aF:B7p, @0$f"F:B7p, A" A pn -AUAW6@,}B2IH2@@j2@A@n zX@!A@U5-@@ }9 KB2IU ApX$q -AW6@,B2IH2@L n2!}q$n -AUA`6@,B2PH2@@j2@A"}@n @@ !A@U3B2P= Ap@$O -A`6@,B2PH2#}@L O$****P/M GRAPHICS**** #A J6-F:A,&@$&BBy8B2w@$}JA#@6-AV$%A$%6-A;6-AV$%AG6-AE]6-AV$%A6i6-@6%}-AV$%A6-AP%-%%@%"!% %-%%@%"!% %-%%@&}%"!% %-%%@%"!% 0,128,192,254,127,56,16,00,0,1,3,126,252,60,140,1,126'},255,126,1,24,00,128,255,126,56,96,0,0$****DLI****. #A8-A6A6%@(#")- ?A(}QA@s6-F:A`,%AV$F:Aa,BBAB%@(A($L72,138,72,1)}41,10,212,169V 132`RR141,26,208,162,15,141,10,212,202,208,250,173,200,2,141,26,208,104,170,104,64j****GAME OVER***}**ty +@AVA$1A@CAAUUAA5gAyAY~+}I-@"#-E(@____________________I ,-@@,(@ >"@,}!-@@>(@ >"@!-@@>(@ "@-}!-@@?(@ \-AU6@@2$@ @@ Y.}%2G2@YAY@b-@@ 4-@/}6@H0@$l2$@`@@p t A-@@6-@0}H:,$@Z2$@ @@v2@@@z 21}2@-A$@)A-  A P AP****CHARACTER 2}SET****J$6-+F:A,&@,$AV8-@F%@J .-A*%F:B7D%,.3}   #A0" $;-@"-%$@%1 ; A(****CHARACTER DATA****4}2%%33,126,66,66,66,126,194,194,194<''2,255,255,255,255,255,255,255,255F5,0,16,56,124,16,16,16,0P!!36,127,64,64,65}4,67,68,68,72Z((46,239,239,239,199,199,131,171,131d((35,254,134,134,128,128,128,130,254n((47,255,255,251,243,227,2036},139,131x!!48,72,68,68,67,64,64,64,12741,8,8,8,24,24,24,24,2440,255,1,1,129,97,17,17,952,0,0,0,0,193,62,7}0,255((39,254,130,128,128,128,142,134,25445,9,9,5,5,5,5,9,9$$51,254,192,192,192,254,2,2,254((37,254,128,1288},128,254,192,192,254((38,131,171,131,171,131,171,131,131((50,252,132,132,132,254,198,198,198$$43,66,68,72,88,224,9}254,194,194((58,255,213,255,213,255,213,255,255""49,255,255,0,255,0,255,0,255((55,255,147,255,255,147,255,255,147:}$$57,130,130,130,130,254,6,6,12654,0,0,0,4,0,0,0,0((42,255,255,255,255,255,231,231,231"6,0,16,16,16,124,56;},16,0,11,0,8,16,56,124,124,56,0614,0,56,68,4,8,16,0,16@ 44,72,72,80,80,80,80,72,72J((56,129,129,129,129,147,<}147,211,127T((53,255,255,255,255,255,255,255,255^&&17,60,126,255,255,255,255,126,60h18,0,8,33,4,0,8,5,88r!!19,1=}28,32,66,0,68,16,128,76|20,2,32,13,8,66,4,32,0 21,102,13,168,0,8,96,2,12822,0,0,1,0,0,9,5,023,0,0,0,0,8>},64,0,6425,0,0,0,5,0,16,0,126,16,128,32,0,0,0,0,01,0,0,0,0,0,0,0,0""34,12,24,48,112,112,48,24,12 1?}6,255,0,255,0,255,0,255,0((24,129,129,129,129,129,129,129,129((33,255,255,255,255,199,131,131,199''35,215,215,171@},147,171,85,109,10939,255,0,62,193,0,0,0,056,9,17,17,97,129,1,1,255-1****TITLE SCREEN****i +@A}AY3AV'AVEA@WAAUiA @&'-BBHB2R#B}' 0I-@@#-E(@!!!!!!!!!!!!!!!!!!!!I :>-@@,(@ C}>AY@bD-@@N~ -@6@40@$X2%@`@@D}\ ~2X b A!l****MOVE PLANES DEMO****vW6-AU!AAUE}3A@IEAWAAu-AU@+B2H9B2I&U2F}@q2@@u G-AU@-B2P&9B2Q= G A***G}*FIREWORKS!****-6-@ 6-@-AB @!-@@--@ >(@ B H}x-@@4-@6@J2@^A%@Eb f xAKI}-@@--(@;-%@K(@"-@H:,$@F2$@J}@@b2@@@f 22@O -K}(@'-%@7(@K-@@O I -(@ '-%@7(@ L}IAG%6-P:H:,$@,%@ G6-P:H:,$@,%@  A0g-@M}A %+@7AIA@U6-gA@ 7-@7(@__N}________'A'A AF 7-@7(@__________*'-BBHO}B2R#' 4k-@@.(@ οK-@6@g2@ @P}k >E-@@-(@ A-@@ E HF-@@.(@ BQ}-@@F R5+T:,")T:@,"5 A!\36-%@!@E)6-3 A!`R}f A!p1 +@A@d1A@z6-@@6(@OH,COME ON ALREADY!d -S}@6@>2$@@B V-@AZ d A +@A A01T}AA2CA@O6-@aAVA$sAA0AAU7-@7(U}@____________________7-@7(@____________________G-@@5(@V} GAA#'-@@'(@/-@@/(@ '-@W}@'(@@ -@6@<2@P@@ b -@6@X}<2@ @@ b2i-@(@>2-@@6 B-Y}@Q(@ e-@@i 9+R:,"@)R:@,"@96-%@9+R:,"@Z})R:@,"@96-&@ !@6-@  @6-@ 33T:,")T:@,[}"A#P$ A". "@6-@8 "@6-@PB "@6-@L p -@\}6@<2@5@@ T-@`,l/@#p V AD:SKYRI]}NEW.BAS6@<2@5@@ T-@`,l/@#p V AD:SKYRIgVSCROLSPACVD %%***_}****************************%%* ATARI TRUCHET TILES *%%* by Frank Kweder *%%* `} *%%* *%%* COPYRIGHT 1989 *%%* BY ANALOG COMPUTING *a}%%*******************************  ) +@$@)AdAUoAA8'A @9b}AKA@`]A@doAYEAR@!6-@-6-@296-@c}E6-@3-1נΠ͠2 A A7;-@@@+,7/Ad}; <;-@AT@;-@ A@A%"@6-@%#AF#" A  e}#6-%@K P;-AUAg@+,7/A; ̠̠Š)@f})-@BBw6-G:, 0 6-E:,-@$0( __ -@g}6@BBw6-G:, -@A 8.F:Ad,"A%A$+"@,8 Aq}DB%DOS SYSB*)DUP SYSBSADDRESS2BASBpASMED SRCBb~DIR3 M65B DIR3 OBJBrSKYRISERBASB%^TRUCHET BAS*+""ԠРɠ̛̠,%%6-F:A`,%AV$F:Aa,65%@@d%@5%@@r}%78##Ԡˠ٠Πś;5%AF:%A,5%AF:%A,<5%AF:%@s},5%@F:%@,>?!!ΠР͠ƠΠ@E%At@e.%AuF:A`,E%Avt}F:Aa,J$Ԡ͠Π6-P:F:B7p,'A(,%@A0APu}ԠԠƠֱK,%@'/%@%@=/%@%@K/%@K,%@'/%@%v}@=/%@%@K/%@[,%@%@//%@ %@E/%@%@ [/%@w}%@[,%@%@//%@ %@E/%@%@ [/%@%@_ @,%@x}3/%@%@I,%@%@_,%@ %@g @%,%@%@;,%@%@y}Q,%@%@g,%@%@$ԠԠƠֱS,%@'/%@%@z}=/%@ %@S/%@%@S,%@'/%@%@=/%@ %@S/%@%@{}S,%@'/%@%@=/%@%@ S/%@%@S,%@'/%@%@|}=/%@%@ S/%@%@_ @,%@3/%@%@I,%@%@_,%@ }}%@g @%,%@%@;,%@%@Q,%@%@g,%@%@$~}!!נ٠Ǡ͠6*@A% @,6-@6 A;-@AT@;}-@ A@ A  AdAU @ӠĠӠA-}'@A(___TRUCHET__TILES___)"@)(_____________)"@)(________}______9@@'AdAU9AY@4y-@@@=,&@%'@@}[/&@%'@Avy,A&&'@@(!/A&&'@Av% ($ Ԡ̠}ΠϠԠ !+@%@!6-@*1 @A1AA(4],@'/A}9/AAK/@A]/@>;-A@;-@A@H} A  PQ ՠRK+@%@2'A9AR@KAdAU\3 (}3($} PLOT AGAIN PRINT ENDfI@.@@K:;)@I6-&@Hp)A}AA ) Apz/+@%@%@2/A ԠȠǺŠ A /}@/@@G3:6,@d@@G3:6 AP5+(# G.OBJ NOT }INSTALLED 5 B +ҠΠ771,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}770,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0771,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1770,1,0,1,0},1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0D:TRUCHETNW.BAS,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1770,1,0,1,0@