@L|}6CD l0C)HCC WhL/h `CmCDiD`  R@W1  Y0@R !L` D  C D     )16CS S)  C)D1 p p 0 C9DI pCDL~CiCDiD` D  C D     )16CS S)  C)D1 p p }0 C9DI pCDL~CiCDiD` DD˙` d J)L !}D L(( LL()  L| L( S LH 0p n  } CY?  q  L L  ` )} `A! d߰")-݆ "  $G@LLL&0") $G% }H0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0 })8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH) }  hyhyB q L> Lm JJ  Ln*` dB%' }8  H H` 1 { LL   !L     Hh SY?  q  1L }  !? S   q 1 L   Ll  Lg E`L   !L)  q 1L}) `L0AM݊L݉ ML  N݆LLLNLMLHG!@}1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  q} L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF } G) *Gȩ GȽG GȌd q q G`  8   0G  `D}CEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`Y}`piH n0)բY? 08`0 }  0$L GGȽG L `8L`L}8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`}E8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTE} H8EEȱEEȩEh J E8   . m  i`LI!)E1FR}1LJ舩9GIH`LJJ`HGHh l`} S gL   8 rii `дCDCG W  }C  Lq` X٨`DOS SYS IIIIIIIIIIIIIIIC`0 ߩ0}}}000 |||DDOS DOSDOS SYS }}}4!!%}BŠ CDOS SYS} 0`BDELV !B }`LVUQ   ]   TU J ]L!T  #      TU  } L ? .  t`GBJ V~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI   0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:A*.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DELV䌚 !B y`@ʆ 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 V (` 9 V⪍ ઍ  -'}LLu DEHILV 9 .l 9 .l  `` s$B VBH(}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVL)}1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2e*}1i1232435ޥ<<8} 3E:}DISK OPERATING SYSTEM II VERSION 2.0SCOPYRIGHT 1980 ATARIA. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDGE J. D,}UPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRESSF. LOCK F-}ILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES9!&x#!7&p))'&X*./)L''-؆莟.}R'S  vW DEHHI 1A#! @ ~0ɛ8A0.) ȅ 1 1i/}il ! 1L NO SUCH ITEMSELECT ITEM OR FOR MENU! 0 .{z:*{}.|~ 1 0 00}JB 18L^%|DLl%DIRECTORY--SEARCH SPEC,LIST FILE? # 0 0 n&|D! 1L NOT A DISK FILE1}N !B 1L " 1 !BDED:}:1BJ|DE 1DEBH2}I 1 h0ߢ 0.  0?詛 1 ~0YЛ 1 "L<" "L 3} BL1TYPE "Y" TO DELETE...DELETE FILE SPECCOPY--FROM, TO?OPTION NOT ALLOWED COPYING---DN:4}# 0|D .L$A#B#C#JB|DE 1BHIDD#E 1D#0: B5} 1L B#C#C#B# B 1N#$0SYS1}:e#D# d# D# .d#ȽD# d# 𩛙d#X# 1,A#6}PdD#ELO- A.BJdD#E 1 1HH 0hh|DL^%1}:e# Lt% e#dD#EL%7} 1 0 . .0% 1L WILD CARDS NOT ALLOWED IN DESTINATION 0 A.|K@C}//3Hu ξL/L DRIVE TO WRITE DOS FILES TO?WRITING NEW DOS FILESTYPE "Y" TO WRITE DOS TO DRIVE 2.?}D2:DOS.SYSERROR - NOT VERSION 2 FORMAT. , &* բ( 1L `[) 0NΞ 0 L1M) 1@} L BAD LOAD FILELOAD FROM WHAT FILE?) 0 0#B 1L WHAT FILE TO LOCK?) 0 0$B 1L WHAT FILE TO UNLOCK?DUA}P DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO USE PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV. h  ,B}  `)  <0 2 2 0  ,   ,,ޢ* 1L ,K* 1 ~0 0C}FINSERT BOTH DISKS, TYPE RETURNERROR - DRIVES INCOMPATIBLE., 1 ~038  , 1L D}, &*  Lz+, 0 , 1 ~0 + Y,0!,0 ,L+ ,mm  v,"ǭE}0Ξ, 05,Lt+L +,Hh` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNF}INSERT DESTINATION DISK,TYPE RETURN`    `L,8,0( rG}L1(`ߢ) 1* 1 ~0Y`hhL S SL1) 8`NAME OF FILE TO MOVE?- 0 0|DLtH}% A., 1 <0 0 .@L# .BJ 1  DEHIB V L1 ,5 1 <0,L. I} JB|,A#Pd#DE 1 HI BDEHHII 1 B 1 , 1 <0,0Lf- B VJ},A#P, 1 <0 0L#L ߢ) 1* 1 ~0Yj383}mm ݭK}}`8}``|* ? ɛ,`|:(|/ 1L `DESTINATION CANT L}BE DOS.SYS0 0H{ $22Δ $28/L /) $2 Π $2 0 ξM}hAΞB,0 J 1 BޝDEHI,HDE 1HIHIDELSAVE-N}GIVE FILE,START,END(,INIT,RUN)O X0 1`BDEPHI V` X0H 1 L O}0 0 1L0`PLEASE TYPE 1 LETTER,0`hhL <0 1L0LA1 ,;ɛ7,"ɛ:ݦ1ݥP}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{Q}NAME TOO LONG B VL ` L1I H1EӝDL1|mDiE` V0`8d/8 i:"2!22 1R} L ERROR- 138ɛ+,' 20*.. өw2 1``2TOO MANY DIGITSINVALIDS} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4uT} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4uR) !"`3!3"(>:,)7<,7%<%%,46-&$$+"%,>6-"$% 6-%6-%"%- a}&, ( -&((>:@:7%,,%$,, @  &"&(@(}RUN/ENTER,gg(_b}+LOAD rerun menu, miniDOS, printout more, *. files print to screen% )6-F:B2y,%6-")"c}II+"&,%+"%,$%+"A',$%+"AU,$+!%,$&%%I %)!%)!$*$I6-%$$+ @Wd},&&%++!%,,$$B !&6-$&&)67,.7<%,1->7<,0 B C7%<%,0 !67<,..)6e}-%=67,.7%<%%,C %9 & +-+( 7,/59%V & )f}')7"AU*"<GV6-?:AUv,2 (ĺ#6-2 &$+F:,",g"6.}ˠg}堭36. $#! Rr3c@9A&g(!}Ӻ (1) Unlock (2) LockS*("(3) Delete (4) Rename (5) Formath}S(#(6) Quit Rerun to MenuT )6-&@HH+ )!%,%+"&,%+"A,$%%&T6-@:7,,i}#!%%6-@:7%,,# &67,.7,$67<,.$367<,.067%,.󠨧j}3$-*6. }Ԡ렭-$ + K ((=>#)/(5"K &%@Fk}$+0A,A4%+B:, ,&!-06-7<,4:=6.7$%,A  !%E!)"%$4(堧٧l};)E%[  6.67&$+!,,.+/@67,.DOS.SYSEPU[6-$m} $$(塠9  6--$ 9 &%$+F:,!,%$+",)6-%Ax$6-&!6-) n}%$D+(#CHOOSE: Enter Merge Return2):"&@D % &O &(}NEW8(POKE84o}2,12:GR.0:E.>:%,FAB%L-O&+7,4SYS)7,4COM!.+ B&7,0DOC$A&p}%A(}7<%, documentation/ &6-$6-F:, (!%/6-( (F:%,  &q}G --(٠ݠ4)A"$)F:,G % %%(} &S 6-P:r}E6.'}堨 M&S &7( }Ǻ-(WEWF1 76-+ s}B:, %(E @+ &(( 6-%"#6-(( &2 $.( *** ERROR #F:, **t}*2 f;(%}Πխ堣>:%Av,B)P6-&@HV6-`!*f6- 6-6-u} F((Write 'DOS.SYS' file also? =>/)96-"%F(>:&%$,@:,%)@:, %6.9$D:MENU|YZX n DRIVEBUZZERMAPEOSPACCOMMZERERRORLMARGXBUFFERVERIFAERRORCONSORESELOMEw}@ x}dW#@@E:=0@@@W0@n-*(" y}1.0 (C)1982 JOHN NAVAS II-(x,,($THIS PROGRAM TAILORS ATARI DOS 2.0S.''(YOU MAY SPECIFY YOUR DISK DRIVE&&(NUMBERz}(S), HOW MANY DISK FILES**("(BUFFERS) MAY BE OPEN AT ONE TIME,,,($AND WHETHER DISK WRITES WILL BE MADE'$(WITH OR{} WITHOUT READ VERIFY.'( A6-F:A,""(DISC DRIVE NUMBER(S) ARE )6-6-)-@|}@ 6-6-P:'@,"%A`(,( (6-   (*@*(}}ǺϠŠ**("ŠŠӠŠ++(@נˠŠҨө?"*-@@~}&68,-* , )@" A6")"A@@/ 6-&! @)!@% / AE }8,  AJ68,-@T)@A^/6-6-@/-@@h 8,6}-%r 6-% |%-@(NEW % A"6-F:A,-@"($$(NUMBER OF DISK BUFFE}RS IS 8 @8("ǺӠΠˠӡ..(@נҠƠӠ?)@}"A"Ap/ 6-&! @)!@% / A@)@AP 6-%-}@(NEW % A"6-F:A,-@"(""(READ VERIFY AFTER WRITE: !"@(Y}ES! A@ "@(NO A@ (?++(@Ġ٠ΠٯΩ?& @ (B:,A}0'4Y)4y6-@' A:'4N)4n6-@' AD  APX%-@(NEW} % A]b-@(l;,($PRESS TO ENTER CHANGES IN RAM./(;@v**("ҺϠŠ}ҠӠ**("ˬՠԠŠDOSĠŠ**(!ΠHϠŠנӠӡ66-F:,'@%P:},A`6WAIT FOR START'AA'A 6-?:,SYSTEM RESET L6-B2y6-B}=6-F:A(,%AV$F:A),L6-F:@,%76-A 6-A (;@,76.>:AS,* BA }.//(%ӠӠɠ͠ԠŠġ0:0@@ @70@@ @:4\&9@,};@,;@,56.>:AV,D67@,.\67@,.7@,9--(%PRESS WHEN YOU WISH TO MAKE NO>&#(}FURTHER CHANGES TO AN ITEM.&(C36-AU6-@2'-@D36-@HH$M )@ A }""(ԿŠ٠:$D:ALTERDOS.AALTDOSALTDOS is a BASIC program to allow you to tailor your Atari DOS 2.0S toreflect your own disk configuration. Just f}ollow the prompts, and thenuse the "DOS" command to get to DUP to write new DOS files (option "H") onyour disk. A tailored }DOS can save memory, and time when booting.IMPORTANT NOTESYou should normally reserve at least 3 sector buffers.USEAL}TDOS is largely self-prompting.-John Navas [72645,1070];BOOLBOOL is a BASIC subroutine to perform boolean logic on two strings. Itsupports "AND", "OR" and "EXCLUSIVE OR".IMPO0}31900 REM SEARCH UTILITY31901 REM BY SCOTT SHECK31902 REM ANTIC MAGAZINE31903 GOSUB 31907:POKE 4,1:POKE 2,PEEK(136):POKE 3},PEEK(137)31904 ZZ=USR(1536):IF PEEK(4)=0 THEN 3192531905 A=PEEK(0)+PEEK(1)*256:IF X=10 THEN LIST "P",A:GOTO 3190431906 LI}ST A:GOTO 3190431907 RESTORE 31908:GRAPHICS 0:IF PEEK(1537)<>216 THEN FOR X=1536 TO 1638:READ A:POKE X,A:NEXT X31908 DATA 1}04,216,160,0,177,2,133,0,200,177,2,133,1,201,124,208,11,165,0,201,156,208,5,160,031909 DATA 132,4,96,200,177,2,133,204,200,2}00,177,2,197,203,208,4,32,91,6,96,201,0,240,35,201,131910 DATA 240,31,201,14,208,4,169,7,208,7,201,15,208,11,200,177,2,132,2}06,24,101,206,168,177,2,201,2031911 DATA 240,209,201,22,208,206,32,91,6,76,2,6,031912 DATA 165,2,24,101,204,133,2,144,2,230},3,9631913 ? :? ,"SEARCH UTILITY":POKE 82,0:COUNT=128:ZZ=PEEK(130)+PEEK(131)*256:? :? COUNT;" ";31914 A=PEEK(ZZ):? CHR$(A-1}28*(A>=128));:IF A<128 THEN 3191931915 COUNT=COUNT+1:IF PEEK(ZZ+1)=90 AND PEEK(ZZ+2)=218 THEN 3192031916 IF COUNT=148 THEN }POKE 82,14:POSITION 14,231917 IF COUNT=168 THEN POKE 82,28:POSITION 28,231918 ? :? COUNT;" ";31919 ZZ=ZZ+1:GOTO 319143192}0 POKE 82,2:POSITION 2,23:? :? "NUMBER";:INPUT A:POKE 203,A:? "CREEN OR RINTER";31921 X=PEEK(764):IF X<>10 AND X<>62 THEN }3192131922 ? "}":RETURN 31923 ? "}":? :FOR ZZ=31900 TO 31914:? ZZ:NEXT ZZ:? "CLR:POKE 842,12:CONT";:POSITION 2,0:POKE 842,1}3:STOP 31924 ? "}":? :FOR ZZ=31915 TO 31928:? ZZ:NEXT ZZ:? "CLR:POKE 842,12:?CHR$(125)";:POSITION 2,0:POKE 842,13:END 31925} ? :? "END OF SEARCH":? :? " AGAIN (Y/N) ?";:POKE 764,25531926 IF PEEK(764)=43 THEN POKE 764,255:GOTO 3190031927 IF PEEK(76}4)=35 THEN POKE 764,255:GOTO 3192331928 GOTO 319264BASIC SEARCHER (Filename BASICSCH.LST)by SCOTT SHECK, ANTIC Mag., Jan.1985FUNCTION: BASIC Searcher finds thelines cont }aining any command, operator,function or variable in your BASICprogram. It will run on all Ataricomputers of any memory si }ze.USING: 1. Load your program into memory. 2. Type "ENTER D:BASICSCH.LST" & RET. 3. Type "GOTO 31900" & press RETURN }.After a brief pause, a list of yourprogram's variables will appear on yourscreen. Each variable in the list willbe accom }panied by a reference number. 4. To locate a particular variable inyour program, type in its correspondingreference numbe }r and press RETURN. 5. BASIC Searcher can also find basicreserved words, constants and characterstrings. Just type in a r }eferencenumber from the accompanying Table. REFERENCE NUMBER TABLE 0 REM 10 GOTO 1 DATA 11 GO TO 2 INPUT } 12 GOSUB 3 COLOR 13 TRAP 4 LIST 14 all constants or BYE 5 ENTER 15 all strings or CONT 6 LET 16 COM }7 IF 17 CLOSE 8 FOR 18 CLR or , 9 NEXT 19 DEG or $20 DIM or : 30 ON or <>21 END or ; } 31 POKE or >=22 NEW 32 PRINT or <23 OPEN 33 RAD or >24 LOAD 34 READ or =2 }5 SAVE or TO 35 RESTORE or26 STATUS or STEP 36 RETURN or *27 NOTE or THEN 37 RUN or +28 POINT or # } 38 STOP or -29 XIO or <=[arith.] 39 POP or /40 ? or NOT 50 SOUND or <41 GET or OR 51 LPRINT } or >42 PUT or AND 52 CSAVE or =43 GRAPHICS or ( 53 CLOAD or +[unary]44 PLOT or ) 54 Implied LET or -45 }POS.or = [arith.] 55 ERROR[syntax] or ( [string]46 DOS or = [string] 56 ( [arrays]47 DRAWTO o }r<=[string] 57 DIM [arrays]48 SETCOLOR or <> 58 ( [functions]49 LOCATE or >= 59 ([DIM string]60 ,[array] 70 P }EEK 80 INT61 STR$ 71 SIN 81 PADDLE62 CHR$ 72 RND 82 STICK63 USR 73 FRE 83 PTRIG64 ASC 74 } EXP 84 STRIG65 VAL 75 LOG66 LEN 76 CLOG67 ADR 77 SQR68 ATN 78 SGN69 COS 79 ABS s^~FILEINBLCCKSdǭԢ4}n㩱盾F&;@,;AU,;@,46. F@^1()}4}͠ǭԠ[(% **Program must be a LISTed file**^(3 (ENTER DEVICE & FILENAME$344}A0 A@W @@E( LIST TO SCREEN OR PRINTER (S/P)?WAdAU06-F:Ad4}, ө jB*DELVE:$9,)ө jB*DELVE:(9n_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.,,RTANT NOTES 1. BOOL is fully self-relocatable, so it may be moved anywhere in memory. 2. The result is stored back i0}nto the first string.CALLINGRETURNCODE=USR(BOOL, OPCODE, S1ADR, S2ADR, SLEN) BOOL: The address of the BOOL subrout0}ine [usually ADR(BOOLSTRING$)]. OPCODE: Decimal value of the operation code, like ASC("A") ["A" = AND; "O" =OR; "E" = EX0}CLUSIVE OR]. S1ADR: Address of the first (and the result) string [usuallyADR(DATASTRING1$)]. S2ADR: Address of the0} second string [usually ADR(DATASTRING2$)]. SLEN: Length of the strings [usually LEN(DATASTRING1$) orLEN(DATASTRING2$)0}].RETURN CODES 0 Normal completion 1 Error: wrong number of arguments. 2 Error: invalid operation code.DEMON0}STRATIONBOOL.DEM is a simple tokenized BASIC (binary) program which will demonstratethe BOOL subroutine. First it shows ho0}w to use BOOL to shift upper case to lowercase. Then it shows how to use BOOL to swap two strings WITHOUT using a thirdstri0}ng. Finally it allows you to test the boolean logic by typing in bit stringsof 0's and 1's.USETo use the subroutine, jus0}t transfer the statements 900-904 to your ownprogram (you could do a LIST "D:TEMP",900,904 from the demo followed by an ENTE0}R"D:TEMP" into your own program); of course, you can renumber the statements asnecessary. Remember to call the subroutine o0}nce at the beginning of your programto set it up.-John Navas [72645,1070]0N,0@b*@A@(( READING... A0@6-@(7<,0 6-%@( 4}Apo6-6-,-@B:,<6-%@:7<,,U'@"P:'@,e6-&@:7<,,o A"6-4}%@:7<,,,3 6-O:,$#6-P:'@&,36-&$@&6J"@@3>:%@e,7@<@&,7@<4},J A`@E;(>:%@e,7@<@&,7@<, E A`J/@((DONE,AdAU4}/T(@-( ** I/O ERROR  **O2@@P@@c-@Ag 2@4}@^ AD:BUGOUT479mSHLERBYTHEXd44DEMO PROG FOR ATASCII-HEX CONVERTER SUBROUTINEn8} A  SETUP SUBROUTINEx&&;@,;@,;@,)&(}ϠɠϠؠ)(/(+( TYPE A8} STRING OF UP TO 16 CHARS:/ 6.6.-!6-?:C:,<6-%B | @36-%@6-&@3 @E }A  6-8, AP@AYUU(M}To check data against printed data statements, tE }ype NEW. Then type:\\(ENTER >:@4,@D:BUG . Type LIST after the READY prompt.U(U(JTheE } line number of each data statementcoincides with the first line of the88(0user program which the data statement evaluateE}s.aa(YNumbers within each data statement represent consecutive lines of the user program.%%(The last number isE} the total.R(R(GCheck the number of each state- ment against the printed version;PP(Honly in case of a discreE}pancy check each number in the data statement.]](7Make note of the lines containing the bugs. Then ENTER >:@4,E}D:yourprog# (to make the corrections.#PAY(}P(5Your typed-in program was not properlyLISTed toE} disk.e(_(*Please LIST your program to disk, thenRUN >:@4,D:CHECK>:@4, again.be D:DCHECK2D}!!ROWCRCOLCRCRSINDSPFLOPBUFDEVNULTSLOWEOLAUXTLPSTFIREEOHISTDIOPOXFIXCOXRESEACRLORI}TOUCOINDXBTHCOIN@@ARAfAA  &A ' 9I} @2A)@8@@@@@W66@@8@I} AEP!@"#@$% ff&@'@; + A;(}I}Š (C)1981 JOHN NAVAS II36-@6-@'6-AR36-Afss;@,;A(,9@,;A(I},;AV,9@,;@,9@,;A(,;AX,Y A A! A 967@,.>:I},J67A',. Y67@,.x6-@H+-@A!@767,.>:,R67%@,. ----+----`6-%@I}l!@Wx6-@H8 6.>:AU,86-F:@,&F:@,%@ԠРś(((ΠI}( AP1-@@! A@% 16-$E6-@ A %@16-@; A0I}E A`./-@@! AE% / A@ ԛ7<,0DA! 8,!6-@$@ 6I}.,6-?:C:,<8,<@76-A(&B:,767B:,%@,.7@<,C#6-@6-#6-%@E (} A5HI}P-@@ $( POSITION 0'(P($PRESS TO WRITE, TO ENDMu@8(# ( EDIT OPTIONS: I } )DV-@@](i6-@u6-RT A!) B'6-F:,06-F:,<"AI!}UJ6-%@T A!T"A%6. A!U!! @()!@1A!PV@(A!7W)"I"}@6-@ )6-%A(XE6-&@ )6-@76-&@E6-&@2Y@)A!@I#}Z)"@6-@)6-&A([E6-%@!@)6-76-%@E6-%@2\C"@0I$}6-&@)"@56-@8C6-%@2]C"@16-%@)"@756-@C6-&@2^WI%}@!-@$@ 3(&@ ?E-M(>:,W A!0f(A!ph@/ @H)+!@W* I&}@e,)!@p6(@ A!0jG@(>:%A(,-6-&@H9!@ G6-&@lJ6-@:7,,I'}"@@6-&P:'@,$@%$@J A!`n6-P:'@,$@%p)67<,.>:,"AU)6-@2I(}q7@!A%--@@7 A8rA -&(>:,+"@76-@)A A!8t)I)}"@6-@)6-&@vS"@76-%@+6-%@27!@E6-&@S6-&A(xI*}6-@1 A!AzP@#-@@46-P:'@,@"@P6-&$@|+6-%Av!AI+}+6-%@~! -%(>:, ! A!`6-@-@9@#$"!@)6-@"$I,}@ 6.-@A(' A#.)<67<,.>:,@  6-%@ A# $ 7' 6-!F:A,I-}A6-6-Ap7 A` "@$ 1('(ǺԠȠ1 A# ԛ 7<,0DI.}A1 :&6-?:C:,<8,<@}$"@($ A@%(6(Š(B:,,68,-@6 A@@I6-A@I?} A`%68,-A:,I8,@*8,@A@@ ( A@?(ǠҠ&(B:,568,-@I@}? A@`S6-A@@ A`%68,-A:,/ BS8,@*8,A A@` ( A@@"IA}@$0(ǠҠ$(B:,-6-8,0$B6-A@p A`"6-A:,, B?8,*A B$IB} ( A@@'68,-'7<,0CAB"@$<(ǠĠ&(B:,26-@IC}< AA@@6-AA  A`"6-A:,, B@@AA@" ( AA ,3(ǠĠ$(ID}B:,06-m 3$156-AA@ A`"6-A:,, B25$6 ( AA h7<,0P$j?(ƠIE}Ԡ!)(B:,56-@? ABlJ6-AB A`"6-A:,, BJ@*A ABnIF} ( ABp%!(ҠР%r+(ҠΠ ((B:,+$|26-AB A`%6IG}8,-A:,/ B2$ ( AB0ҠΛ5"@6-@:"@6-@D@6-AD@IH} A`,8,7<,6 B@ AI7<,4P(N$X' ' Ap ś@II}AE0D( (6.=:,6-$6-@. AbD(Ĩө7<,4D$(6-AEP A`IJ}( B,"@*7<,4C,B7u@$ĠРśB (B:,%0@@ @?0@IK}@ @B #AQ@"(B:,AP`4AP AP0A(0(%ĠΠŻIL}ĠӺ:#AQ@A6."(B:,AP!67B:,%@,.! APpe$-B:,&@@G( IM}7%@<%@, ([-@@e#AQP"@( TO 6"'7%<%,47@<@,,IN}(6 AQ0 AQ   ()  A@""DD,DS,DC,DP,CD,CS,CP,KD,KC,,&&DISC,SCREEN,KEY,PRINTER,CASSETTEIO}p٠ҠǛz( ((Ҡ16.=:F:A,,!6-@+ Ab.(1( àɯϠқ&' (IP} (&(àҠӠ% 6.=:,6-@" Ab%( Ap8٠Π֛B0-@B:,)*@:IQ}7,,%A(- 0$@ҠàɯϛA;@T,BNN67B:,%@,.6h  hh!hhhhhhh h IR} Sԩ`C$JؠÛK;AG,Lhh67B:,%@,.Ph Ԅժh`he؅إeمeօ֥eׅIS}Ԣٕ`M[[67B:,%@,.C ԅ`8˥ޅڥ߅ܥо8N$IT}TŭؠқU;A,Vjj67B:,%@,.Rh XhNhʨh8hʅh8װhʨhIU}$JJJJ) W,,67B:,%@,.0ii0׈ԩ`X$Y ((ŭؠ  &Πӛ:0IV}@@@70@@:$ D1:DEBE.HHDEBEDEBE is powerful BASIC device-to-device general purpose utility program. DEBEdoes not normally use standard files, bMX}ut rather allows you to process disksectors (it's an EXCELLENT disk sector editor) and cassette records, etc.,directly. It'MY}s something like the (in)famous DEBE program widely used on the IBMSystem/360.DEBE's commands are 2-letter codes indicatinMZ}g the source and destinationdevices. Valid letters include: C=cassette; D=disk; K=keyboard (source only);P=printer (destinaM[}tion only); S=screen (destination only). Hence, "DP" meansdisk-to-printer. (To get a list of valid command options, type "?"M\} at thecommand prompt.)IMPORTANT NOTES DEBE will readily clobber a disk. A BACKUP IS THEREFORE HIGH RECOMMENDED!USEM]} DEBE.DEM is largely self-prompting. I suggest that you experiment a bit withthe program using dummy disks and/or tapes bM^}efore trying serious use. To use DEBE as a disk sector editor, first do a "DS" (disk-to-screen) of thesector; then do a "M_}KD" (keyboard-to-disk) and you will be able to edit thesector data. (You may either modify the character data or the hex datM`}a. Use thecursor arrow keys to move the cursor.) Don't forget the CTRL-3 to end thekeyboard transfer!-John Navas [72645,Ma}1070]LBCR h CC12VTCBUFRECBITDRSTDIOPOFRSENUDIRELSNXFIBOOLQc} Qd}R +'0@@@A0@@R( ҠE6-@6-A(1;,;,;,Qe};,; AE A  ԛ''(ҠààĠ ((C)1981 JOHN NAVAS II (4( ŠQf}($(B:,*6-4 Ap8 A`6-A:, B8*@Ap$ ( A@)ԠÛ.IQg}67,.  A0;6-?:C:,<<@:, A@ ' Ap A@Qx}' A 6-6-' A@ ŠÛ++6-@:7@,,%@:7@,,$AV((ӠQy}ĺ &R6-P:'AV,867@<@,.>:&$AV,R67@<@,.>:, 4&6-?:C:,<<@:@4,X$D:DISCRCVR.BAS0R7X,к0^p'^ڵߋ ]'λQ}Q}xR -'ڵߋ ]'λQ}PH:&:RECDRSEERDIO6@Aa@66 00DEMO PROG FOR PHYSICAL DISC I/O SUBROUTINE) U}A )SETUP DISK I/O SUBROUTINE3;A(,!67A(,. 3DISK I/O BUFFER(&#(}Ϡ̠àɯϠ&(U}2(( DRIVE NUMBER<(SECTOR ADDRESSF4 6-?:C:,<<@0 Leftm}most position of the substring in string (first position is 1).DEMONSTRATIONINDEX.DEM is a simple tokenized BASIC (binarym}) program which will demonstratethe INDEX subroutine. You may type both a string and a search substring. Forexample the strm}ing "NOW IS THE TIME" will give a return code of 5 when searchedwith "IS".USETo use the subroutine, just transfer the stm}atements 900-904 to your ownprogram (you could do a LIST "D:TEMP",900,904 from the demo followed by an ENTER"D:TEMP" into ym}our own program); of course, you can renumber the statements asnecessary. Remember to call the subroutine once at the beginnm}ing of your programto set it up.-John Navas [72645,1070]l<  <өo \8 ` # ɟ I M0+h@)͜q}I M  Lb    L L LpR@@ }@ ~@  i0@i@i@@@i@@@i@i@iAiAԭՠ|@u} |@ }@ ~@ `x@ Xi`H > ɟ I-ɘ AIA ҬA Au}M0@A+hh@A% 2@t,%NDBEFISTARTADABUFFERTFCIOSECTORDSKINVADDMEDIPINIDTYPREACKSURICCOICBADICBLEICSy}TANDSTATBASDUNIDCOMNDBUFLDBUFHDBYTLDBYTHDAUXDAUX@y} y} !"#$%&y}'()*+,-.##To make a binary file, change!!line 390 of MLX as foly}lows:44IF N=-19 THEN MEDIA=ASC("D"):DTYPE=70:GOTO 720%%_______________________________##Change line 390 as followy}s tomake a boot disk: ++IF N=-19 THEN MEDIA=ASC("D"):GOTO 720dY+16-F:A`,%AV$F:Aa,%@E&y}@@qY%@@np-@(MLX2$-@#7(failsafe entryI-@@a(with Numeric y}KeypadmAp(xQ(Starting Address3( Ending Address7M(Run/Init ADDRESSQVV9@,;&%y}A',;@ ,;@ ,;@,;A(,;@,4@@K: (4( ape or isk:4 6.>:y},67&%@0,..67@,.46. 6-6.hhhLV.)@.@*@hAp) (>:, (y}@:T,6.) APC6-&@$6.>:,C67@,.>:P:+&%A','A(,,H6-P:'AV,$6-&$Ay}V667@,.>:,H67@,.>:,V6-%@"6-P:'AV,26-&$AVD67@,.>:,V67@,.>:y},e-@@$"'67,.>:,+ e24,96,169,60,141,2,211,169,0,133,10,169,0,133,11,76,0,0H6-P:'AV,$y}6-&$AV667@,.>:,H67@,.>:,'67@#,.>:,'67@$,.>:,@:D,A`%(%(Booy}t isk or Binary ile:.)@.@h*@pAp (>:,"@pA`"C6-&@06.>:,y}C67@,.>:P:+&%A','A(,,,H6-P:'AV,$6-&$AV667@,.>:,H67@,.>:,6N 6-6y}-P:'AV,*6-&$AV<67@,.>:,N67@,.>:,@5 #A0!-@@0%"167,.>:,5 JSSy}169,0,141,231,2,133,14,169,0,141,232,2,133,15,169,0,133,10,169,0,133,11,24,96TH6-P:'AV,$6-&$AV667@y},.>:,H67@,.>:,^H6-P:'AV,$6-&$AV667@",.>:,H67@&,.>:,h=+A@+y}A@=A @r (: -@@|2 Ap"6@(6-&@2 A"6@y}A &"6@-@& A ? A"6@(.( New Address25(? Ap" B'gy}"6@A= A0("( Display:From&/(To3= B'gI )!) )!) ?( At least y}, Not More Than I A0c-@((:--@?6-F:C:,%%&,I6.000c67@&B:=:,,y},.=:,8F:Ad, AU%)@('+'.(8 Ap+ (, (~ (!(+ Ap   ( Apy} 68,- [6-&P:'AV,$AV2-@@=6-%8,W6-&AV$+!AU,[ K6-A(y}+2A@@5 Ap?2E6-K(~%  (( Incorrect% Ap4-@6@02y}@P@4 5-@@1C:,%&%&@8,5 &6-%@Ap0 A: y}6-6-D8)@8"AU)"@D)"@2ApN @26-6$XA&A0bA Ay}#"@*"@D06-6@7(~A Al ApvJJ󠶳y}زw'"@w6-@H'͢x'"@t6-@I'ʢy'"@u6-@P'y}ˢz'"@v6-@Q'̢{'"@6-@R'բ|'"@s6-@S'ɢy}}'"@y6-@T'Ϣ~!! @H)!@WA% (>:%,%6-$@%&@H,!AUy}("6-A&, A%6-%@% @A "( Ap (, $_AR@y})-@@0(=)@S@D*@X[(>:,_ AR( ~$=+A@&y}+A@&=A @"@:T,A ˠ (( Load File(@pA@Hy}(.(#Enter AUTORUN.SYS for automatic use1(D(Enter filenameHJ 6.B:,!@27@<@,0D:;6.Dy}:J67@,. K Ap@9@@&@$<(K( Working...6-@@()@y}, 6 A  )*@AU)*@AU*y6-P:'AV,$6-&$AV1*@>*@Oy}6-P:'AV,_6-&$AVl*@y*@4* A p*F:A,!@Ap>")APH*y}@A$)*@@<*@A%O*@@`6-P:'AV,p6-&$AV}*@*@y}R@ B'g@&( Finished.*-(0(6-@ A`\fI-(Error F:A, trying to access1(y}<@?(I A`pԠŠz (( Read TapeE( ("(Insert, Rewind Tape.3( Press PLAY 8(E(y}& RECORD$($(Press when ready:T A `@B@@&@$A(C:E(T( Workiny}g...* A p*F:A,!@A `@@ B'g&( Finished.)(,(06-@ A`V(>(y}Error F:A, when reading/writing boot tapeA(L@V ACCϠ売佰y}嬠佱6-@2File#2,$2036-A46-A6'6-A@36-A5B6-P:C:,'AV,*6y}-C:,&$AV2%B%%@L6-&%@$6-P:'AV,46-&$AV<%L%%@)%y}@&@$)6-?:C:,<,AF:,$ҠɯϠA$*(*(Format Disk In Drive 1? (Y/N)y}:..)@.@x*@Ap8 (>:,"@xABK(( Formatting...4AT@y}D:H(Format CompleteK(LS 6-P:+&%A','A(,667&%@,.>:,:I( Reading...S A V( Writiny}g...`-@6-j4 A *67$A(&A',.4 A`t6.7$A(&A',~ A y}F:,@A  ( ( (- A`@(Error on disk access.6(May need formatting.@ A@z}ҠӠśDrive ONEPass buffer in SECTOR$sector #in variable SREAD=1 foz}r read,READ=0 for write6-@$AV -6-%@6-%@-6-%@6-%@6-%@z}6-%@6-%@ (6-%@6-%@2DIM DSKINV$(4)<6.hlsF9@6-C:,)z}6-P:'AV,96-&AV$P Z d@&@$n'P:'AV,'&F:,$AVx6-?:C:z},,$ D1:MLX.RV2xSRECMOCOROCLERPLTCHR ..DEMO PROG FOR PLOT CHAR~}ACTERS SUBROUTINE-;@ , A -SETUP SUBROUTINE$!(}ϠҠ$(((( (GRAPHICS MODE NU~}MBER$(+2$(TYPE COLUMN,ROW$-<( COLOR CODEF%!(CHARACTERS TO BE PLOTTED:%P'6-?:C:,<~}1 Standard Atari I/O error code.DEMONSTRATION}PLOTCHAR.DEM is a simple tokenized BASIC (binary) program which willdemonstrate the PLOTCHAR subroutine. As a first test, }try "7" for the graphicsmode, "12,12" for the column,row, and "2" for the color code; then type anyshort text string that y}ou like. Experiment with the demo to learn how to usethe subroutine.USETo use the subroutine, just transfer the statemen}ts 900-905 to your ownprogram (you could do a LIST "D:TEMP",900,905 from the demo followed by an ENTER"D:TEMP" into your ow}n program); of course, you can renumber the statements asnecessary. Remember to call the subroutine once at the beginning of} your programto set it up.-John Navas [72645,1070]7 $%=CAA6Br$$COMPUTE! AUTOMATIC PROOFREADERd +n--A6A"!})6-%- x?Br<((ERROR IN DATA STATEMENTS. CHECK TYPING.?6-?:A6,/(/($AUTOMATIC PROOFREADER }NOW ACTIVATED.104,160,0,185,26,3201,69,240,7,200,200 192,34,208,243,96,200169,74,153,26,3,200 }169,6,153,26,3,1620,189,0,228,157,74$6,232,224,16,208,245*169,93,141,78,6,16906,141,79,6,24,1736!}4,228,105,1,141,95<6,173,5,228,105,0B141,96,6,169,0,133H203,96,247,238,125,241N93,6,244,241,115,241T"}124,241,76,205,238,0Z0,0,0,0,32,62`246,8,201,155,240,13f201,32,240,7,72,24l101,203,133,203,104,40r96#},72,152,72,138,72x160,0,169,128,145,88~200,192,40,208,249,165203,74,74,74,74,24105,161,160,3,145,88$}165,203,41,15,24,105161,200,145,88,169,0133,203,104,170,104,168104,40,96 D:PREADCP.%}+,. D SSNNN8N8ENLNN3TN6NNPRIN@'} @ x @9@e@0u\@@(6-(}@06-%<6-@D6-%P6-@9\6-@e:u8;A ,$@ E:8@K:Du< >:A)}%,-@0 ͠<-@Nu3 By Jeff Brenner 3 Current line: Xu-(  Starting*} line: -@bu9-@( !-@'( 3-@9( luA-@ --- !3 ->:@0+},A-@vumA@d'A.)>"A&*![ >:@0,->:@0,c6-&m Bp,}u' )!@ B' Bpu >:, 6-B:=:,,u7 -%(>:@1, (6-F:,16-F:,76--}u3 )"AU"-@)3 Bu!!"AV)"AWBuB`u55+"@)*F:,"%,)+.}"@(*F:,",Bu"A%B u$ >:,6-$F:,!%Bu))F:,"@*F:,"%@B`/}u Bu> B%4 >:@(,>:@),> Bu9-@( !-@'( 3-@0}9( vG)6-@&$+@:7<,,&,%@:7<,,&G6-@:7@<@,,&% vF-@, >:AV,7@:AW,CONTv$-@!AB@$& v?AB@!-@/ >:AV,;-@ ?*v2}7 6--@'-B:,76-%@:7<,,4v!AP6-&AP>v) "* @&6-%) B Hv3}"*"@&B Rv/-@ -@+ >:AV,/ \v0  ERROR - TRY AGAIN& B0 B`fv,24}@@#)2,$pv// >:A%,END OF PROGRAM - Ġٮzv>-BB @1-@5}@5 > CONTv*-@@'AB@*&v8  >:A%,0-BBp@4 8 vF"6}6.PROGRAM ENTRY COMPLETED.F POKE 842,12:PRINT CHR$(125);LN$v*-@'AB@*&D:PROGPERF7}.AMLLL͠͠ӠҠ殠鬠箲 r +9}AR@7;@,;Ar,R(ROM TO RAM O/S HANDLERr(By Matthew Ratcliff 3/25/85O)(!>> ź This p:}rogram writes anO(!>> AUTORUN.SYS file to your disk.2.(%Get DOS disk ready and press RETURN2(8 A8@;}@ D:AUTORUN.SYS2ZZ6.P4i5Pة٥  ީ4߭<5ֱޑL[4ͭ͠Ȏ<}<cc67@,.P 84 =5L4Ӡԧ宠 e4 =5`P Fcc67Aa,.P x/=}ԍҍԅ۩B٩̅ڠQ؅لGҩ@ԩ /BX` B VPcc67AA,.P`BS:EKD>}JLVح ӱت)ӊ٥ޥЏZGG67A!,.4DԌEՠHI HI BLV4dc#6?}7@<@,.>:AU,C67A9<A9,.>:AU,c67A!<A!,.>:@4,n(@x@@}))(!64K 'XL ROM->RAM O/S CONVERTER""(AUTORUN.SYS file complete!##(Be sure to SAVE this loader( as a backA}up! A $$(UNEXPECTED ERROR F:A,//( AT LINE F:A,%AV$F:A,AR(B}D:RAMOSRNULTHOLENTERSORTPNrr̠Ԡ򠦠D}宠®âd A Ԡn(}ŒE}ϠԠx(SORT A GROUP OF NAMES#((MAX NUMBER OF NAMES#$( (MAX LENGTH OF A NAME$F};$,;,*(*(ŠӠΠҠԩB:,"A, B:, "67B:,%@,. , AG}!67B:,%@,.! Ap'6-?:C:,(FROM LAST B}6-?:C:,` ` `ύ΍͍  BHI V`&ɛ } Y' &`    Lt@W(N ATAD dL=_s]} ح  UL ͅ΅υЅѩ!   - "(}`ԅ إ8}}خ A ̦̽ AeЅХm)}ɛ "(`eͥͅe΅ΥiةэЍ , AЅѩи -ͅ΅ύУ˅̤̹JJJ}J 0 A̹) 0 Ḁ` Ω0̩˅͍Dˑ͈ͭΩ1̢ˑ͈mΦ}imimimmmmii 0 ͈ ͥ  ͅ Φ} l ͈ͥͅ΅ql2R Contents (back of disk):PROOF-READERS/PROGRAM ENTRY CHECKERS:1. BUGOUT. Refer to Home Computer Mag.for instructi}ons.2. DCHECK2. Use with ANALOG programsas follows: LIST your new program todisk. Run DCHECK2 and follow thepromps. Onc}e started, the screen willgo black, and a file called BUG will becreated on your disk. When DCHECK hascompleted, type NEW }. Then, load BUG bytyping ENTER"D:BUG". Type LIST to viewyour program's CHECKSUM DATA. Thisshould exactly match the CHECKS}UM DATAin the magazine. If not, the erroneousline is the nth line (ie, the nth DATAelement) after the line number whichco}ntains the incorrect data element.(I.Mohos & T.Hudson, ANALOG Compendium)3. MLX2. Use to enter machine languageprograms }from Compute! Mag. Containsits own numeric keypad. Refer to theMay 85 Compute! for detailed how-to-useinstructions. If you} have already usedMLX and created programs on cassette,the appropriate mods to make tape todisk transfer are contained in }REMs atthe begining of the program (SeeCompute!, 9/85, p10). (Charles Brannon)4. PREADCP. Use to enter BASICprograms f}rom Compute! Mag. WILL NOTwork with DOS 2.5 (use DOS 2.0S). Toactivate, RUN "D:PREADCP" and then typeNEW. A two letter che}ck sum will begenerated for every program line youtype. The line is correct if this checksum matches that in the magazine.}5. PROGPERF. A proof-reader forCOMPUTER SHOPPER programs. To use, RUN"D:PROGPERF". Once activated type inthe 3 letter c}hecksum in the magazineand then your line. PROGPERF will notlet you enter a incorect line. Onceyou're finished it will del}ete itselffrom your program. (Jeff Brenner)6. TYPOII.LST. A double featuredproof-reader from ANTIC magazine. Touse: ENT}ER the program, type GOTO 32000and follow the prompts. You may bringup any line by typing an asterisk [*]followed by the l}ine number. To checka completed or partial program type "*"and then the first line number you'dlike to view. Press RETURN }to generatethe checksum code. Type "+" and RETURNfor each succeeding line. When finishedtype "ERASE" & RETURN - and TYPOII} willerase itself from your program.(Jack Powell, ANTIC, 11/85)7. UNICHECK.ARS. Another Analog Mag.proof-reader. To use }you must copy itto another disk, rename to AUTORUN.SYS,then reboot. Refer to Analog #24 forinstructions. (Tom Hudson)JO}HN NAVAS' BASIC SUBROUTINES:(For Intermediate/Advanced programmers) ALTDOS FORMAT BOOL INDEX BYTHEX } PLOTCHAR DEBE SORT DISKIO TIMERefer to each program's ".DOC" file forexplanation and instruction}s. RUN thedesired "*.DEM" file to see a demon-stration of any subroutine's use.OTHER PROGRAMS:1&2. BASICON.OBJ & BASIC}OFF.OBJ. TurnBASIC on/off. For XL/XE computers only.Activate by Binary Loading (Option L)from DOS. (B.Wilkinson, COMPUTE!,}11/85)3. BASICSCH.LST. Searches a BASICprogram for variables. See BASICSCH.DOCfor instructions.4. CONVTB2C. A patch u}tility toconvert Rev.B BASIC to Rev.C. When RUNan AUTORUN.SYS file is created. NOTE:Most XL computers have the defectiveR}ev. B BASIC. (M.Ratcliff, ANTIC, 9/85)5. DISKFIX. Use to attempt to recover/fix Atari DOS disks with scrambled VTOCor di}rectory sectors. (John Navas)6. GO.OBJ. Another BASIC disableprogram for XL/XE computers. Binaryload from DOS.7. KEYC}OMMD.ARS. Allows one handoperation of the keyboard. Press SELECTto lock the shift key (the border turnsred). Press OPTION} to lock the CONTROLkey (the border turns blue). Pressingboth OPTION & SHIFT to set both locks(the border turns green). Mu}st move toanother disk, rename to AUTORUN.SYS, &reboot computer to use. (Paul Driver,ANTIC 3/85)8. KEYPAD.OBJ. Sets up }a numberickeypad on the right side of thekeyboard by substituting the M,J,K,L,U,I,O key values with 0,1,2,3,4,5,6respecti}vely. Press totoggle activation of this keypad.Binary load from DOS or move to anotherdisk and rename to AUT}ORUN.SYS. (NOTE:If you already have an AUTORUN.SYS fileon the disk, rename it to TEMP. Then,copy KEYPAD.COM to the disk an}d renameit to AUTORUN.SYS. Next, append TEMP toAUTORUN.SYS using the DOSs Copy command[Refer to your DOS manual for detail}s].Last, delete TEMP.) (ANALOG,2/85,p13)9. RAMOS. Creates an AUTORUN.SYS filethat turns the XL/XE ROM OS into a RAMOS }which can be easily modified! TheReset switch is properly trapped. Thecreated file may also be loaded fromDOS (using the "}L" command). (MattRatcliff 3/85, Mapping The Atari, p249)<SEATTLE-PUGET SOUND ATARI COMPUTERENTHUS- IASTS Disk 15BUtilit- iesUpdated:May30,86Librarian - Jim Chapman