@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}}} |||DDOS DOSDOS SYS }}}}CDOS SYSL+DUP SYSCwTEMP DAT%zDIRECT b SYSTAT BASbSYSTAT SYSb$FASTFNGRBASbTYPO } LST 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:AUTORUN.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} CE: vC y@y@`A# *` :105L; 0L>! * 0` * : ;` 1 *` 1 *` Disk Drive Sp,}eed:XXX RPM~~~Drive # X PRESS:C > check drive speedL > list error sectorsP > print error sectorsW > write al-}l zeroesto error sectorsM > return to main menui0k ^ 1 :ɛL 800 퍍L5 RETRY ERROR 2 TIME(S)؆莟.}R'S  `=D;EHI 1 1! @ :ɛ8A0.) ȅ 1 1i/}il ! 1L NO SUCH ITEMSELECT ITEM OR FOR MENU!L; .{z:*{}.|~ 1 0 00}JB 18L^%|DLl%DIRECTORY--SEARCH SPEC,LIST FILE? # O 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 ALLOWED092 FREE SECTORS COPYING---D2:AUG84}3CKB.VC# 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}/$/CHu ξL/L DRIVE TO WRITE DOS & DUP TO?WRITING NEW DOS & DUPTYPE "Y" TO WRITE DOS/DUP:DISK 1.?}D1: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?DIA}SK 1 IS WRITE-PROTECTED !!TYPE "Y" IF OK TO USE PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV. h  ,B}  `CԭC ؠȱC)CȩC`߅C ذ ٥ԍCՍC`800  `0  0`C}i7``ߍDCEHIB 10H``TRʠĩ`D` +CDCC /,D} 8 l0浥CޥC` b,`8` g+  CRC S0NCC S09CE}ե ݩԩ (۰ ٰ ؠ)`i iAC :L., :0 C :`i F}iAC`CC X*C>> ` 0>>  D, q; ,`COPY SECTORS`RLS ; , ,>  , ,G}ۢ>  ,?  , ,`= `=L :ɛ`hL S SL1) 8`NAME OF FILE TO MOVE?- 0 0|DLtH}% A.= ` <0 0 .@L# .BJ 1  DEHIB V L1 = g <0,L. I} JB|,A#Pd#DE 1 HI BDEHHII 1 B 1 = ` <0,0Lf- B VJ},A#P= ` <0 0L#L ߢ) 1* 1 ~0YjC8C}mm ݭK}}`8}``|* ? ɛ,`|:(|/ 1L `INVALID DESTINATIL}ON:DOS.SYS0 0H{ $22Δ $28/L /) $2 Π $2 0 ξM}hAΞB,0 J 1 BޝDEHI,HDE 1H$IHIDELSAVE-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- 165ɛ+,' 20*.. өw2 1``2TOO MANY DIGITSINVALIDS} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4CT} $;CC $;C $;CC 8C Z: *DCC ,=  , lɀL +U}CCC.LE4 k:泭C0iiCLg3CL<3 Z: *DCC ,=  , /,C0 8V} l0N S0G :CC# k:浭C0iiCЪL<3 ,٢=  * q;L8 D, q; $; ,WC W} L 4C>  :A>810CC ,/> 1C1>  :Z>810CC ,C> 1CCC , 1= 1 :YhX}hL `=CCЍCCCCCCCCC ; ; ; , 4L3 ,\> 1 * 鈹CɛሢCɛ )CC0Y}CC ~* 5CCCC Co> 1 * Cɛ ~* 5ܭCCCC C˭CCLE5CCLE5`C`Z}`C`~, , E5C 4L3? , E5CC 4C $;D浭CC 8CCCBC[} lɀYC :L6 : lC񠀈Ѱиi iACCC k:LX6CCCCC q\};L8= ; , ,p  , ,  ,1@  :ɛL 15))C q+L 7= , ,V@  ,u@  :ɛL H 7 ]}7Lj7 7Lj7D 8 7L7 7L7բ@ `ߢC ` ,@  * ECɛ>0$C *00C0C *0" CCL^}7`C X*`8` ,@  *0\X TCɛM ~*HC)JJJJ *6CȽC) *(CC0CC_}C`8`=8W=Wy 8W=PyL5 ON ,C` ; *nDEǍHI 1C L!9 :C `}q+L8L 9 q;L8P 9 q;L8W +L8ML 15))C g+L8 ,C&D?E BHCCC /,C\a}XCC X*C-?0  -?C0L8:8鉍C mC mCE?1?C V0*CCC LW9C? b}`CL09PC B VB DAEJNK V0 09 ,ʢ? PC D,P B V`CC mC mC?1?L9c}CC`i`i`i`i`i`P Bd} VBDAEJ VBHIL1HI B} V@`HS S ShH )Lc;Lj;h` 0)¢e})  q; ,` M;hL$; b,hL$; ,>  , ,L,=L1 :HOh:` ; 0L>!}DISK UTILITIES (c)1983 Atari Vf}er 2.6f MODIFIED FOR ATARI 800 USEA. DISK DIRECTORY K. BINARY SAVEB. RUN CARTRIDGE L. BINARY LOADC. COPY FILE g}M. RUN AT ADDRESSD. DELETE FILE N. CREATE MEM.SAVE. RENAME FILE O. DUPLICATE FILEF. LOCK FILE P. COPY SECTORSGh}. UNLOCK FILE Q. CHECK SECTORSH. WRITE DOS/DUP R. RADIX CONVERTI. FORMAT DISK S. DRIVE SPEEDJ. DUPLICATE DISK T. WRi}ITE VERIFY:ON 9!&x#!7&p))'&5./)L''-66C76u8COPY DISK Insert source disk and Λ Insert DESTINATION j}disk and Λ IT'S DONE !'Y' to execute or for menuSource drive # ?DESTINATION drive # ?Source drive is # 1Desk}tination drive is # 1Enter first sectorEnter last sectorCHECK DRIVE # 1 >>>>ERROR # 138<<<u *` 1 *` Disk Drive Sp_44)?Ң794q484 4 \`).(8 @ ҩb \Lb`n<*x}%*!-!'!RjR!zHe!Z3!' !~ :*!"!!!!@*-s>!-?*!?!!?-!>%*!8!-9*>*!!!!8?  >! - - *>"""!!!!!!!!!!!!!!!!!hKc^zBzMhjRy}m 4?Ң794q484 4 \`).(8 @ ҩb \Lb`n<* "#TFILEFILE1SELDPAGFLG {} d..** ATARI DISK MENU SYSTEM ** VERSION 2.1i''** PROGRAM BY: DAVID STELLMACK **k## |}** MODIFIED BY JOSEPH BLUE **l##** TO LOAD M.L. PROGRAMS **m##** FROM 2ND BOOK OF ATARI **n Axp- }}@"D ٠ΠŠ V-@ @ p(NEW DRIVE # |-@$@  ( ~} * A0<-@$@ NAdAURh @)!@r A| A0 B$e +@ }-@@< @DISK # NOTN-@@e(@ ON SYSTEM8 A A`#6-@ }- Ap8@ B Ab-@"C((͠ӠˠM BX }@b A`m A-@@P:?-@"m (ҠΠŠ }6@ Ap" A`, B6 A l-@"C (ҠԠΠŠM } AW A`b@l Bn A@.@@R1:@-@"n((ӭ }̠ӠΠŠ,@ Ap" A`, APW-@"C((ӭ̠ӠԠΠ }ŠM AW A`" B@" A-@A $b%2@@ }@9-@@P= _2b$b%2@U@@9-@@P }= _2b$"z1;@,;@,;@,;@,C@U@e }a6-@m6-@z6.D :*.*, +AR@90@S0@] B }w67@<@,.=:, AP@@6]1()}ŠŠƠӠŠC-@ }G(Y-@8](@A@!6-5-@@4? A`L@V B }b @v-@%(0J7 @*!@ --@%7(T1!@+-@ }@%&@1(^ h F:A,A6ArM @-"( .-@A( FREE SECTO }RS M6-@|m!@+-@ @%&@2( N-@%@%&@a( FREE SECTORS m6-@ }M B-@"M((ίЩŠĩŠөӠ>-@@ $( SELECTION >0@@ } @] Ap-@$@ +( =-@$@ OAdAUY A]S27@<@ },4P*+"@)"@,=@I6-@S AL7@<@,4P(6-@B0@ }L AG7@<@,4D(6-@2 A =@G A$$7@<@,4SA }: 6-A:,& @)!&@&0 A: A_ B(}@;@@G6- }S"@_6-@4$-@% @$ +67@<@,.7@<@,S67@<@, }.7@<@,l67@<@,..67@<@,.7@<@,Y 6.-@@,6-@:7< },,B"@F)"@XY67B:,%@,.>:,H1+!@G* @X,)+!@d* @,H67B:,%@,.>:,G } @@+@e@=ARG Apr +@-@@4(@LOADINGF-@ }@d(@7@<@,n A5r%??7@<@,4BIN)7@<@,4OBJAPA  }A(@4(@FILE NOT FOUND> A`A%&%-A6A"!% 0WW162,16,32,173,6,134,207, }104,104,157,69,3,104,157,68,3,169,4,157,74,3,169,3,157,66:RR3,32,86,228,16,3,76,166,6,169,203,157,68,3,169,0,157,69,3,169, }2,157,72,3,169DXX0,157,73,3,169,7,157,66,3,32,86,228,16,6,192,136,240,92,208,96,169,255,197,203,208NXX4,197,204,240,210 },169,205,157,68,3,169,0,157,69,3,32,86,228,16,2,48,69,165,207,240X\\14,165,203,141,224,2,165,204,141,225,2,169,0,133,207,1 }65,203,157,68,3,165,204,157,69,3bXX165,205,56,229,203,157,72,3,165,206,229,204,157,73,3,254,72,3,208,3,254,73,3,32,86l[[ }228,16,137,192,3,240,133,76,166,6,32,173,6,108,224,2,152,133,212,169,0,133,213,169,12v157,66,3,32,86,228,966-?:A }6:A%,1(FAST FINGERS BOOT FILE MAKERQ(by Craig Chamberlain 8/1/83T(np&9A,9@p,;}@,:-A>"G68,-K _-@@pc"l68,-p xW;I:,&AP,'6-@36-}@d?6-A(K6-W6-9&(PLEASE ENTER INPUT DEVICE SPEC*94AK(>:A%,(READ}Y$ AA@@K A`,)@(>:,6E"@'!67,.>:@(,/6-%@;6}-@(E AP;4!@'* @2*6-8%@(,4 AP@4!A$* A(*6-8&@`,4 APE}4!AT* A`*6-8&@,4 APJ*!AR 6-8&A,* APT56-!A')6-&}A(56-@Y7 6-@&)67,.>:@9,76-%@^%"6-A`% APc$ @'}6-%8,$ APh%"@26-@3% APm, @@"6-%8&@,, APr*"@@ 6-%}8@6,* APw*"@A 6-%8@',* AP|* @H 6-8&@,* AP* @X 6-}8&@!,* AP* @e 6-8&@,* AP, @"6-%8&@d,, AP* @ 6}-8&@A,* AP%"A#6-A0% AP%"A$6-@y% AP;"6-@}-67,.>:@`,;6-%@6-8&@,'67,.>:,6-%@' A F:A,A6A}G67,.>:AU, @2ADA@dG(M(TOTAL:  KEYSTROKES+!AM(WARNING:} TOO BIG FOR PAGE SIXL((CASSETTE OR DISK )6-@:,L @g)!@h)4AA6-@$+"@g,}'6-B3+76-AA A s6-@:@@ D:AUTORUN.SYSG@R@s7}@<@,0 A +(APPEND4!(NO+ A `(6-@%+7@<@,4Y,`7@<@},0Y*7@<@,0NA,(LOAD ADDRESS () ( A0,96-A6+(PATCH ADDRESS (}) 5 A@9Z6-@'( SPEED 1-9 () 1 AP5Z @)!@ )P:,A@&N6-@}-@+6-$@/ N68@`,-'@&@0(6-%6-%@W& A,6-6 AD6-%A}N A\6-%@Vf At6-%@)~ A6-%@2: A6-%@V% A36-%@}= AK6-%@U Ao68@I,-P:'AV,68@Q,-&AV$P:'AV,XM 6-&&6-&AV$P:}'AV,76-P:'AV,A AMA0bh(@ D:AUTORUN.SYS;*@AUN*@AU}[*@h*@lW6-%A%5*@&AV$P:'AV,M*@P:'AV,W APvr#@}@A(C:6*@X*@P:+%AP,'A(,e*@r*@7*@%@U}&AV$P:+%@U,'AV,Y*@P:+%@U,'AV,m-@@q"~*@ E-}A'*@8,+ 9(@EAi*@A&)*@@<*@A'O*@}@\*@i*@@ B)(ERROR F:A,# B&)D"%68,-&AV}$P:'AV,A68%@,-P:'AV,D$ nn165,16,41,63,133,16,141,14,210,162,55,189,57,6,157,57,6,202,16,247,142,2}52,2,232,142,255,2,189,113,6,157!mm113,6,232,208,6,238,29,6,238,32,6,201,255,208,237,169,7,162,6,160,57,32,92,228,24,96,16}5,20,41,1,208,46"kk174,252,2,232,208,40,174,113,6,238,70,6,208,3,238,71,6,142,252,2,232,208,23,169,64,141,190,2,165,16,9#}GG192,133,16,141,14,210,169,7,162,228,160,98,32,92,228,76,98,228,96*jj63,21,18,58,42,56,61,57,13,1,5,0,37,35,8,10,47,40,}62,45,11,16,46,22,43,23,50,31,30,26,24,29,27,51,53+kk48,7,6,32,14,34,38,66,2,54,15,55,102,117,96,70,98,71,78,162,142,143,1}34,135,12,116,119,172,108,118,52,44,158,180,1834 12,15,28,31,37,40,70,73,78>169,60,141,2,211 D:FF1x32000 REM Type Your Program Once -- "TYPO"32100 CLR :DIM Q$(20):QF=7:CLOSE #QF:? "File for output ";32110 INPUT Q$:OPEN #QF},12,0,Q$:QREM=032130 QCNT=1:FOR QADDR=PEEK(130)+256*PEEK(131) TO PEEK(132)+256*PEEK(133)-132140 QSUM=QSUM+PEEK(QADDR)*QCNT:}QCNT=QCNT+1:NEXT QADDR32150 ? #QF;"Variable checksum = ";QSUM:? #QF32160 QADDR=PEEK(136)+256*PEEK(137):? #QF;" Line num r}ange Code Length"32170 QLINE=PEEK(QADDR)+256*PEEK(QADDR+1)32180 IF QLINE>=32000 THEN END 32190 QLEN=0:QSUM=QLEN:QCNT=Q}LEN:? #QF;" ";QLINE,"- ";32200 IF NOT (QCNT<12 AND QLEN<500 AND QLINE<32000) THEN 3227032220 QLEN=QLEN+PEEK(QADDR+2):QCN}T=QCNT+132230 IF PEEK(QADDR+4)=0 AND QREM THEN QADDR=QADDR+PEEK(QADDR+2):GOTO 3226032240 FOR QADDR=QADDR TO QADDR+PEEK(QADD}R+2)-132250 QSUM=QSUM+PEEK(QADDR):NEXT QADDR32260 Q$=STR$(QLINE):QLINE=PEEK(QADDR)+256*PEEK(QADDR+1):GOTO 3220032270 QSUM=}QSUM-676*INT(QSUM/676):QCNT=INT(QSUM/26)32280 ? #QF;Q$,CHR$(65+QCNT);CHR$(65+QSUM-26*QCNT);" ";QLEN32290 GOTO 32180 #QFyj ABABNL ! + }!(CONVERTING...11 -;A,;@%,$6-C:,-6-C:,DDA=USR(AD,BD,COLOR,LEN(B$),ROW,COL) **AD=ADR(A$) } * BD=ADR(B$)**6-6-@#-@A"67<,.>:,(N0P:'@`,"'@`*!@Y })"A>6-%@D6-N A2 <E(LPRINT((B(LIST >:@4,D:>:@4,,10,18E&'6 }-F:A ,'A F:A,?-F:@,@(?( A$(,)=>:@4,$ - (>:@',7< },$ (>:@4, (CONT--F:@,*AB@-&QAB@#6-%@B(>:A% }, CONVERTING...NA Q$'**165,200,133,223,169,1,133,222,165,84'++133,229,165,85,133,227,165,86,133,228$'&& }166,87,169,10,224,5,144,8,169,20.'((224,7,144,2,169,40,133,239,104,2408',,48,170,104,133,213,104,133,212,202,240B'++49 },104,104,133,223,202,240,42,104,104L',,133,222,202,240,35,104,104,133,229,202V',,240,22,104,133,228,104,133,227,202,240` }'**19,104,104,202,208,251,24,144,11,169j'**253,76,164,246,169,0,133,227,133,228t'++165,229,133,233,165,239,133,236,169,0 }~'''133,230,162,8,10,38,230,6,233,144'((7,24,101,236,144,2,230,230,202,208'++239,133,229,165,88,133,216,165,89,133' },,217,165,229,24,101,216,133,216,165,230'((101,217,133,217,162,1,165,87,201,9'$$176,7,162,2,74,176,2,162,3,165'++22 }7,101,228,240,25,70,228,102,227,202'))240,5,70,227,202,208,251,230,227,24'++165,227,101,216,133,216,144,2,230,217'++ }165,216,133,224,165,217,133,225,169,0'))133,226,162,0,169,0,149,218,232,165'))223,149,218,10,10,10,10,232,149,218'++ }5,219,232,149,218,164,226,177,212,162(((0,134,234,201,128,144,4,41,127,198 (**234,170,133,236,224,96,176,13,169,64()) }224,32,144,2,169,224,24,101,236,133())236,169,8,133,233,169,0,133,215,162(($$8,10,38,215,6,233,144,7,24,1012(++236,144 },2,230,215,202,208,239,133,214<(((24,173,244,2,101,215,133,215,160,0F(''132,235,160,8,132,238,24,144,3,24P(,,144,169,16 }4,235,177,214,230,235,69,234Z())133,232,169,0,133,237,169,4,133,231d(&&169,0,133,233,160,2,6,232,38,233n(--136,208,249,!}166,233,181,218,164,237,145x(,,216,230,237,198,231,208,229,24,165,216(++101,239,133,216,144,2,230,217,198,238())208,1!}96,198,222,208,1,96,230,226,24())165,224,105,4,133,224,144,2,230,225(++133,216,165,225,133,217,24,144,166,96 D:G!}TIATEXTj ABABNL ! + 10 DIM A$(410),B$(25):AD=ADR(A$):BD=ADR(B$)11 A$(1,60)="ȅߩޥTUVW (h0hh1hh*hh"12 A$(%}61,120)="#hhhhhh L &"13 A$(121,180)="eXإY٥e؅إeم٢W%} JeFf"14 A$(181,240)="Fe؅ؐ٥؅مߕ ڤԢ"15 A$(241,300)="ɀ%})ꪅ` @ eע &e"16 A$(301,360)="eׅנE&%}ڤ"17 A$(361,410)="eؐ`iإ`"18 REM A=USR(AD,BD,COLOR,LEN(B$),ROW,COL) **AD=AD%}R(A$) * BD=ADR(B$)**:AD=ADR(A$):BD=ADR(B$)11 A$(1,60)="ȅߩޥTUVW (h0hh1hh*hh"12 A$($7 I CLSSONGTUNEABABSSMINUTEWORDBLRBTCHARCNCLLINEDICSTTLNTCHATERLNWORDLWXWPTWPTS) }ETBWPNNNNDEL!!!||xxBYBiB7`B7b ) } @BS) }@@H !"#$%&'(@)*+) },-./B0Ab1N&;@3,;A$,;Av,N6.!hX֥Yשؠ )}`YY67@<@b,.>((#(/<<HQ</<(/(5((#(/<<HQ</5<@< dYY67@c<A$,.>59)}5/-5/(##(/-/(5((#(/<<HQ</5<@(<(dYY67@<@b,.> llll ` Q y y `` Q` QH)}Q ` Q ` Q ` `l `UlYY67@c<A$,.>d(d  d l ` Qy yy `` Q` QHQQ@ H Ql` l YY67A%)}<A,.> (d ` Q DHQ ` Q Q` Q` H H @ ` Q d@H Qn``Q Q Q` QYY67A<AH,.>Q Q H @ ` Q dDH Q ` `)} Q Q`Q H @ ` QH HHnH ` @ d /@5 @YY67AI<A,.> 5 @d DHQ d ` Q` Q`iQ H @ ` Q d@ dHnQ ``Q Q Q`QQ)} Q ]]67A<Av,.B H @ ` Q dDHnQ ` ` Q Q`Q Q H @ ` QH HHnH ` @ 5 /@5 @ 5 @d -;A,;@%,$6)}-C:,-6-C:, WW67@<@`,.<ȅߩޥTUVW (h0hh1hh*hh WW67@a<A )},.<#hhhhhh L & WW67A!<A,.<eXإY٥e؅إeم)}W JeFfWW67A<A@,.<Fe؅ؐ٥؅مߕ ڤԢWW67AA)}<A,.<ɀ)ꪅ` @ eע &eWW67A<A`,.<eׅנ)}E&ڤMM67Aa<A,.2eؐ`iإ`DDA=USR)}(AD,BD,COLOR,LEN(B$),ROW,COL) **AD=ADR(A$) * BD=ADR(B$)**16-B7`6-%@' AP1 AEB6-+F:@ ,)}%AV$F:@,%BU6$F:@,,'A6E$(<@'@9@ <$;@)},;@,;@@K:G6-B7pX6. a6-C:,m6-y6-6-C:, @@)}/6-@/TOTAL # LINES DEFINED IN DATAa +@6-%6-@16-=6-B7`I6-U)}6-a6-=6-%@ AP=2@@6-P:H:,$%A,#" B)}v-@"!6-(6.16-B:,\6-P:+@&@$,'@,&@n6-$+!,v6-%)} 6-?:,"-Au,)6-%@!@)6-@6>6-?:+F:Ad,"AU,A) }@,)@6-%@,67<,.>:,J<6-&@<6-?:<%<<@<A<@$%,T4A0)!}^+7<,47<,,Ah -@6?P<2A@@ \2@@n)"}AdAU6-?:<<@<<A<,6-r 6-&6. 6-%@| 336-?::,4Q% A@! +@ @@! A@7 +-@@+"76)2}-@**(AVERAGE WORDS PER MINUTE = P:','-@@'( BEST WPM = 5-@@5(TOTAL CHAR)3}ACTERS TYPED =  W-@@0(TOTAL TYPO ERRORS = B-@@W(FINAL SCORE = .-@@)4}.((S)TOP OR (R)EPLAY  =0@@%6-%@1!@=6-@* F:Ad,"AUA4())5}@>:,4S%+(9*>:,0R AdAU* A>%H!!SONG ROUTINE TO GIVE A RESTR+ 6-C:)6},6-B:,+TO THE WEARY TYPIST\-%&@@f1 6-F:,6-F:%@,1"AAp#A %)7}"rs2@@;2@@@W2@@@s2@@@z)8}U-@@$ 1-@M2Q U G6-%AD6-?:},ATARI,USERS,GROUP,IN THE,WORLDTITLE PAGE +@'6.COLOR6-@'6-@$-B:,&@)?}..6-?:<%<<@<<@$%@,36-%@"@$)6-@(3 APp6-@$ )@}6.TYPE6-@H-B:,&@..6-?:<%<<@<<@$%@,)6-%@!@)A})6-@%"@H6-@R% AQ@ 6-@H 666-?::,+ y +1}o6.[DOS 2.0S BINARY-LOAD-DISK TO BOOT-TAPE by R. Polone (SYZYGY MICROWARE OF TEXAS) REV1.0 1981y @5?6-@1}$@+-@@/";67,.>:,? n @V6.BPLEASE ENTER BINARY LOAD FILE NAME i.e. D1:LOADNGO.B1}IN (RETURN)` @5dn B4 @*@@4 @K(=(ERROR F:A, FILE 1}>:@4,>:@4,H@Kw B)@')@=AU)AU_6.FILE NOT BINARY SAVE1} FORMATi @5t@w )@)@-6-%AV$86-&B:,E)@R)@b6-%AV1}$"A6*"A7@C 3 -)@/67B:,%@,.>:,3  M @)@')@1}76-%AV$C"BU5M @ *A6 @ O"A6)@))@96-%AV$E1}"A7O @D"A6 @F 6-6-&&@"6-B:,.F67%<%,.>:,T)@1})@-6-%AV$56-&J*B:,%T @A B)6.LOGICAL RECORD ERROR!3 @51}>@A,F:A,"A6" B, @!iF:A,"@\6.=RAM TOO SMALL IN THIS SYSTEM! CANNO1}T GENERATE BOOT CASSETTE!f @5i(%(>:AU, ERROR F:A,(&y@6-P:'AV,/6-&AV$1}I67@<@,.>:,c67@<@,.>:,o"AUy @&| @"r6.^BINARY FILE IS NOT LOAD-AND-GO 1}(NO RUN-ADDRESS APPENDED TO FILE)! PLEASE ENTER DECIMAL-ADDRESS| @53%6.$A000 HEX IS 40960 DECIMAL./ @531}- B# )!BU4- @"X6-P:'AV,$6-&AV$>67@<@,.>:,X67@<@1},.>:,66-P:B:,'A(,($A(B:,66-%@67@<@,.>:,B86..WRITE PREPARE BOOT TAPE! 1} BEEPS REQUIRE RETURNB @5i6-A(6-@'6-@K6-P:B:,'A(,$A(%A(T6-C:,^ @F1}i@ @0<6.( ANOTHER COPY OF BOOT TAPE? Y N RETURNF @5J7@<@,0Y*7@<@1},0N@00 B&7@<@,4Y0 @( @2;6.'ANOTHER BINARY DISK FILE? Y N RETURNE1} @5I7@<@,0Y*7@<@,0N@2!) B&7@<@,4Y)%"#Q%6-F:1}@,&F:@,%@36-%@?6-NB:, @Q$$7 B:,"(6.4@F:@,&@71}$% B:, (6.$&b6.7<,#4 )4>:AU,16-&@@(7@<,V6.7%@:,7)@Q67@<@,.>:,]6-AU`$."@ @G3/! B!@C:1}0A2%%@100A2%%@&+P:'AV,$AV,2$$A2%%@P:'AV,300A2%%1}@&+P:'AV,$AV,4$$A2%%@ P:'AV,5A2%%@6A2%%@7 61}-C:,6-?:<,$8bb0,1,0,33,0,33,169,60,141,2,211,169,2,133,9,169,0,141,68,2,165,12,133,2,165,13,133,3,108,12,09101}4,104,104,170,76,86,228 D:BOOTTAPEIOCFIRSBOOLASFIRSTLASTASIZAUXSIRLENTBURSTARPOLON0*0100 .TITLE "Bootable cassette/disk transfer. 10/23/81"0110 BUFPTR=$06FD0120 CASBUF=$03FD0130 CASSBT=$4B0140 CSOPIV=$E475}D0150 DAUX1 =$030A0160 DAUX2 =$030B0170 DBSECT=$02410180 DBUFHI=$03050190 DBUFLO=$03040200 DCOMND=$03020210 DFLAGS=$025}400220 DSKINV=$E4530230 DSKRDE=$F3810240 DUNIT =$03010250 FORMAT=$210260 FTYPE =$3E0270 GETSEC=$F39D0280 PACTL =$D3025}0290 RAMLO =40300 SECCNT=$06FF0310 WRITE =$570320 *=$06000330 INVAD LDA #FORMAT ;Format disk drive 1.0340 STA DCOMND05}350 LDA #10360 STA DUNIT0370 PLA ;Get buffer pointer from basic.0380 PLA0390 STA BUFPTR+10400 STA RAMLO+10410 P5}LA0420 STA BUFPTR0430 STA RAMLO0440 JSR DSKINV ;Call disk handler for format routine.0450 BMI BADDSK ;Branch if error5} in format operation.0460 LDA #$80 ;Specify short cassette IRG mode.0470 STA FTYPE0480 LDA #1 ;Set cassette boot flag.5}0490 STA CASSBT0500 JSR CSOPIV ;Open cassette file.0510 JSR GETSEC ;Get first cassette sector.0520 BPL ALLSEC0530 BAD5}DSK JSR DSKRDE ;Error handling routine.0540 JMP EXIT0550 ALLSEC LDX #3 ;Get the # of sectors on the cassette.0560 RDBYTE 5}LDA CASBUF+3,X0570 STA DFLAGS,X0580 DEX0590 BPL RDBYTE0600 LDA DBSECT ;Save the # of sectors on the cassette.0610 S5}TA SECCNT0620 MVBUFF LDY #$7F ;Move first cassette sector to buffer.0630 MVNXB LDA CASBUF+3,Y0640 STA (RAMLO),Y0650 DEY5}0660 BPL MVNXB0670 CLC ;Load the rest directly to buffer.0680 LDA RAMLO0690 ADC #$80 ;Bump buffer pointer by 128.05}700 STA RAMLO0710 LDA RAMLO+10720 ADC #00730 STA RAMLO+10740 DEC DBSECT ;Decrement sector count.0750 BEQ ENBOOT ;B5}ranch if all sectors loaded.0760 JSR GETSEC ;Get another sector from the cassette.0770 BPL MVBUFF0780 JMP BADDSK ;Jump 5}if cassette error is detected.0790 ENBOOT LDA #60 ;Shut off cassette motor.0800 STA PACTL0810 LDA #0 ;Set up disk handle5}r.0820 STA DAUX2 ;Specify sector number in DAUX1,2.0830 LDA #10840 STA DAUX10850 STA DUNIT ;Specify disk drive number5} one.0860 LDA BUFPTR ;Set up pointer to cassette data buffer.0870 STA DBUFLO0880 LDA BUFPTR+10890 STA DBUFHI0900 LD5}A #WRITE ;Specify disk write with verify.0910 STA DCOMND0920 JSR DSKINV ;Call disk handler.0930 DEC SECCNT ;Decrement s5}ector counter.0940 WRSEC INC DAUX1 ;Bump sector number.0950 CLC ;Bump data pointer by 128.0960 LDA DBUFLO0970 ADC #$85}00980 STA DBUFLO0990 LDA DBUFHI1000 ADC #01010 STA DBUFHI1020 JSR DSKINV ;Call disk handler.1030 BPL GOON1040 J5}MP BADDSK ;Jump if disk error is detected.1050 GOON DEC SECCNT ;Decrement sector counter.1060 BNE WRSEC ;Branch if more se5}ctors to load.1070 EXIT RTS ;Return to basic.0/23/81"0110 BUFPTR=$06FD0120 CASBUF=$03FD0130 CASSBT=$4B0140 CSOPIV=$E4740!hhh S0>K }  L@AiiA L,<ө  9}W S ii SL,`@AiiA L,<ө  8;%&n EXIERRODATCHKSUFREBBUFFECHECd=}""BOOTABLE CASSETTE/DISK XFER.n by Ed Schultz Jr. 10/27/81x-A-A--=}-I:,&A ;,##Move machine language routineto $600. #A `-A6=}A @-@" %" 6-%, 6@""Compare checksum to test forJbad d=}ata.T^"h  r '@` OK|6- Print instructions.#-=}@@"  # #  Buffer size: bytes.$$Wait for user to signal start.+ =}+  Press 'START' to start transfer. F:B2y,"@Ap&F:B2y,"@ 0 A@:' ' Press=} 'RETURN' at beep tone.XbExecute machine languagelroutine.v6-?:A6&=}H**}Bootable cassette to disk transfer.R,by Ed Schultz Jr.\)), ,Put the cassette in the recorderf++and position=} the tape as you normallyp((would to boot the cassette. Pressz&&the PLAY button on the recorder.)),Next insert a d=}isk into disk drive**one. The program will automatically((format the disk--so an unformatteddisk may be used.=}**,Press 'OPTION' if you wish to abortthe program.==169,33,141,2,3,169,1,141,1,3,104,104,141,254,6,133,1405??=}5,104,141,253,6,133,4,32,83,228,48,16,169,128,133,62,1545@@169,1,133,75,32,125,228,32,157,243,16,6,32,129,243,76,1697=};;177,6,162,3,189,0,4,157,64,2,202,16,247,173,65,2,1469>>141,255,6,160,127,185,0,4,145,4,136,16,248,24,165,4,1620<<1=}05,128,133,4,165,5,105,0,133,5,206,65,2,240,8,32,1336??157,243,16,223,76,44,6,169,60,141,2,211,169,0,141,11,1669993,1=}69,1,141,10,3,141,1,3,173,253,6,141,4,3,173,1225;;254,6,141,5,3,169,87,141,2,3,32,83,228,206,255,6,1621::238,10,3,24,=}173,4,3,105,128,141,4,3,173,5,3,105,1122$990,141,5,3,32,83,228,16,3,76,44,6,206,255,6,208,1312.,,223,96,0,0,0,0,0,0,0,0=},0,0,0,0,0,0,319Exit routine. D:CDXFER.BASd<PBOOTABLE CASSETTE/DISK TRANSFERby Edward Schultz Jr. This program will convert a cassette bootable machine languA}age program into a disk bootable version. The program automatically formats the disk, so do not use a disk that contains datA}a or programs you wish to save. The source program is also provided, which may be used in conjunction with the ATARI AssemblA}er-Editor cartridge, or with OSS EASMD. The BASIC program provides a convenient method for loading the machine languageA} routine into RAM, and also provides user prompting. Some error checking is done when reading the data statements, program eA}xecution is stopped if an error is detected. the dimensioned string variable B$ is used as a buffer for data from the cassetA}te. No checking is done to see if enough buffer space is available to transfer the program. The user must determine this byA} comparing the printed buffer size with the size of the program to be transfered. When the program is done executing, controA}l will return to the calling program (BASIC). The message 'BOOT ERROR' will appear if there is an error detected in reading A}the cassette or in writing to the disk. Sould this occur, the program will self-terminate, and must be restarted when the prA}oblem is fixed. This program does not modify the Volume Bit Map (VBM), or the disk directory, so the disk cannot be useA}d for any other purpose once the boot file is created, or the boot file will be overwitten. There may be some cassettes on wA}hich this program will not work. This program only copies the boot sectors from the cassette. If the cassette boots in its A}own loader to boot in the rest of the program, it cannot be copied with this program. Also if the cassette reads in data froA}m the cassette when executing, it will not function without modification.ram will convert a cassette bootable machine langu@KjABFFIL   @2@ @! @% +E}(}%-@@""""""" DATAXFER """" PAT McCABE E} """" 24182 RAMSGATE """" MT.CLEMENS,MICH. """" FEB 1982 """"FOR THEE} EXCLUSIVE USE BY" """ M.A.C.E. MEMBERS ONLY " !! ALL RIGHTS RESERVED " !!" E} D#@@K:DOPEN KEYBOARD FOR GET INPUE}T11;@,;@,;@,;@,))67@<@,.  A A0 (}E} BQQ(IIN ORDER TO TRANSFER THE DATA FROM YOUR CASSETTE RECORDER OVER TO DISK33(+YOU MUST FIRST GIVE THE DATAE} A FILE NAME.p9(1YOU ARE ALLOWED TO USE A MAXIMUM OF 8 CHARACTORS.p(1DAT. WILL AUTOMATICALLY BE APPENDED TO THE END OE}F( YOUR NEW FILE. Q(E(:WHAT NAME WOULD YOU LIKE TO GIVE YOUR NEW DISK DATA FILE??H(K(N(Q("F<(3INPUT DATAE} FILE NAME D1:--------.DAT@F(}#u @46-B:,Z @)!@)7@<@,2A)7@E}<@,3Zk( Ԡu @4&%-@B:,!7<,0 % 'e6-&@+67@<@,.D:OE}67@<@%,.7@<,e67@%,..DAT(o'(ǠנŠ+(.(o(;THAT WAS THE easyE} PART NOW YOU HAVE TO DO SOMETHING *(FOR ME !, A -L @@LTHE 8 MEANS OPEN E}DISK DRIVE FOR A WRITE7 A < ( ( (A A(}CAR@READ TAPE "AR@E}**("PUT YOUR DATA TAPE IN THE CASSETTEO( AND REWIND.L(4POSITION THE TAPE TO THE OF THE DATA FILE O(lE}i(aTHE BEGINNING IS WHERE THE MAIN PROGRAM ENDS AND THE LEADER OF THE DATA FILE BEGINS l(ZZ(RTHIS IS E} BECAUSE IF YOU DON'T KNOW WHERE THE DATA FILE STARTS\'(THE COMPUTER WON'T KNOW EITHER.\(0COMPUTERS ARE}EN'T AS SMART AS PEOPLE YOU KNOW.((( USING THE TAPE COUNTER WILL HELP' A(} A' A%(%(E}}PRESS ON CASSETTE.((THEN PRESS .##@@C:6 +TmmGOSUB 1000:REM E}IF READING OTHER THAN A DATA FILE ADDING THE GOSUB DELAY WILL HELP LOCATE THE FILE STARTYARAAALL THAT TE}YPING FOR THIS LITTLE 4 OR 5 LINE PROGRAMb +6-=(Ġ٠Š ............. @(b(ԠE}ՠŠӠԠՠ)@& (>:,*@&6-%@ F:Ad,"AUA AdAE}U`(( CHRS READ.V(9ԠΠϠŠ ٠٠Ϡ` A"AUA E}6-@ A  INFO7( ( ((7(# The file will be read and shown to$$(you just as it is formatteE}d.0(0(% When you want to stop, press .--(%The program will ask if you want more&(data to be shown.0 E}( (:$XA LITTLE INTRO FUN]J A*-AT6@F2@@@J bE -@#E}@6@$+/(@:(@E(@l (@ PAT MCCABE'SqK-@@P#A/AE} ;AGAK v!!(@ data transfer{(@ UTILITYs #-@A`E}@/A C-@@OAk2@A0@o s /%2@E}/+8A @'A@8BLACK ON WHITE$ WAIT&&( Press ٠ to continue'E}AdAU'ARBF:Ad,"AU (4-@@ 8 B A)@$E}LINTRODUCTIONV (}`&&(NOW THAT YOU HAVE A DISK DRIVEj**("HOW DO YOU TRANSFER THOSE PROGRAMSt&&(THAT USEE} CASSETTE DATA FILES ?~66(-SOME PROGRAMS I KNOW THAT USE DATA FILES  (ARE:((RESCUE AT RIGEL(ATAE}RI'S TOUCH TYPING( STARWARRIOR(CRUNCH CRUMBLE & CHOMP++(#DOWNHILL FROM ATARI'S PROG EXCHANGEC)(!AND I'M E}SURE THERE ARE A LOT MORE,(/(9 AC A,,($WHAT THIS PROGRAM DOES IS TRANSFER--(%YOUR CASSETTE DATA FILE}ES OVER TO DISK( DATA FILES.((**("WHAT THIS MEANS TO YOU IS THAT YOU''(CAN NOW COMPLETELY CONVERT YOUR0E}-(%BASIC CASSETTE PROGRAMS OVER TO DISK.0(((( DATA FILES AND ALL. ALL YOU HAVE,,($ TO DO, IS FOLLOW INSTRUCTIONS...E}... A A??(7}IT'S REALLY QUITE SIMPLE,WHAT HAPPENS IS............ ((( THE PROGRAM 'GET'S'THE DATA E}FROM22(*THE CASSETTE AND 'PUT'S' IT ON THE DISK,,($ATARI'S FLEXIABLE IO SYSTEM DOES ALL(& (THE HOUSEKEEPING FOE}R YOU#(&(2(NOW THE FUN PART:<**("PUT A FORMATTED DISK INTO DRIVE #1F**("PUT YOUR CASETTE INTO THE RECORDERE}( AND........" A @$ END@@ ( (!"@!( MANUAL ABORT.6-FE}:A,"A0"A6( END OF FILE %"A8%(NO TAPE (OR DISK) "Ai( DISK E}FULL 2#"A@)"AB)"AC2( READ ERROR ""Ap"(FILE NOT FOUND* "Ac ( SYSTEM ERRORF} (( CHRS READ.(( U")"A60(NO ERRORS DETECTEDE(ԧӠ̠H(K(U A@ 2F})A6/(ERROR F:A,2INS PT2 (AFTER GOOD XFER)8A @'A@8BLACK ON WHITF}E9/(' נӠԠŠԠԠҠ9 A7$(}NOW THAT YOU HAVE A GOOD7(DISK DATA FILE( ....F}.CALLED --(%WHAT DO YOU DO WITH IT AND HOW DO YOU((( GET THE MAIN PROGRAM TO READ THE**("DISK FILE INSTEAD OF F}THE ....(CASSETTE FILE.( WELL.....""(NOW COMES THE TRICKEY PART A))(!}YOU MUST SAVE TF}HE MAIN PROGRAM))(!OR GAME ETC. ON DISK. THIS CAN BE))(!DONE BY FIRST LOADING THE PROGRAM&&(IN USING THE CASSETTF}E RECORDER''(HITTING SYSTEM RESET AND SAVING*$(THE PROGRAM UNDER IT'S NAME.'(*())(!NOW THE HARD PART. FIND WHF}ERE THE%%(PROGRAM OPENS UP THE CASSETTE..(&RECORDER FOR A READ. THIS WILL USUALLY%"(LOOK SOMETHING LIKE THIS..F}%(p(OPEN #2,4,0, C:u(z''(THE 4 TELLS THE IO TO READ DATA))(!THE C TELLS THE IO TO GET IT FROM(THE F } RECORDER. A**("}RUNNING THE PROGRAM & USING THE&&(BREAK KEY WILL HELP LOCATE THE(OPEN STAF }TEMENT ((%%(IF YOU HAVEN'T GUESSED BY NOWF,($WHAT YOU HAVE TO DO IS CHANGE THE C:F(IN THE OPEN STATEMENT-F }-(%TO YOUR NEW DISK DATA FILE NAMED#( ( (****  ****#($$(TO LOOK SOMETHING LIKE THIS:( OPENF } #2,4,0,''(Χ FORGET THE QUOTES & COLONX((( RESAVE YOUR PROGRAM AND.........b Al;( ( ((((F }(((!($('(5(  8(;(q++(#YOUR MAIN PROGRAM WILL NOW READ THEr(DATA FROM YOUR DISK.(s!(JUST LIF}KE THE BIG BOYS!(v++(#YOU NOW HAVE A COMPLETELY CONVERTED,,($CASSETTE TO DISK PROGRAM ,DATA FILES<(AND ALL ....F}... Q.E.D.1ApAq`<@DATAXFERBY. PAT MCCABEFEB 1982FOR THE EXCLUSIVE USE BY F}M.A.C.E. MEMBERS ONLY ALL RIGHTES RESERVED ooӠ̠͠ϠĠ ԠԠANYF}ŠŮ ͠ҠŠGIVE YOU ANY IDEAS !!!!! D:DATAXFER@ @! @% +D^JKHEXCHARHEXBYTEHEXNUMSECTRWTEMPDFORMBYTSECNUTEMPMEMCHARMEMHEXqDDJ}AAaB&! A @i @ zz Ezz $$DISKPEEK: DAVID YOUNG 11/10/8170@J}@70@@@;@,;@,(;A,;@h,2;@,;@,<J}*(>:A%,*(WAIT A FEW SECONDS...F A0 A pP A`#@Z0123456789ABCDEFd&"&@J}@Kn 6.Hx5(>:A%,2( DISKPEEK BY DAVID YOUNG5(**("This is a disk utility for viewinJ}g((( individual sectors of a disk. It))(!reads the sector specified by the++(#user and then displays its contentsJ}++(#as a matrix of hex bytes or ATASCII( characters.(,,($The sector number can be specifed in--(%decimal J}('361') or hex ('$169'). Type))(!RETURN to toggle from one display(format to the other.1-@@ #(>:J}AV,1(Sector #B:,A 4C6.H Ap 6.C Ap A07 AJ}# )!A - AP7 A0" 6-,# A"@# Ap6 A0@J***PRINT ERJ}ROR MESSAGE***T^O-@@L(>:AV,>:AV,>:AV,NOT LEGAL NUMBER!O$hr****?HEX BYTE J}****| A0($*** HEX CONVERSION ***" 6-"6-P:'@,%@67@<@J},.7<,''6-+&+&@,$@,%@67@<@,.7<, 6- $*** NUMBER CONVERSIOJ}N ***0 A0&7@<@,0$0 A 6.7@,B:,"@*67@,.7@,R67J }@<@,.7@<@,z67@<@,.7@<@,67@<@,.0lB:,"@*67@J!},.7@,R67@<@,.7@<@,l67@<@,.00&EB:,"@*67@,.7@,J"}E67@<@,.0000Y#@:7@<@,,!@dY67@<@,.>:@:7@<@,,&@,:Y#@:7J#}@<@,,!@dY67@<@,.>:@:7@<@,,&@,DY#@:7@<@,,!@dY67@J$}<@,.>:@:7@<@,,&@,NY#@:7@<@,,!@dY67@<@,.>:@:7@<@,,&J%}@,X6-+@:7@<@,,&@H,%@$+@:7@<@,,&@H,%AV$+@:7@<@,,&@HJ&},%A@$+@:7@<@,,&@H,b B$l A06-A:, Av$ AP6-6@$ AJ'}*** DISK READ/WRITE ***: #A!-@@h%"367<,.>:,7 :$##104,104,104,201,83,1J(}69,82,1442,169,87,72,169,0,72,1691,72,169,0,72,169,128,72169,6,72,72,104,104,141,53,104,141,4,3,104,1J)}04,1411,3,104,104,141,2,3,104141,11,3,104,141,10,3,32 83,228,173,3,3,133,212,1690,133,213,96 J*}*** DISPLAY SECTOR *** !6-P:'AV,!(>:A%,*( SECTOR # =4 ( ($ Ap>6-&AV$PJ+}:'AV,H Ap()R 4H Ap\"6-?:C:,<A6%A(,"$f"6-?:C:,<A6%A(,"$pJ,}z***REA.SECTOR ***6-?:C:,<@<,"@A P-@@(CAN'TREA.SECTOR J-}!$ *** DISPLAY MEM IN HEX ***;A",: #A!-@A"%"367<,.>:,7 J.}:$%%104,104,133,229,104,133,228,1690,72,104,72,16,7,169,155""32,164,246,104,96,169,155,32 164,246,104,72,7J/}4,74,74,74201,10,48,2,105,6,105,48$!!32,164,246,104,72,41,15,201.10,48,2,105,6,105,48,328##164,246,169,32,32J0},164,246,169B""32,32,164,246,104,72,168,177L228,74,74,74,74,201,10,48V2,105,6,105,48,32,164,246`""104,72,168,J1}177,228,41,15,201j10,48,2,105,6,105,48,32t##164,246,169,32,32,164,246,104~24,105,1,72,41,7,208,204 240,144J2}((*** DISPLAY MEM IN CHAR FORMAT ***;A",: #A !-@A"%"367<,.>:,7 :$J3}%%104,104,133,229,104,133,228,1690,72,104,72,16,7,169,155""32,164,246,104,96,169,155,32 164,246,104,72,74,J4}74,74,74201,10,48,2,105,6,105,48!!32,164,246,104,72,41,15,20110,48,2,105,6,105,48,32 ##164,246,169,32,32,1J5}64,246,169!!32,32,164,246,169,1,141,254""2,104,72,168,177,228,201,155( 208,11,169,0,141,154,2,1692""219,133,93J6},169,31,32,164,246<!!169,32,32,164,246,169,32,32F!!164,246,169,0,141,254,2,104P24,105,1,72,41,7,208,204Z 240,1J7}44 D:DISKPEEKHEXBYTEHEXNUMSECTRWTEMPDFORMBYTSECNUTEMPMEMCHARMEMHEXqDDH HASMV@@@@ N9} ŠȠŠ MEMORY DUMP/DISSEMBLER#BY ROBERT W. BAKER(#N:}#15 WINDSOR DR. ATCO,NJ. 080042V1.0 1/4/81F +AR@P60 >:A%, ͠Š͠ϠҠ٠Ġՠ͠N;}Р 3(6(Z INITIALIZING.....d11;@,;@,;@,;A6,n6.0123456789ABCDEFx6. N<}""@@K-@A1@"77@<@,4*767@<@,.*N=}?*) 6-B:, @)67%@,.67<%@,. 93 >:A%, M E M O R Y D U M P 6(9N>}()& ENTER DECIMAL STARTING ADDRESS) )& OR HEX ADDRESS PRECEDED BY '$') AR4AN?}$$7@<@,4$A -@B:,##7<,20)7<,39A- #6-P:A:,'@,$@N@}- A@&6-&B:, @A-@B:,7<,20A27<,/9(6-$@%NA}A:7<,,2 A ##7<,2A)7<,3FA##6-$@%@:7<,,&@U $($(WANT DISSASSEMBLY NB} Y/N ?0)@6-0"@xAE#6-@#@A@ (>:,$($(WANT PRINTED CNC}OPY Y/N ?@6-)@8"@x.@@E8 A@ND}AU.6-@.@@P"'" >:A%,' A';0(>:A%,PRESS ANY KEY NE}TO STOP PRINTER; @,(@ LOC-DEC/HEX .?"5(@ ? A1))NF}(@ 6(@@AdAUJ#"#-@@ T!BU56NG}-&BU6^ 6.=:,6-B:,h**(@7@<@&, r 6- A P|(@: "NH}A 6-F:, A(@ <6-%@)6-+@$,%@<6.7<%@,N7@NI}<@,40D @ 7@<@,N A0 6-F:, A!(@ !6-%@$$NJ}7@<@,42A--(@ 7@<@, $$7@<@,0RAp!A'NK}6-&AV 6-% A  AA7@<@,4#-(@#$7 AA A,7@NL}<@,4),(@((@$ A$$7@<@,4 A87@<@,4Y)NM}.(@),Y8 A0/%(@,7@<@,/ A0* 6-6-F:, A*6-%@++(@NN} 7@<@, 6-%+AV$,O7@<@,4),(@(6 A E(@)ONO} A0  A $$7@<@,4 A/%(@,7@<@,/ A0N(@ A0NP}X -@@ 6-F:,b A(@ l 6-%@  (@v"  ANQ} F:Ad,"AUA@)@AR@(,,(#ONTINUE, ESTART, OR TOP C/R/S ?$)@NR}$"@gA"@A@A .AR @+@.(NS}@$6-P:'AV, A6-&+$AV,&6-P:'@,&6-&+$@,==(@7%@NT}<%@,7%@<%@,$(#''0BRK,1ORAX),0*,0*,0*,1ORA,1ASL,0*2#((0PHP,1ORA#,0ASL,0*,0*,2ORA,2ASL,0*:@',M3rT16 b A;A,<6-F:A`,%AVRc}$F:Aa,b6-F:%@,%AV$F:%@,2-@96.267@,.S0192E'-%%%@@Rd}$A@@A67B:,%@,.>:F:,,E (3 --- TEST DRAWING --- +@Re}@M-Au@(6-G:,16-E:,M-@uADAiN#,%@u$@u%@u$CRf}/&@u$@u&@u$G K N$D:SCRNDMP8.NECBc?qVCacII** GRAPHICS 8 PROGRAM TO DP@䙃!"JFG3l ? `HH` `HH` 7H6HVh}}ɜ`3l ? `HH` `HH` 7H6HT*)* * DUMPAAADTEXTTXTLONGTYABLANKTYPhhg@@B@3Bch@Zj} dd $$-ԠРӛ$$-$$-Zk}($$-2$$-ߛ<$$-éӠĮF$$-Zl}P$$-ߛZ$$-d##Zm}n##x##󮠛####Zn}##󮠠####Zo}##٠##򠠠####Zp}##堠##¯Ƞ####Zq}####堛##Zr}堛"##堠,##宛6##@##Zs}J##򠠠T##堠^##ᠦZt}h##r##䮠|####Zu}llTHE TEXT-PLOT ROUTINE IS CALLED AS> X=USR(ADR(TXTLONG$) ,MOVCD,COLOR,WDTH,HTZv},Y,X,C##-----------------------------jj IS A CODE WHICH DETERMINES HOW MUCH OF THE CHZw}ARACTER IS DISPLAYED.mmIF 0 THEN ALL OF IT IS SHOWN. IF IT IS 1 3 5 OR 7 THEN THE LEFTMOST COLUMN IS DEZx}LETED.ZZIF IT IS 2 3 6 OR 7 THEN THE TOP ROW OF EACH CHARACTER IS DELETED.BBIF IT IS 4 5 6 OR 7 THEZy}N THE BOTTOM ROW IS DELETED.ppTHIS IS USEFULL FOR LABELLING GRAPHS AND FOR PUTTING MORE TEXT OZz}N THE SCREEN THAN NORMALeeA PARTICULAR USE IS FOR LARGE CHARACTERS DESIRED NEAR THE EDGE OF THE SCREEN.Z{}XX THIS VARIABLE REFERS TO THE COLOR REGISTER IN 4 COLOR MODES.==THE NUMBER IS THE SAME ASZ|} THE SETCOLOR COMMAND.@@THE VALUES ARE NOT THE SAME AS THE COLOR STATEMENT.??FOR GR. MODES 4 AND 6 THEZ}} VALUE IS IMMATERIALnnFOR GR. MODE 8 A VALUE OF 3 PRODUCES WHITE LETTERING.1 OR 2 PRODUCE CZ~}OLOR ARTIFACTING.&llTHE ARTIFACTED COLOR WILL DEPEND ON WHETHER THE X COORDINATE IS ODD OR EVEN.Z}0@@HIGHER COLOR NUMBERS WILL PRODUCE ODD RESULTS.:ccFOR GTIA MODE 9 THE COLOR VALUE SELECTS THEZ} LUMINANCE OF THE CHARACTER.D\\FOR GTIA MODE 11 THE COLOR VALUE SELECTS THE HUE OF THE CHARAZ}CTER.NiiFOR GTIA MODE 10 THE COLOR VALUE MAY HAVE VALUES OF 4 5 6 7 12 13 14 AND 15 ONLY.XWWTHIS IS BZ}ECAUSE ONLY 9 TOTAL COLORS ARE AVAILABLE IN THIS MODE.bl^^ THIS VARIABLE DETERMINES THEZ} WIDTH OF THE CHARACTER AS MULTIPLE ...v99OF THE NORMAL WIDTH PRODUCED IN THAT MODE.eeIN GR. MODE 8 TZ}HE NORMAL SIZE IS THE SAME AS GR. MODE 0 IF YOU CHOOSE COLOR 3.<<IT IS THE SAME AS GR.1 IF CZ}OLOR IS 1 OR 2.ii IS THE HEIGHT OF THE CHARACTER IN MULTIPLES OF THE STANDARD FOR THAT MODEZ}.ii IS THE ROW NUMBER. IT CORESPONDS TO THE VERTICAL PLOT POSITION IN BASIC.ppZ} REFERS TO THE COLUMN NUMBER. IT CORRESPONDS DIRECTLY TO THE BASIC 'POSITION' FOR THAT MODEdd AND TOGETHZ}ER SPECIFY THE UPPER LEFT CORNER OF THE CHARACTER CREATED.FF IS THE ASCII VALUE FOR THE Z} CHARACTER. EXMPLE: "A"=65;A, cc67@,.PW(JJhhhhh  Eԅ Z}hhhh֥X˥Y̭hhͪecc67@,.P˥ihh  &  &ՅޠۥZ} cc67Aa,.Pi ۥ 8ۅe˅˥i̠߄8f߈8ޅޠ۩E߅hhɀ8*cc67AA,.PZ}υх i@ͥ `8 ͥͅѢͥeхͥi ۊ4cc67A!,.PEϤ   ՄZ}ք٠Ȅr &WH%ԅ∱%ߑ˄ &>cc67A,.PHEh%E˩HehZ}hք٠(НՄH2267A,.e˥ï`R;;(3TYPE OF PRINTER.1=CENTRONICS 2=EPSON Z} 3=C.ITOH\f[ +@$'0@A0@[0@@p @zZ}K,@@'/A@&9/AAuK/@@FF6-?:C:,<<@<@<@<@Z}<@<@:I,,FF6-?:C:,<<@<@<@<@<@<@:T,,FF6-?:C:,<<@<@Z}<@<@<@1<@: ,,FF6-?:C:,<@<@<@<@<@<@9<@:G,,FF6-?:C:,<Z}<@<@<@<@<@V<@:E,,FF6-?:C:,<<@<@<@<@<@<@:T,,FF6Z}-?:C:,<@<@<@<@<@<A<@:S,,FF6-?:C:,<<@<@<@<@<APZ}<@: ,,FF6-?:C:,<@<@<@<@<@<AV<@:B,,FF6-?:C:,<<@<@<@:,+Z} 6. 67A,. +67@,.HHABLANK$ SIMPLY PLACES THE DUMP IN THE MIDDLE OF THE PAGE7@Z}6.(67A,.767@,./@/67@r<@r,.>:,CCTHIS LINE ALTERS THE PROGRAM FOZ}R NON CENTRONICS TYPE PRINTERS/"@/67@7<@7,.>:@B,/"@/67@d<@d,.>:@,Z}EETHE PRECEDING 2 LINES ALTER THE PROGRAM FOR EPSON TYPE PRINTERS A%%6-F:@,%AV$F:@,&&FZ}IND THE START OF DISPLAY MEMORY2"@23>:@',>:@7,>:@H,((INITIALIZE CENTRONICS FOR GRAPHICS 2Z}"@23>:@',>:@e,>:@, SET EPSON TO 6 PIN SPACING""@"3>:@',T12(!!SET C.IZ}TOH TO 6 PIN SPACING2-@@2<6-?:C:,:@',S0420n..INITIALIZE AND PRINT GRAPHICS FORZ} C.ITOHxA"@A3>:@',>:@u,>:Ad,>:@,--INITIALIZE AND PRINT GRAPHICS FOR EPSON6-Z}%A@))INCREMENT POINTER TO DISPLAY MEMORY 2"@23>:@',>:@,>:AU, RESET CENTROZ}NICS TO NORMAL2"@23>:@',>:@P,>:AU,RESET EPSON TO NORMALW"@W3>:@',>:@bZ},>:@,>:@I,>:@T,>:AU,RESET C.ITOH TO NORMAL AD:SCRNPRNT.BASXu9: LINE1LINE2LINE3LINE4ADISKNOCARTRIDGECONTENTSN@^} -  K A+1AR@C@@dUB7t@d^}g-@y( ̠Ҡ6-0@@;-@@;(!PRESS Ԡ FOR MAIL^}ING LABELSn-@@8(PRESS Ԡ FOR DISK LABELSJ-@@n(PRESS Π FOR INSTRUCTIONS(B^}-@!B((٠͠ҮҠ٠2"F:B2y,"@" @<"F:B2y,"@" A^}F"F:B2y,"@" AP @PZ: (}-@0(ǠӠ: AdUAR^}";@0,4-@@?(LINE 1Q-@@UnC;@0,"-@@ -(LINE 2?-@^}@CxC;@0,"-@@-(LINE 3?-@@CC;@0,"-@@-(LINE 4?^}-@@C9@,6-Bd A-@@ H($ENTER NUMBER OF LABELS TO BE PRINTEDL^}X"d6-@"BAPi AAR@-6-%@?-@@i(SELECTED AM^}OUNT:  ON LABEL # # A3333 3#3 " % Ap- (}-@-( ˠ^}Ӡ1-@'( ˠӠ1 Ae-@@?(%DISK NO. OR TITLEQ-@ ^}@e(8AR";@,4-@@8T;@0,"-@@ >(^}CARTRIDGE-AUTORUN SYS. P-@@TV;@0,"-@@4( DISK CONTENTSF-@@JV6-^}p;@,"-@N(' DO YOU WISH A LABEL FOR A BACKUP DISK?X((Y/N)\d4Np6-@O ^}AP3>:@,3#3'343>:@,A3>:@,O6-%@""@%, A6@ (}AR^}@--@@(Ӡ@M-@@M(3LOAD PRINTER WITH 3.5IN X 15/16IN ONE ACROSS LABELSJZ^}-@@3(MAKE SURE INTERFACE IS ONZ("MAKE SURE PRINTER IS ON AND ONLINET`-@@6(DON'T TYPE INT^}O WHITE BORDER`(%OR YOU WILL BE PRINTING OFF THE LABEL^a-@@>($IF YOU'VE MADE A MISTAKE AND WANT TOa(ST^}OP THE PRINTER PRESS Ԡh^-@@<("IF YOU WANT TO RESTART THE PROGRAM^(TYPE 'RUN' AND PRESS Πr^}:-@@ :( TO RETURN TO MENU PRESS Π|F:B2y,"@% AD-@D(*^}ǠϠŠҽϠǠ;-@(1-@5@;(;-@(^}1-@5@;(;-@ (1-@5@ ;(;-@(1-^}@5@;(;-@(1-@5@;(;-@(1-@5^}@;(;-@(1-@5@;(;-@(1-@5@^};(E-@B((E$jF:A,"A8)(>:AS,};-@^}@I( Error-138j(Check printer and interface.c'(Make sure they are both online.E(I'll try to hang onto^} thec(information you typed in. (Press to continue!,F:B2y,"@" B, A A0&^}jF:A,"A8)(>:AS,};-@@I( Error-138j(Check printer and interface.0c'(Make sure the^}y are both online.E(I'll try to hang onto thec(information you typed in.: (Press to continue!D,F:B2y^},"@" B, AN AX"F:A,"@" Ab B AP D2:LABELS\u