@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`  `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ꭝL 3u } 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 D8uR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8u05  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, ^----------------------------------- JOHN NAVAS' BASIC ROUTINES-----------------------------------For Intermediatep} / Advanced BASIC programmers. Boot disk with BASIC.-BOOL-BYTHEX-DISKIO-FORMAT-INDEX-DEBE-PLOTCHAR-SORT-TIME (DOq}Cumentation included for above)Refer to each program's ".DOC" filefor explanation and instructions.RUN the desired "*.DEMr}" file to seea DEMO of any subroutine's use.̮ͺ a BASIC subroutine to perform boolean logic on twostrings. It sups}ports "AND", "OR"and "EXCLUSIVE OR".̮ú Documentation file forthe above demo program.خͺ a high-performant}ceBASIC subroutine to convert bytesto printable hexadecimalcharacters. Only one hex digit(high or low) is converted at au}time, making it most suitable for a"stacked" (over and under) hexdisplay.خú Documentation file for the above dev}mo program.Ůͺ a powerful BASIC device-to-device general purpose utility program. DEBE does not normally use standw}ard files, but rather allows you to process disk sectors (it's an EXCELLENT disk sector editor) and cassetterecords, etc.x}, directly. It'ssomething like the (in)famous DEBEprogram widely used on the IBMSystem/360.Ůú Documentation file y}forthe above demo program.Ϯͺ a subroutine thatallows your BASIC program to readand write disk sectors directly,z}bypassing normal file processing.Ϯú Documentation file for the above demo program.Ԯͺ a BASIC subrouti{}ne to format numbers for printing. It allows you to control the number ofdecimal positions and to right-justify the numbe|}rs (which lines upcolumns in reports).Ԯú Documentation file for the above demo program.خͺ a high-perfo}}rmance BASICsubroutine to search a string for asubstring. It works much like the PL/I INDEX function.خú Document~}ation file forthe above demo program.Үͺ a BASIC subroutine toput ATASCII text characters on a graphics screen}, even redefined characters. The size of the text characters will depend on the graphics mode which has been set. Only ho}rizontal text is supported.Үú Documentation filefor the above demo program.Ԯͺ a high performance in-RA}MBASIC sorting subroutine. It is restricted to fixed length entries with a single key, although the keycan be any length} and located anywhere within the entry. SORT features compact size and great flexibility, while being very easyto use.}Ԯú Documentation file forthe above demo program.Ůͺ a BASIC subroutine to getthe current real-time clock val}uein "jiffies" (1/60 second).Ůú Documentation file forthe above demo program.Ϯʺ Another BASIC disableprog}ram for XL/XE computers. Binaryload from DOS.-----------------------------------I sincerely hope you find theseroutines }usefull in your BASICprogramming.d from DOS.-----------------------------------I sincerely hope you find theseroutines #n_qOIFSERBOOL d}&&DEMO PROG FOR BOOLEAN SUBROUTINEn A  SETUP SUBROUTINEx11;@,;A(,;@d,;@d,# (}}ϠΠ#(//6.%HERE'S HOW TO USE BOOL TO SHIFT CASE:+ 6. 67@c,. +67@,.-(})6-?:C:,<@:O,(H A`C27@,0A}*7@,0O*7@,0E9(C A`Q()(USE ONLY 0 OR 1 IN BIT STRINGSQ(#BIT STRINGS MUST BE THE SAME LEN}GTH"5(!(TYPE FIRST BIT STRING:%/ A@56.,J(TYPE SECOND BIT STRING:#- A@9B:,B:,@(J A}`6B#6-?:C:,<@:,:},% ($ 6-@ -@B:,S6-@:7,,6-A(+-%@867<,.0>F6-&S67<,.1} "B:,''$'6-'@ #6-%@' Πàś;A,[[6.Qh  h}ԩh0hh8ְװԅ`A O E !ذI)67@,.ذA؁8I67@!<}@!,.>:@4,$ D:BOOL.ԅ`A O E !ذI)67@,.ذA؁8I67@!<,BOOLBOOL is a BASIC subroutine to perform boolean logic on two strings. It supports "AND", "OR" and "EXCLUSIVE OR".I}MPORTANT NOTES 1. BOOL is fully self-relocatable, so it may be moved anywhere in memory. 2. The resu}lt is stored back into the first string.CALLINGRETURNCODE=USR(BOOL, OPCODE, S1ADR, S2ADR, SLEN)} BOOL: The address of the BOOL subroutine [usually ADR(BOOLSTRING$)]. OPCODE: Decimal valu}e of the operation code, like ASC("A") ["A" = AND; "O" = OR; "E" = EXCLUSIVE OR]. S1}ADR: Address of the first (and the result) string [usually ADR(DATASTRING1$)]. S2ADR: Address} of the second string [usually ADR(DATASTRING2$)]. SLEN: Length of the strings [}usually LEN(DATASTRING1$) or LEN(DATASTRING2$)].RETURN CODES 0 Normal completion 1 Error: wrong numbe}r of arguments. 2 Error: invalid operation code.DEMONSTRATIONBOOL.DEM is a simple tokenized BASIC (binary) program w}hich will demonstratethe BOOL subroutine. First it shows howto use BOOL to shift upper case to lowercase. Then it shows h}ow to use BOOL to swap two strings WITHOUT using a thirdstring. Finally it allows you to test the boolean logic by typing }in bit stringsof 0's and 1's.USETo use the subroutine, just transfer the statements 900-904 to your own program (you }could do a LIST "D:TEMP",900,904 from the demo followedby an ENTER "D:TEMP" into your own program); of course, you can ren}umber the statements as necessary. Remember to call the subroutine once at the beginning of your program to set it up.-}John Navas [72645,1070] necessary. Remember to call the subroutine once at the beginning of your program to set it up.-9mSHLERBYTHEXd44DEMO PROG FOR ATASCII-HEX CONVERTER SUBROUTINEn} A  SETUP SUBROUTINEx&&;@,;@,;@,)&(}ϠɠϠؠ)(/(+( TYPE A} STRING OF UP TO 16 CHARS:/ 6.6.-!6-?:C:,<0 Leftmost position of the s<}ubstring in string (first position is 1).DEMONSTRATIONINDEX.DEM is a simple tokenized BASIC (binary) program whi<}ch will demonstratethe INDEX subroutine. You may type botha string and a search substring. For example the string "NOW IS <}THE TIME" will give a return code of 5 when searched with "IS".USETo use the subroutine, just transfer the statements <}900-904 to your own program (you could do a LIST "D:TEMP",900,904 from the demo followedby an ENTER "D:TEMP" into your own<} program); of course, you can renumber the statements as necessary. Remember to call the subroutine once at the beginning=} of your program to set it up.-John Navas [72645,1070]s necessary. Remember to call the subroutine once at the beginning<9!!ROWCRCOLCRCRSINDSPFLOPBUFDEVNULTSLOWEOLAUXTLPSTFIREEOHISTDIOPOXFIXCOXRESEACRLORA}TOUCOINDXBTHCOIN@@ARAfAA  &A ' 9A} @2A)@8@@@@@W66@@8@A} AEP!@"#@$% ff&@'@; + A;(}A}Š (C)1981 JOHN NAVAS II36-@6-@'6-AR36-Afss;@,;A(,9@,;A(A},;AV,9@,;@,9@,;A(,;AX,Y A A! A 967@,.>:A},J67A',. Y67@,.x6-@H+-@A!@767,.>:,R67%@,. ----+----`6-%@A}l!@Wx6-@H8 6.>:AU,86-F:@,&F:@,%@ԠРś(((ΠA }( AP1-@@! A@% 16-$E6-@ A %@16-@; A0A }E A`./-@@! AE% / A@ ԛ7<,0DA! 8,!6-@$@ 6A }.,6-?:C:,<8,<@76-A(&B:,767B:,%@,.7@<,C#6-@6-#6-%@E (} A5HA }P-@@ $( POSITION 0'(P($PRESS TO WRITE, TO ENDMu@8(# ( EDIT OPTIONS: A} )DV-@@](i6-@u6-RT A!) B'6-F:,06-F:,<"AA}UJ6-%@T A!T"A%6. A!U!! @()!@1A!PV@(A!7W)"A}@6-@ )6-%A(XE6-&@ )6-@76-&@E6-&@2Y@)A!@A}Z)"@6-@)6-&A([E6-%@!@)6-76-%@E6-%@2\C"@0A}6-&@)"@56-@8C6-%@2]C"@16-%@)"@756-@C6-&@2^WA}@!-@$@ 3(&@ ?E-M(>:,W A!0f(A!ph@/ @H)+!@W* A}@e,)!@p6(@ A!0jG@(>:%A(,-6-&@H9!@ G6-&@lJ6-@:7,,A}"@@6-&P:'@,$@%$@J A!`n6-P:'@,$@%p)67<,.>:,"AU)6-@2A}q7@!A%--@@7 A8rA -&(>:,+"@76-@)A A!8t)A}"@6-@)6-&@vS"@76-%@+6-%@27!@E6-&@S6-&A(xA}6-@1 A!AzP@#-@@46-P:'@,@"@P6-&$@|+6-%Av!AA}+6-%@~! -%(>:, ! A!`6-@-@9@#$"!@)6-@"$A}@ 6.-@A(' A#.)<67<,.>:,@  6-%@ A# $ 7' 6-!F:A,A}A6-6-Ap7 A` "@$ 1('(ǺԠȠ1 A# ԛ 7<,0DA}A1 :&6-?:C:,<8,<@} (&(àҠӠ% 6.=:,6-@" Ab%( Ap8٠Π֛B0-@B:,)*@:A?}7,,%A(- 0$@ҠàɯϛA;@T,BNN67B:,%@,.6h  hh!hhhhhhh h A@} Sԩ`C$JؠÛK;AG,Lhh67B:,%@,.Ph Ԅժh`he؅إeمeօ֥eׅAA}Ԣٕ`M[[67B:,%@,.C ԅ`8˥ޅڥ߅ܥо8N$AB}TŭؠқU;A,Vjj67B:,%@,.Rh XhNhʨh8hʅh8װhʨhAC}$JJJJ) W,,67B:,%@,.0ii0׈ԩ`X$Y ((ŭؠ  &Πӛ:0AD}@@@70@@:$ D1:DEBE.((ŭؠ  &Πӛ:0@HDEBEDEBE is powerful BASIC device-to-devicegeneral purpose utility program. DEBE does not normally use standard files, EF}but rather allows you to process disk sectors (it's an EXCELLENT disk sector editor) and cassette records, etc., directlyEG}. It's something like the (in)famous DEBE program widely used on the IBM System/360.DEBE's commands are 2-letter codes iEH}ndicating the source and destinationdevices. Valid letters include: C=cassette; D=disk; K=keyboard (source only);P=printeEI}r (destination only); S=screen (destination only). Hence, "DP" means disk-to-printer. (To get a list of valid command optiEJ}ons, type "?" at the command prompt.)IMPORTANT NOTES DEBE will readily clobber a disk. A BACKUP IS THEREFORE HIGH RECEK}OMMENDED!USE DEBE.DEM is largely self-prompting. I suggest that you experiment a bit with the program using dummy disEL}ks and/or tapes before trying serious use. To use DEBE as a disk sector editor,first do a "DS" (disk-to-screen) of thesEM}ector; then do a "KD" (keyboard-to-disk) and you will be ableto edit the sector data. (You may either modify the characterEN} data or thehex data. Use the cursor arrow keys to move the cursor.) Don't forget the CTRL-3 to end the keyboard transfer!EO}-John Navas [72645,1070]he cursor arrow keys to move the cursor.) Don't forget the CTRL-3 to end the keyboard transfer!DSRECMOCOROCLERPLTCHR ..DEMO PROG FOR PLOT CHARIQ}ACTERS SUBROUTINE-;@ , A -SETUP SUBROUTINE$!(}ϠҠ$(((( (GRAPHICS MODE NUIR}MBER$(+2$(TYPE COLUMN,ROW$-<( COLOR CODEF%!(CHARACTERS TO BE PLOTTED:%P'6-?:C:,1 Standard Atari I/O error code.DEMONSTRATIONPLOTCHAR.DEM is a simplMd}e tokenized BASIC (binary) program which will demonstrate the PLOTCHAR subroutine. Asa first test, try "7" for the graphicMe}s mode, "12,12" for the column,row, and "2" for the color code; then type any short text string that you like. ExperimentMf} with the demo to learn how to use the subroutine.USETo use the subroutine, just transfer the statements 900-905 to youMg}r own program (you could do a LIST "D:TEMP",900,905 from the demo followedby an ENTER "D:TEMP" into your own program); ofMq} B%DOS SYSB*)DUP SYSB SAUTORUN SYSB_HELP DOCBoNAVAS DOCBBOOL DEMBBOOL DOCBBYTHEX DEMBBYTHEX DOCBDISKIO DEMBDISKIO DOCBFORMAT DEMBFORMAT DOCBGO OBJBINDEX DEMBINDEX DOCBDDEBE DEMB EDEBE DOCBPPLOTCHARDEMBWPLOTCHARDOCB sSORT DEMB5}SORT DOCB TIME DEMB TIME DOC course, you can renumber the statements as necessary. Remember to call the subroutine once at the beginning of your progrMr}am to set it up.-John Navas [72645,1070] necessary. Remember to call the subroutine once at the beginning of your progrL,RNULTHOLENTERSORTPNrr̠Ԡ򠦠Qt}宠®âd A Ԡn(}Qu}ϠԠx(SORT A GROUP OF NAMES#((MAX NUMBER OF NAMES#$( (MAX LENGTH OF A NAME$Qv};$,;,*(*(ŠӠΠҠԩB:,"A, B:, "67B:,%@,. , AQw}!67B:,%@,.! Ap'6-?:C:,(FROM LAST BY}6-?:C:,