ML}  X c0C)HCCH Mhhݩh `eCDiCD`  RyHW   * 1H0芢@) Y0.Ș`i#(PMRR\ \b Pgi 0  % @ / ՠ`d   0DDԝLH}N@  )?HI Y0`HIJH) * J j * hJJJ )HJ h i     } YS S0 i`ϣ큅쀄H J3xj2h} 1 |9 ӭ45(420 * (0241өX.`  R *i)Lvw  ~*P}E 5 LN(G E  r s k rsrL ( E LO(0d( L iE0O +)$IC  H S8 }q p h   j 8no CDLQ CFl M  LO Ri)Llk2'")*F }$F$F$F$F$ 5 )ШF/Șl]kpqС,LQ/A! Ti)Zlk@ ܬ/i)(")")k }$F$F$F 5$/L /lF@jj(LNkle$$%8(k()` R 8 ELO Ri)^>jf | NrC s } ) vw5g   enfo Glvw LQ@iLm>j FL ~Jjjjii p qEh }jlrs`LQ:$ȱ$@+[_#{ 8  Խut! ai 8   E I   ] C } H h    ˰ 8  N   Lm E  ,  [ `LQ ,/ 8 ~/  Ơ? ѩ}/  [ /Lj0?MoLn FjMqLp NklLOLQnLoMlNLO R"(+}ըHH`Q R!!  % !   / .   FȑF! /GF \H"+0+* }! F tLQnm: J~nTF1F  *n+)5! n (, n)1JJJn(n*o} I ,0  ci a oF? @ , 8,0 ʩ0H Eh   i}  D ]DmmFLQvtu`*&!*@h ] 0 ^0` c 0l$$%}()()%*&J%H,@hH hH@,h $% 8i8$(%)0hhH ]h`() c 0H c 0 h}`hhh&JJ ](ll  LQ0  /qnoHH 9 9 H H  I9  9 } Nd EH  Q8 o n  FnoL HII/ Ih8`h`Lnon`no`u F }E VEhLO/luF l0BF/lɜɛ׽hE N  b VFL FREE SECTORS C} H) *Fh ):FȽ F FC IH' 0 d  i:Fȩ/F.l`CD/08HDIC}IHȰ/F`ȱ$>.+.i ȱ$:刄H !A \ Hȱ$*?ȝ 2. ? [_{ ,0}-:) 0$:>WI  IТ,LQH  0hLd ~ t u`C ?( 0(C.` E } R =! .ti S0N EE D XC )0')AY  )ע ? 0E088FG \o}n  (HhLcL3 iJ i Lqp 0=rspnqopqlk`jZj0  j FL`H}FhȑFȽlFi0 h FFLFpvqwgneofLF pq7  G0i 0 FJJh1FqȱFpȱFk`B!}08`hEE D 8. =D}tui( TʩL`b!)    cȌaȌd b`aab}H8 hdaHcd8 cH hHH  \h hc` =Hh I8ih( t  ( t(!` L\}CJfCJfCJfCDfC` a  HII  INdh  `h  `n)8jHniPoijIjFIjFIjh` a } I 38  8H0 I  ' H LQ8j Y  8j NdY  &I &I &IHeH.p!}Iiq  `!.莿 2Jjj }.m Ȉ!m FG` ɩLQ z "} e Hi04 \ Ȍ  8 i h !`I0 `C Y8.`DOS SYS#} I  ` ~ݩ.C/`ba.m۩mѤC9 `C L] H  ,- '0 l $}, BLVDE`D1:AUTORUN.SYS8hhJ ȱHȱIȱBȱDȱEeeHHLV)  %}1*  ,,p-  0 I &  '0   Lw)l, 0  I&LD1:MEM.SAV&}E:D1:DUP.SYSE:D1:DUP.SYSE:D1:DUP.}J)1CD1:DOS.SYS n  * \*`آ R'S )ɀ@  U))% BError lo(}ading MEM.SAV or memory!  0* b*c*d*e* R Hd*JSDd*J-=e* 0c*ʈд =}MYDOS 4)}.50 -- Copyright 1988,˛Disks 1S- 8R D: = D8: ~= =1-8.Dir of D1:-D8: *. Dir of D:A. *}Disk Directory K. Save MemoryB. Run Cartridge L. Load MemoryC. Copy File(s) M. Run at AddressD. Delete File(s) N. L+}oad MEM.SAVE. Rename File(s) O. Change Config.F. Lock File(s) P. Set DensityG. Unlock File(s) Q. Make DirectoryH. Wr,}ite DOS Files R. Pick DirectoryI. Initialize Disk S. Set RAMdisk #J. Duplicate Disk V. Set Verify Flag  ?莼-}( 0  =Select Item ( for menu):@  =ɛL)1L,*L,:W@ ,,L=No such item!.}L*, -L*, BNeed new file name! BNo drive or director0}ies allowed in new name!Lock Unlock Delete Lock which file?â-#Unlock which file?ɢ-$((H @ AQ/wDel1}ete what file?Ѣ-!((H @ ANJ =Answer 'Y' or 'N'h `B L?;(( ~=( ~= =? =Y ?Lj.H @ AhR ?2}R)L*,LM/L-Lz-File to rename, new name? @ A(9', ȱ:>0{ ПFull directory name?Z"L.Dire3}ctory to be used as 'D:'? @ A(5)L.(I: ȱޝL*, BInvalid directory!L?( 4}(0Li-File source, destination? '( @C۩2ڭ82ܭC B9'0 @(ߍeލd(DЍ( ? 9'5} A rBȱޙ':>Ȍ(C0J* .B :'ȱ/.* #,ɛȝ:' ߰ A L?,(0L*, '6}ut(:'3?&' .'Ƚ:'?&'  .ى'Q?''(#( ~= =-->' ~=7}Q =YR_o (J(  0?B݌''BK)`''utz0( >(L0L*,L?nDisk to FORMAT:8} YA B(UTލ1 =(Press for Enhanced Dns)Type to Format Drive 1: =AIYZNj[R VL9}?L*,D1:DUP.SYSDrive to write DOS files to? YAH1:*K)2J) Z wB hpJ) 2<2U:}TC٩1ة۩کL;Source, Destination (Sectors)? YA)((9'( SA)((((( @(0% =Inser;}t both disks, type = A( A((/( B(( BDrives not compatible!J(j(9'Hi''<}h(ɛy BInvalid options! @-&& @)׍&&(&&&۩ک&&&&8* <4&&&& <4=}8*8(ܭ(ݥ2C, BNot enough memory! ک&&`(Mh  & =L?&i &>}&&&mm   =  &((&թԥԍ(Ս(((( ( ((C2((?}ՠԍ((,(0"( (( =m(m( & &("L*,  ( AL4,(, =Insert DES@}TINATION disk, press =Nͼ J) b( 0K) ?((ԭ(խ( ( (((L4Drive, new density:A} YA9'ɛ BDrive unchanged.(ު90٨Ȍ(SD  ABL)xԌҭHӭ@ @ ʎӆ@B}ӭ@@ :  $ӹ @hөԥX` Aˠ =RAM disk present? =NL#8 =xlC}on or E type RAMdisk? =Aό  L   M A, A6: ' =No extra memory available!L#8L7 & & D}& =Use default config for 0)ȩ ~= =K? =NL7 =Size(K)? ? @FjFjFjFj: =Page seqE}uence? ? @o* =RAM disk drive no? = 09) `8 -8**H***) 9 Ȋ)h9 @@ʊ F}H'h(#''/'(ɛ ? @(@: 3 ʽ' L7 =Duplicated sequence number!L7 =Wrong numbG}er of entries!L7K큅쀄 =Verify WRITEs? ; =NumberH} of File Buffers? ? @  6 Lw),R( ';L*,Drive number or : =ɛLC99L60Ȍ( =Remove I}drive? =Y =Is drive configurable? =YЂ =High capacity drive? =Yy =Is drive double sided? =Y ; =TracksJ}/side? ? @#0M P( ; =Step rate? =4/ ; ';L*, =Drive size (in sectors)? ? @H(K}h *;L*,RAM disk drive no? 8L*,Verify WRITEs? ;L*, =WNPy`(`(  LABSAVE:filename,start,end(,init(L},run)) @TUH @Cp` 2< @؆8օڊ BInvalid START-END range!۩ @  @M} hԄՠAμȌZ wB04*  0$ڍXۍY֍T׍U,0LBLB #CL?ֆ׌`Load MEM.SAV from whaN}t file? 0#L*,L?Load from what file?) @TU&̩Z wB &0&-&а&𨭼INIZ'O}RV0II BNO CARTRIDGE!Ԇխ  )L?Run from what address? ?ɛ @P} BAddress must be 1-4 hex digits! BHILV n=`hh =HH` =0{a Hɛ n= n=h` nQ}=L*, = = pHH =hh`K: p `(((( i ɀ((L?(`(B'(0!HH''^R}>I^>(`^>DH(` (HI`(o5 ~= =( B( >@A (J wB0x((HHIIDDES}E B ?(CɈK(٢A ~= =( BL>(B^>((ڤ ܝHݝI VL_>L?(" B !B J) T} B(L& R XY( ?&:0H&((& ( .( & ( .(ʩ(U}`ލD&ߍEBIʎH( V0`ԩ ؠ@ȱ@ȱ)@ BError -- 128&`$8f 3AԄձG/ V}$<68i/(Ԧ`H&եԦ&&eԅheԅԊe(iL*@&&&&ԅL*@B ? 3A?*(ɛ:W}./2SX(0ȱ/.ɛ(ލ9'ި0#:Ȱ :ފ :ȱ: : CAD CAޥX}`(eޅީe߅`(` @L\A @TUȪ: BFile name not allowed!: )  i( =0+L Y}TUD BNot a disk file!(0` =Insert SOURCE disk, press =,(pӮ(A(O  1B AB1BZ} ` % 1(L/ b(de BJKO L?O` B((*(([}(`ȱޙ((:>Ȍ(`D:`OS.SYS,DOS.SYShh =L*,  VLJ C C,pLiLF#Խ٩Յ׆ \} LB`((:>Ȍ(`D:`OS.SYS,DOS.SYShh =L*,  VLJ C C,pLiLF#Խ٩Յ׆  )6^^<s3>00x|73>00x`c6<9c` 33c366fffg~33>00xgfffff<^}11111{!!\]_\ED!EOHI B V`}   _} TURBO-BASIC XL 1.5 (c) 1985 Frank Ostrowski!  ӥL]""$$ (p`}%J[WܠjeC /D%Zub2gTSt$8®݊Ò2% 5Ra}Ţtd.’$3@X7t5w5$?## $#L+D:*.*S:C:P:$#.#) `:#(6ENeU\l؏&/ؕ؄sأ$b}LENeU\lأ$8آǔƐƉƐƇ4cY%٦rULۉCۄړp^gyض%iwܸJڅ*ܣ$ڭڞجئأأc}$ ,(""(222000000..222222222222222222222222222222**22*22(222(2222222222 ,(""(d}0000000--**2*(22(2222222 V`hh@,lHH$HHHHHHӍl"e}H$HHl $`GHFH\` ` 4ӭ l 4Lq ӠԪӅԆL} Ӡ L( f}) ` b% +L:#HH 0 HHLj%ӥHlL{ee 8eeeg}eӦee褢%ƚƜ`88夅奅8h}夕奕Ӡȱȱȱ㦢`L+`8` .E)))8@8e0 i}*څۅ܅݅ޅ߄ԠF0y"ޥy"ݥy"ܥy"ۥy"ڥy"و0ǠF0y"ݥy"ܥy"ۥy"ڥy"٥y"؈j}0ǠF0y"ܥy"ۥy"ڥy"٥y"إy"׈0ǠF0y"ۥy"ڥy"٥y"إy"ץy"ֈ0k}ǠF0y"ڥy"٥y"إy"ץy"֥y"Ո0L-`8`E)))8i@0 *ڄԠl}"("!""" "L**""""""&О"("!""m}" "L**""""""&О"("!""" "L**n}""""""&О"("!""" "L**""""o}""&О"("!""" "L**""""""&Оdp}"("!""" "L**""""""&ОL-6"e"q}"e""e""e""e""i""}"""}"""}"""}"""}"""}""ǭ"m"""m"r}""m"""m"""m"""m"""}"""}"""}"""}"""}"""}""ǥՅօׅ؅مԅՅօs}ׅ؅`` ` ` `80 `ԥՅ +.JJJJ)iFiFi1FicFi'ȐȦoFiUt}ȐFiiFi#iFiGi Fii@F iiFiiciՊFigi'iՊօשBL-`Iu}))83Ԥԥդե֤֥פץؤإ٤L,K6"ХL--L--L-v}-E0:e٥eإeץe֥eՐ؅٥ׅإօץՅ֩L-8٥إץ֥հ'I8w}م٘؅ؘׅטօ֘ՅL-ؤm\G0Q@Ն֩م؅2եمֆשم"ե؅֥م׆ةեׅ֥x}؅ץم؆لԘ)q +` . |. &7i |. ,%!L?.`刱䈱㈱∱y}ሱ`ԅՅօׅ؅م`ԍՍ֍׍؍ٍ`ԍՍ֍׍؍ٍ`L.L. Խսֽz}׽ؽ` L%/`ӽޕ &ԅ)@إ)JJJe)e - M{} 1. &Je0F 2 . /L(8`@ԠՈքׄ؄` . |. , . . |. , #/L(8`0 I@ԥ)|} 2f / . & r 1. #/ &?P , .Iiԩ +)ԅ ,ӽޕL(`8`$}})Ԧ61718191:1;1 (ť)8@0$Յ)e)e -F . / , . &1 1.~} #/ &F I`U9>`D'RFuCU?b9dYdg@W2@?tS)%)@0)%ԅԢ / . &G } 1.Ӱ6 #/ &.ӽߕ ,ԅԥ B1 (`8``0?i? . . / , #/ &ԍՍ}֍׍؍ٍ . . ( / , O2 / ,0 .JeF 2`L+) .e٥eإeץe֥e}Պi؊؅٥ׅإօץՅֆե1ԥ'JffffJffffJffffJffffم`ԩ&&&&*&&&&*&&&&*&}&&&*`Pi`)JJJeԅԘ)Peԅ`եԆ8@EB)JJJeԅԥ)PeԅԘ)3eԅԽ3eՅ՘)JJJ}3}}3`)JJJeԅԥ)PeԅԹ3eԅԹ3eՅդЧ` 0@P`'Nu pX@(#d,X L(  兢}0襙 bɥ⥋㩀 50ɥ0DȱȱȄ   ik#ZMkVgğe拰ㅋ}⅊0 eee拰 L f5дƨħ 4LY4 f5К,樥ŧH 4h h5L4樤ܱ.* O %30}  5Ԅ +(fԤԈ`ř嚰Ԥ`ڥۥड़0-԰eڅڐۈ0eeL+58` }O#`,#5  6`]5 6DE 68DHEIHI V0$ 6Sл B} V,# 6` $#LllBHI V0HH V0Ԩh``{a$%Ȏ$$xө$Ѝ$ `} `@X a Ӆʢ ʎD  _ɠ %` ɩHH `өL: g% D}:AUTORUN.BASөjJHH`ՠԢӱԙ!ӹ!`֝DEIHB V0Y|ڝDa۝E}օܥׅݥܝHݝI V0+Ӡڑڑ0`l `  䅠 _ɠԐ}e拢 &L &Lħ © ¥4 䥝ň剰' k ɀ8@4= LY ĩ`OJ ]J?L} KԪȱLRHHצ R, hhLRHHHHHH /0ȑȑޠhhhhh}h`HHHHHHHHHH $H bɐhȥLHhhhhLň剰)}i桰` )``L(兢ħ #$ x Hҩ h$襚ҥ ԝ`} UV #T` ` `,H ¥ȍ` JKhLŢ  #)I L ¤Ȣ`L¦ ¦ Lĩ} ½J*K+ $LąLĩ …L~ …`H Ġh é`,H hH Ġ  ĭ 8}}} L n [h`LkL © 8倝偝 Ġ  ĥ󥃅  Lĩ LH} éLH#h ĩ`H hKJ L+ , H hHHħ s hKhJ  Lĩ# qL } ŘL ũ& QŽLM " ĽNL  ĥԝL՝M  ĥԝN%LV  ¤ħ` Ťħ` ƪ Ċ }Ťħ` ¢`届 x݅ L ĽCӠɀ L]Ɉ L] Ln LŠI}HEDBL$HH hh +L `ħ LĢl ¦`YDAER ԅՅ֦}󅗄`L+ ¢p 0 Hp hɈL` ,#,$,!Lé ,H ĥDEԝH՝Ih L}©L $`L© , k ĩԅ  + ĥ 夨ħ`2ƪƪ ! A!Ƚa!Ƚ!Ƚ!Ƚ!Ƚ!}``氤hhL1@$ƪư 0 0 n$P`L+FҐ֥װ綾إٰو LǠFf}ؐ ee&ee* &eeeԪeըee$.ƪ@!Ƚ`!Ƚ!Ƚ!Ƚ!Ƚ!`檦}!!!!`!@!^!` Ȅ 8 n奱 ٥Lǥ֤צưĘ=ŗ78֪א& } eԥe$`L: L ԅՅօׄ 1פ& ٤ţĢԅeՅe8包卅 ]&} 8Ԩժ%אְ`ֆL夨ħ` FҰg8&0ei֥i0Tׅiإi0BJe؅eم0&f}fff&0 &0 eeL+օפإ颎 %8包ԥ卅 L ɥ }ȱъŠe拰8``,ªȱȱI ѝ3ȥLɥHHO]}  ȥe暰Х ȥL+ʅȱhh`Lħ OԪȱԨ``L :0} `L(奷 bɥ󥋅ȱȱȱȄ#鈄0B8eeŶ}ɛ,@LBˤ,ɛ`L?± ˤ樱f Oƨ x݅ + ~ [ˠ O樥0# +  L˥`}LL :ɛ,$PH h $P润䧰 ʐLʦ䧐 +` ʐL3LBˢ}ԝD՝E֝HםI L 兢L]& 兢L% ,L6 ,L6 &L6 (L6妪@!I@!` ؐb`P KW ؐRB ؐ}=;G ؐ4@ ;+ƪƪ@!=A! (ƪƪ@!A! ƪ@! ,@@檦@!`!!!!!!`ƪ@! ǩjҤ} /L.٤ƪƪ@!@!, 舽`!`!!ـ!!٠!!!!!`@!jI*` . ֪ (}ϰ`(8` ֤ׅԄ +҅L: Lyƪ8吪周Ly sũ + ŐL Ly sŠԄ h L}} L}٩    e쪽pLyL( + ڥHJJJJ h) 0:i`  ک; n +ȱ)ȥ%}ݓ Lh ԍՅԄׅ֩өL:ƪ?Ԣ )ɠ )  -L &Lڦ@!)@!` n)8@} -L:` / n)8@I= n)8@/ѩ֔$ሄ ,L: + n 0L8 n} 0L8 n H1L8 n /L8 n /L8 n D/L8 n 1L8LLإL( &)ԥ)8@JjH@}MC)JJJe)e .F / .P . &F . #/ &L.L(HHHHHH /hhhhhh &} Y/hԅL:,` L _ܘ%ᨥ%Ly _ܘᨥLy _ܘEᨥELyٚ<|'g 0L`}!!!!i ` &LإL٥LyɥLzvmZ ƨ!0 4 䦵 ¥ԝD՝E֝Heם}I Lܤį eį L` x݅ƨLLLܤ ©`#ۢ Lĩ_,ߤ} ڄ . eڅԥeۅհ"8څ֥ۅא8ܥݰL۠Q%0ԅإՅ٥ަ0%Q% }L-ե0LޥڤLyمօנ6&֐ eו`L( Hħ hբՅ `ޥԢ `ޥՅ֠}&&֐eܥeېڈ 7 \ 7 j N \ N j$0!ee80å/8ܥ۰uڕ0}eUiV`TUV`8UV`eTi`8TȢ` $L„')Q ȱ8 e}新`8`L齀).Q Ӱȱ8e新 O :L䅫# *$Ŭ} Ʃ HL"䥫ș L` Ml/#樱0ZS'`ȱȱȱȱȱȱȄ`ȱօȘuԩׅu՘e֨҄`}I 屝Ҡȱȱȱȱȱ` n$҅J?eԨe` L 兙 兛 n %3 Ԥ` ҩ,} , , L檤 ٙ!ؙ!י!֙!ՙ`!ԙ@!ә !ҙ!` 䤪ƪ!ٹ!ع!׹!ֹ`!չ@!Թ !ӹ!`ƪ!!}!㹁!a!A!Lp ґȥӑȥԑȥՑȥ֑ȥבȥؑȥّ` ***j)e)e`ʭȅiȅ}iȅȩȩ Lfإ  4  \ +] ¥򄟄}   넨ɛ$0L祔 Z f0#ڠ쩀 ߩ6ei$0 녖چ + !5}ɛȑ @膔7 ɛ 襔!ɛL! _ɩ8$IȢ %e拢 } &!$P* &8孨客 "&$ 1L~ L~ &L _ɰe拢 &L~ +0 %30Ԅ }L 9:枢0 O L :H9Hhh tLHH`h}hLCL馩`ʆLC枢0ְşLC`A枢Ɣ!L!L}!T 򈩛LQLD ijq ߰,iŰD VD8` 覲`8` 넬 S( +饰}0 S0:$$ p8`$p (ȩ@҅ҥ򄬤 ߰ A L8򨢄 %Ӥ򈦬ʽ ʽ % }+HH 屝EҨhh$P0Ƭ 襯I `_A[`8`80 &Ոԅ}` 넬$ +  + h갳 h) + , 褔ԙ!` "8` 襔 ɛ "ȱ"}嫤!`! `) ɛ%)a{)_0:A[_դ`RE͕DATINPUԑCOLOҝLISԖENTEҚLEԛIƜFO}NEXԑGOTϑGO TϑGOSU½TRAАBYŐCONԞCO͟CLOSŐCLҐDEǞDI͐ENĐNEנOPEΖLOAĖSAVŢSTATUӣNOTPOINԡXIϤOΒPOKťPRINԐRAęREA}ĨRESTORŐRETURΩRUΐSTOАPOХGEԫPUԑGRAPHICӒPLOԒPOSITIOΐDOӒDRAWTϓSETCOLOҬLOCATŔSOUNĦLPRINԐCSAVŐCLOAĚERROR- }DPOKœMOVœ-MOVŪ*ƐREPEAԑUNTȊWHILŐWENĐELSŐENDIBPUBGEԒFILLTϐDϐLOOШEXIDIҖLOC˖UNLOC˖RENAMŖDELETőPAUSŖTI}ME$PROøEXEÐENDPROÑFCOLOҪ*̕-RENU͒DEDUMЪTRACTEXԖBLOAĖBRUθGO*’PAINԟCLӔDSOUNCIRCLū%PUԘ%GEԚG}OTGOSUTSTETHEΣ<<>ުNOOANĨ<<>STRCHRUSASVALEADATCOPEESIRNFREXLOCLOSQSGABIN}PADDLSTICPTRISTRIDPEE˦INSTINKEYEXOHEXDEDIFRATIMETIMMOEXERNRANTRUN%%%%GOUINSTERER+,%5}&6(+8,<Xk`fghilm^deDѳHc?,Ќ,е,Y_Ҳ+7,/0}1 2!3"4Ɛ"-"."-؂ٿ֐ː}ĐאŐbj+9,+;,ʐͭ}ͭ@ABC\=>[<+:е<,&%rvnnxc<\}-78s_XV+@D&0d*"'2GJh N}Rl~&2 +饰(+VWZ ]a8`L`  ¤ħ.H h L5 䄡 } 䅭 bɠ04Ů .ŭ%) e拰 ĩ L+Ư0 Le}`毤Hɛ) h`  L ȱ R @ʆ ȱȄ Iğ` :62T F :}7 8 Lbԩ- L 8 8,I ɨ 8L.UH `ƨh $ %3   + \L L 8󅯩" } 8" ©" Ư" L8q :Z#]abj(=) W같  L樤ħ`hh`H YhZ }L<>EO ƹƹ0`H f5h`I&` =? FQA` L񄳱ȱI 䦐}Ħ ąŅ T k /䧰 k ,Ǡ ĩJH ThĥȑĥȑĦʊȑ`HHąŅ}H h hhhh ȱIELZ L`ȱI Hȱȱȱȱȱ }, h @ $L+L.*ȱȱȱȱȱjEE `EjI `e`ħ ¥}0 ` Lk 䦪`! 䧰L A@L `I&`L ©؅ L.}0`STOPPED륺 bɠhhL :ʅ` k %3Hƹ h5h`hbjH h #}ԤLQ #LLei  `LԑȥՑȥ֑ȥבȥؑȥّ``䈥剰}#)iiLɠL4űI&`048ץğ=ȱȄ }`L  L0e拠0ȱȄL  䦪`!' >?L (<ж`!  $Л +`,LőŐ78Ƒ8 Ƒ`8` - PѠ}`,,L L PQ 8,L ȱI ѝߠȱ`ԩ},L E  $EL+L],,,؍ 0âLɀL ©7 F󦹩 RbL g }0g `Ո V fL{Ն + +􅕄L AT LINE?BLOAMEVALU>#VAR$LE?DAT>3276INPUDISTACOVERFLO?LIN?}FOTOO LON?DE?GOSUGARBAG?CHMEͣ?LOA?NES?WHIL?REPEA?D?EXIXPRO?EXE?PRO?IS OPE?DEWR ONLCMNOT OPEΣRD ONLEOT}RUNTIMEOUNA!FRAMCURSO!OVERRUCHKSUDONMODNOT IMPRA͠D?>#FILEDSK FULFATAL I/FILENAMPOINLOCKEDCM>DI}?FILPOIN?APPNBAD SECTORӥHՄ +h & .hԩ + ,҅L: ƪn (@Մ$ 0` 0}` 0LoH - . /h &@Յ՘JJJJ X) 0:i`AVC2 sŠ 5  <)  <} L L + e +e`e`&&&&&&eee` &}&eee&*`` 兙 䦪!0 4 ۄܱ **m ݤܱEۅڦڱ= } ܥeƥiեLN@ ` **)]` 00`` ( ((((((((8}`W)ߥ & &e &߽řِ׼JJJJ&eXޥeYߥ䥛 9 FfЎᰈ } `  M 8*` 兙 󥐅i祣L{ &L}  0 & L ȑ & L; # )ȱ L })ȱ) )ȱ 8ƣŐő0eސ`ƙ8ް`)ȱJJJ`}``=`]``` E߭H Ġ} hL±&Lv`[  ȱ R] } L L  䅠 bɰhhğȱȄ L l"0e拱LjLx`[  ȱ R] h %H k [D:z;@,k(N} TurboDUP ActiveEnter a new time (24hrformat eg. 22375 }4) or,[@(,Π if no change. hhmmss=> _M@W @0[N=(( DIM A$(64):POKE 842, }12:E."D:_:AB@=D4:TURBODUP.ARB _M@W @0[N=(( DIM A$(64):POKE 842, 9esFDNABMXcckxyA!AU } @ AY$6-F:A ,36-F:A,=+G A@Y@kA }}A@A@t&;@,;@,;A!,06.D:`>(Edit? PAY@4]}@d4j6.t @@N @@3B:, @)7@<@,0D96.H67@,.N6.( A2}^(#@@- @`A-AN)@Z(>:,^ <{@6.6.~~~~) }A0F@@P @bAfAt-@@{(F'@(@' @p}PV@@V(} File saved as  RUNENTER >:@4,D:ZZ> A@A %A}1A; B>d=@ A6.$6.367@,.= @Pnx+F:A,"Ap)F:A,"A}t5 A @@]@@c6.n@x @Px_@#F:A,"A0- A0}J@@U@_ @Pg@@2( Ҡ #F:A,P( I am unable to }open ](or g @r@@9'AR9AfKA@d]Ao}AfAFr$D:EDIT@@9'AR9AfKA@d]Ao"CL.:O.#7,4,0,"D:m":F.L=0TO21:I.#7,A$:?A$:N.L:POS.24,2:?PEEK(1803);"";PEEK(1802);"";TIME$;"::":E."D:Zow}  |urboDUP v6.0  D : = D: by john picken  D : = RAMdiskA Directory }N File => BufferB Dev  Dev O Create Data |C E:  Dev P Create String|D Dev  E: (x,y) Q Update D}upSys|E Dev  P: 1=pass R File <= BufferF Read .Doc File S View .Lst FileG Clear/Format D1: T Adjust ColoursH Statu}s/Map D1: U Edit SectorI Read Sectors V Zero SectorsJ Find OS Equate W Control ChrSetK 6502 Instr Set X Ascii t}o IcodeL Bitwise Logic Y Ascii to KcodeM DecHexBin Z Call TurboDUP - 13 Nov 90 -Ascii tvPOKE766,0:?S;"";D;"WRITE TO dd,ds,a$,b$":I.#H,D,S,A$,F$:X$=A$:X$(65)=F$:?"Status ";USR(1102,D,1,ADR(X$),S):E."D:Zii tyܾARSn/67KҢx67XY iԽm!}Y` F@' ",,,E)EԪi hծ ')? !}-з`hӕV*ֈ0 hhhhhjhhhh Thh|h{hh Lg ')? kCL.:POKEQ,0:?"}D";PEEK(1803);":*.*":I.#H,F$:O.#7,6,0,F$:REP.:F=F+1:I.#7,A$:?A$,:U.A$>"/":?" Total entries ";F-1:E."D:Z)? $y?:?:?:?:?"DDGetfile,Putfile  EOF END/E.""D:Z""":I.#H,A$,F$:O.#1,4,0,A$:O.#2,8,0,F$:DO:GET#1,B:PUT#2,B:LOOP)? (yCL.:POKEQ,0:?:?:?:?"aux 8DE:Fsfs,m[^3]E.""D:Z":I.#H,F$:?"";:I.#H,M:O.#7,M,0,F$:DO:I.#H,X$:?#7;X$;:LOOP)? ,yCL.:?"DevE:":?"Src D";:I.#H,F$:?"LM 0";:I.#H,X:POKEQ,X:CLS:O.#7,4,0,F$:DO:GET#7,B:PUT27,B:X=PEEK(85):Y=PEEK(84):LOOP)? 0y?"P: f,0/1":I.#H;F$,X:O.#1,4,0,F$:O.#2,8,0,"P":?#2;"@ N MQWl ";:DO:GET#1,B:PUT#2,B*X!(B&127>27)!(B=155):LOOP)? 4yDIR"D:*.DOC":?"DRead?":I.#H,F$:O.#1,4,0,F$:F.A=-1TO0:F.L=-24TO-2:I.#1,A$:?A$:L=L*A$<>"":A=L:N.L:GETK:CLS:N.A:E."D:Z)? 8yMO.ADR("1S@"),768,12:S=USR(1133,58457,S):D=SGN(PEEK(746)&128):F$="D1:@":POKE752,1:?:?" Disk Density = SD";C=254=}:IFD THEN?"E to CLEAR ed D1: ";:GETK:IFK=89THENX.C,#1,175,131,F$:DIRF$:?:E."D:Z?" to ed D1: ";:GET=}K:IFK=89THENX.C,#1,1,0,F$:X.C,#1,175,131,F$:DIRF$:?:E."D:Z?" to CLEAR sd D1: ";:GETK:IFK=89THENX.C,#1,208,130,F$:DIRF$=}:?:E."D:Z?" to sd D1: ";:GETK:IFK=89THENX.C,#1,0,0,F$:DIRF$:?:E."D:Z?"";:E."D:ZTHENX.C,#1,208,130,F$:DIRF$<bDIMB$(128):B$=X$:MO.ADR("1S@"),768,12:S=USR(1133,58457,S):POKEQ,0:POKE752,1:D=(PEEK(746)>127):K=(PEEK(747)>127)?"A}D1: Status ";S*K;"Density ";CHR$(83-14*D):?:?," to map D1:";:GETK:N=720*%1:M=N+320*D:IFS*K&63<>25THEN?"":E."D:ZA=ADR(X$)A}*%1:U=1102*%1:Z=128*%1:J=41*%1:F$=" ":F$(32)="":F$(13)=F$(3):F$(2,2)=CHR$(155):?"";F$(3);POKE752,0:C=J+%2:?"A}";:F.S=%1TO M:X=USR(U,%1,%0,A,S):PUTC+%3*INSTR(X$,B$)+Z&X:P=%1+J*D*(S=N):?F$(%1,P);:N.S:?F$:E."D:Z3);POKE752,0:C=J+%2:?"@dDPOKEQ,8964:?"Read d,ss,es":I.#H,D,F,T:POKE766,1:F.S=F TOT:?S,USR(1102,D,0,ADR(X$),S):?""," ":?X$:GETK:N.S:E."D:Z?"DyL=19161:DIMB$(L):B$(L)=X$:O.#1,4,0,"D:MAP.DOC":?"Find? ";:I.#H,F$:BG.#1,ADR(B$),L:X=INSTR(B$,F$):?:?B$(X-54,X+65):E."D:Z?"HyM=9048:DIMB$(M):B$(M)=X$:O.#1,4,0,"D:OP*.DOC":?"6502 ";:I.#H,F$:BG.#1,ADR(B$),M:X=INSTR(B$,F$):?:?B$(X-105,X+105):E."D:Z?"Ly?"Logic d1,d2?":I.#H,A,B:E=A EXORB:?"& $";HEX$(A&B);"";A&B:?"! $";HEX$(A!B);"";A!B:?"^ $";HEX$(E);"";E:?:E."D:Z?"PyA$="~0123456789ABCDEF":POKE752,1:?"Num ":GETK:Z=17*(K=72)+3*(K=66):Z=Z+11*(Z=0):A$=A$(1,Z):M=5+(Z=11)+12*(Z=3):L=1F$="U} ":X$="   ":X$(2)=X$(19-M):?" ";X$;:PUT194+2*(M=6)+6*(M=5),155:IFM=6THEN?" max=65535"?"":REP.:?U}"";F$(1,L);"";:GETK:F$(L+1)=CHR$(K):V=INSTR(A$,F$(L+1)):L=L+(V>1)*(L1):U.K=155POKE752,1:?"":F$=F$(2,U}L):L=L-1:IFZ=17THENF$=STR$(DEC(F$))?"":IFZ=3THENF.B=L TO1STEP-1:D=D+VAL(F$(B,B))*2^(L-B):N.B:F$=STR$(D)D=VAL(F$):POKEQ,8U}-LEN(F$):?"";USR(1071,ADR(Z$),D);" = $";HEX$(D);" = ";Z$:?:E."D:Z=D+VAL(F$(B,B))*2^(L-B):N.B:F$=STR$(D)D=VAL(F$):POKEQ,8TEM=FRE(0)-2E3:DIMB$(M):B$(M)=X$:POKEQ,0:?:?"D1:";M DIV125;" secsfseofE.""D:R":I.#H,F$:O.#1,4,0,F$:BG.#1,ADR(B$),MKEQ,8XxCL.:?"DL>B*,dB,L*,dL 1";:I.#H,F,S,L,I:F.B=F TODPEEK(856)STEPS:?L;"D.";:F.X=0TOS-1:?ASC(B$(B+X));",";:N.X:?"~":L=L+I:N.BEQ,8\yIFJ=0THENJ=80:L=20:C=766:DIMC$(J)?"";F$;"  U$":?"Start byte? (-) 7";:GETK:PUTK:IFK<49OR K>57THENE."D:ZB$=B$(K-48,DPEa!}EK(856)):X=LEN(B$):C$=B$:?"}":POKEC,J:?"10 DIM U$(";X;"):U$=""";C$;"""":POKEC,0:IFX<81THENPOS.0,0:STOP?"":POKEC,J:F.B=a"}81TOX STEPJ:C$=B$(B):?L;" U$(";B;")=""";C$;"""":L=L+10:N.B:POKEC,0:POS.0,0:STOP0:IFX<81THENPOS.0,0:STOP?"":POKEC,J:F.B=`P?:?:?:?"Done. RETURN to write":F.B=0TO3:I=B+6660:B$(I,I)=CHR$(PEEK(709+B)):B$(I+4)=CHR$(PEEK(729+B)):N.B:E."D:REC,J:F.B=dtL=DPEEK(856):?"Write ";1+L DIV125;" sec  FSpec?":?F$:?"";:I.#H,A$:O.#2,8,0,A$:BP.#2,ADR(B$),L:CL.:DIRA$:E."D:Z:F.B=hx?"View?":?"D":I.#H,F$:O.#6,4,0,F$:POKE766,1:POKE752,1:REP.:F.L=1TO7:I.#6,X$:?X$:N.L:?:?,"Key or ":GETK:?:U.K=81:E."D:ZF.B=ly?"  Screen Text Invert ";:X=USR(1021):?"709=";PEEK(709);"710=";X:?:E."D:Zr ":GETK:?:U.K=81:E."D:ZF.B=p_DPOKEQ,8964:?"}Edit sd,ss":I.#H,D,S:?,"St. ";USR(1102,D,0,ADR(X$),S):POKE766,1:?""," ":?X$(1,64):?X$(65):E."D:uF.B=ty?:?" d,ss,es ";:I.#H,D,F,T:POKE752,1:?:F.S=F TOT:X=USR(1102,D,1,ADR(X$),S):?"s# ";S;:S=S*X:N.S:?,"St ";X:?:E."D:ZF.B=xy?"}":F.I=0TO20STEP4:F.J=1TO4:X=I+J:PUT127,X,32,X!64,32,X!128:N.J:?:?:N.I:?" Y  Z  , ` . ":?"{ ; ":E."D:ZF.B=|y?"Ascii$ICode":I.#H,A$:F.X=1TOLEN(A$):C=ASC(A$(X)):D=C&127:X$(X)=CHR$((D+32*(3*(D<32)-(D<96)))!(C&128)):N.X:?X$:E."D:ZF.B=y?"Key  KCode ";:I.#H,A$:MO.64337,ADR(X$),192:K=63&(INSTR(X$,A$)-1):F.I=0TO3:?" ";K+I*64:N.I:?,"?":E."D:ZF.B=xCL.:BR."D:z":CLR:?" => _";:Q=82:H=16:DIMX$(256),F$(64),A$(64),Z$(17):X$(128)="":Z$=X$:F$="D:":I.#H,A$:F$(3)=A$:E.F$F.B=yTurboDUP Documentation:All TurboDUP modules which will beused must be in the directoryspecified as "D:" by MyDOS.To cal.}l TurboDUP you type: ENTER "D:Z" or E."D:ZThis sets up various requiredstrings and variables. Thisprocedure is requir/}ed for almostall modules and CLOSEs all IOCB's.The prompt you will see in responseto this is this: => _The cursor will 0}be on the underscore character and just hittingRETURN will call up the menu.You may overtype the underscorewith any vali1}d menu letter -- youdo not have to call the menu.You may safely BREAK to abort anyitem except the screen adjustroutine w2}hich uses ESC in lieu.At anytime that the cursor justhangs on the left side of thescreen, TurboDUP is waiting foryou to 3}press any key.Modules: -- directory of any valid driveand/or path. The routine willprompt with a default of Dr:*.*whe4}re r represents your RD number.You may either edit this or simplyhit RETURN -- byte by byte copy between anylegal devic5}es. You will be promptedfor both filespecs and, once done,you MUST close files. This may bedone by ENTER "D:Z" or any of:6}CLOSE, END, DOS, RUN, etc. -- byte by byte copy from theeditor (E:) to any valid device orfilespec. You will be prompted7} forfilespec and for the mode (8 or 9)for OPENing of the file. Toterminate the process, use CONTROL3 and then CLOSE files8} as above. -- byte by byte copy to theeditor. You will be prompted forfile and left margin setting. Afterthe end of fil9}e error, variables Xand Y hold the position immediatelyfollowing the last byte of thefile. This would be most useful inpl:}acing a delimiter on screen inthe right place.For example, you dump a file and,after the EOF, you type: POSITION X,Y;}:PUT 34This would place a " at the properplace even if the last byte of thestring were a space. -- byte by byte copy fr<}om anydevice to the printer. After thefilespec prompt, you are promptedfor a 0 or 1. If 0 is entered, allbytes having an =}ATASCII value from0-31 and 128-159 except 155 arefiltered out. A 1, will pass allbytes to the printer. -- a reader for >}DOC files andrequires files formatted by lineswith CR's. When you call it, itdisplays a directory of all DOCfiles in "D:"?} but you may enter anyvalid filespec. The output ispaged. At the end of a page, touchany key to continue. If the lastline@} of the file is two ESCapecharacters, the reader willautomatically go back to item Z,otherwise you will get an error 136aA}nd should CLOSE files. -- You can use this item to clearor format D1: in single or enhanceddensity. The enhanced format B}usedresults in 931 FREE SECTORS (themaximum that will go into a singleVTOC). The advantage in this formatis that it is coC}mpatible withnormal Atari format -- for example,PaperClip will read and write tothe full range of availablesectors. SpartD}a can read all, butwill not write past sector 720.This module requires you to confirmits action by pressing Y. Any otherE}key causes the action to beskipped. -- this item will first give youthe drive status and density forD1:. If you the preF}ss Y, it willmap the disk. The mapping iscomplete but fairly slow. -- this item will dump any numberof sectors to the sG}creen from anydrive including the RD. It willprompt for drive and first and lastsector numbers. There are no errorchecks H}- entry must be numbers andall three items must be entered.To view a single sector, the lastmay be entered as any number I}lessthan or equal to the first sector.BREAK is safe at anytime. -- this item will find almost anyequate listed in MappiJ}ng the Atari.You may enter the address to findas a decimal, a label, or in hex.The file MAP.DOC must be in "D:"for this iK}tem. -- this item will find a 6502 opcode. Entry may be in decimal, hex,binary, ATASCII, or mnemonics. Thefile OPCODE.DL}OC must be in "D:". Itis suggested that item F be used toget an idea of the format of thefiles used by J and K. -- thisM} item will display decimaland hex results of the binary AND,OR, and EXOR values for two numberswhich must be input in deciN}mal. -- this item will display any oneor two byte value in decimal,hexadecimal, and binary. Entry maybe in any of the tO}hree. Whencalled, you will first be promptedfor H, D or B. This is the inputformat. If you enter anything otherB or H, deP}cimal is assumed. -- this file uses the BGETfunction to read a file into astring. It will display theavailable buffer sQ}ize in singledensity sectors and prompt for afilespec. Buffer size is determinedby any program in RAM -- theprogram will R}not be harmed.This item should end with an end offile error. If it does not, youshould not use the data in thebuffer.DS}o not use item Z after this moduleor the buffer will be cleared.The next four files require a fileread into the buffer byT} module N -- prints program DATA lines tothe screen. You may BREAK at anytime, put the cursor where you wantand enter tU}he lines. The module maybe re-entered as often as desiredto enter different portions of DATAThe prompt is: "DL>B*,dBV},L*,dL 1" with the cursor on the 1.Required input is: B* starting byte of the file dB bytes per line L*W} starting line number dL increment for line numbersThis module does not call any otherand does not close files. --X} this module prints programstring assignment lines much asabove. It will first prompt for thestarting byte. Any key press Y}otherthan 1 through 9 will abort. Thenit will print lines starting at 10and incrementing by 10 using thename U$.You mayZ} BREAK and re-enter thismodule as required to enter thelines. The module is not usableon files containing the 155characte[}r -- this module copies the currentscreen colours and keyboarddefaults to the last eight bytes ofthe modified DUP. For \}use, setcolours and keyboard as desired,read DUP into the buffer with itemN and then ENTER "D:Q"The module will prompt f]}or theoutput filespec and then write themodified DUP back out. -- this module copies the bufferto a new file. It will p^}rompt withthe current filespec which may beeditted.EXAMPLETo copy a file from D4: to D1:your input would be: ENTER_} "D:Z" N D4:FILE.EXT ENTER "D:R" D1Note it is not necessary tore-enter the complea}te filespec. Yousimply overtype to the point ofchange. -- this is similar to the DOCreader but it scrolls through aLISb}Ted program seven lines at atime. Allowing up to three screenlines per program line, thisproduces a rough paging effect.c}You can BREAK at any time, placethe cursor on any desired line andenter it into the current program.You could also use thed} sametechnique on a text file and insertline numbers and REM statements.The normal use for this module ischecking line ne}umber conflictsbefore merging BASIC routines. -- this item allows easyadjustment of screen colours.During execution, BRf}EAK isdisabled. ESC will exit the routineand the current values for 709 and710 are displayed. -- With this item you cang} editany sector on any drive includingthe RAMdisk. The routine will askfor drive number and sector number.It will then diq})B#DOS SYSB6'DUP SYSB]AUTORUN SYSBAUTORUN BASB EDIT B_ Bm Bu Bz BA BB B C B D B E B F B G BH BI BJ BK BL BM BN BO B P B#Q B$R B%S B&T B'U B(V B)W B*X B+Y B,Z B^-TURBODUPDOCB1TURBODUPM65BMAP DOCBI_OPCODE DOCsplay the sector astwo lines on the screen and promptfor destination drive and sectornumber (to write back to thesource, r}you just hit RETURN twice).You may then edit the two lines ofdata on the screen. The third timeyou hit RETURN, the first ls}ine isaccepted. If the cursor is not onthe line, the data remainsunchanged. The fourth RETURN willaccept the second line t}of data andthe sector will be written. You mayBREAK at anytime before the fourthRETURN and the disk will beunchanged.You}u cannot edit any sector whichcontains a 155 character. This willbe obvious as you will have morethan two data lines. Justv} BREAK outof the routine and no harm is done.One of the major uses for this itemis to get rid of open file entriesor dupw}licate filenames in theRAMdisk if you've managed to getone of these beasts. I know of noother utility which permits this.x}All you have to do is edit thesector and write it back. With anopen entry, change the file statusbyte back to normal and ty}hen erasethe file. -- Zero sectors. This one alsoworks on the RAMdisk. The promptwill ask for drive, starting andendinz}g sector numbers. As withreading sectors, the third numbermay be equal or less than thesecond to zero only one sector.{}: there is no furtherconfirmation after you enter thenumbers. You may BREAK any time. -- this module displays theC|}ONTROL and inverse CONTROLcharacters for all keys exceptcursor and screen controls. -- this module accepts an ATASCIIst}}ring and prints out its Internal(screen) code representation. -- this item accepts a key anddisplays the keyboard codes ~}forthat key as Normal, with SHIFT,with CONTROL, and with SHIFT andCONTROL. The last is annotated by aquestion mark to ind}icate that thecombination may not existOTHER FILES: The files _ m u and zare required as follows:_ Prints the menum I}s the menuu Is auxillary to U (sector edit)z Is the machine language portionof TurboDUP. It is BRUN each timeyou ENTER }"D:Z". You may use theroutines from a program byincluding BRUN "D:z". The routinesuse only the Printer and Cassettebuffer}s. The following are entrypoints and syntax for use of theroutines:Λ Dec=Usr(1071,adr(B$),Dec) Operates d}irectly on B$ so: B$ must be 17 chars long read/write sector S=Usr(1102,drv,cmd,bufadr,sec#) cmd=0 to read} or 1 to write Returns status in SDisk routine uses the MyDOS sectoraccess code so the write commandwill be as set }from the DUP menu. calls m/l routine at adr S=Usr(1144,adr,val)msb of val passed to routine in Ylsb passed to }routine in A and X Returns Y register in S S=Usr(1021) probably not much use. If you do want to use it}, examine module T.DEFAULTSEach time z is BRUN, it resetskeyboard and most other systemdefaults. It resets screen }coloursonly if all four registers (709-712) are found equal to the OSdefaults.Defaults in z may be changed byeditting t}he file either by loadingit into a string (you can use itemN and direct string assignment tochange B$ before writing it ba}ckusing module R). It may also bemodified easily using TextPro+.The following are locations andcurrent default values wi}thin thefile counting the first byte asnumber 1:Bit mapped tab positions set to OSdefaults. ref. Mapping The Atarip.59-}60. Done this way to allowcustomization.135-139 .BYTE 1,1,1,1,1140-144 .BYTE 1,1,1,1,1145-149 .BYTE 1,1,1,1,1User s}elected default values forColor1-4. These are used if theroutine finds all four at their OSdefaults.150-153 .BYTE 12,0,}70,0The following are default valuesfor various other OS values. Theselected value is shown in the.BYTE statement and th}e normal OSdefault is shown after the label.154 .BYTE 18 Krpdel,48 jiffies155 .BYTE 2 Keyrep,6 6=slow156 .BYTE 1 } Noclik,0 v>0=off157 .BYTE 0 Helpfg,0 clears158 .BYTE 64 Shflok,64 u/case159 .BYTE 0 Invflg,0 128=inv160 .BYTE} 1 Soundr,1 0=off161 .BYTE 2 Lmargn,2162 .BYTE 39 Rmargn,39163 .BYTE 10 Ptabw ,10 commas164 .BYTE 0 Crsinh,0} v>0=off165 .BYTE 0 Dspflg,0 v>0=Esc166 .BYTE 0 Fine ,0 v>0=on167 .BYTE 2 Chact ,2168 .BYTE 34 Sdmctl,34169 } .BYTE $E0 CSet msb Int=$CC170 .BYTE $92 Break vector $C092171 .BYTE $C0 kill with $C0CD172 .BYTE 0 Spare,34169 u EI=EHX;X; SAVE #D4:TURBO.M65(X;2X;<X; SAVE #D1:TURBO.M65FX;PX;ZX; ASM ,,#D1:TURBO.MLdX;nLIS}TFLAGxX;ATurboDUP MLAX;X; Programmed by John PickenX; last revision 08 Nov 90X;!X; For use only with }MYDOS 4.5X; LSET LISTFLAG I=EK;;X; SKIPW  ,"X;, POKMSK6 RTCLOK@ SOUNDR}AJ LMARGNRT RMARGNS^ PTABWhSDMCTL/r BRKKY6| FINEnTABMAPINVFLGSHFLOKC}OLOR0COLOR1COLOR2COLOR4KRPDELKEYREPNOCLIKHELPFG RUNADI}NITADCRSINH CHACT CH&DSPFLG0 DUNIT:DBUFLODDBUFHINPRNBUFXCASBUF}bFMDKIOT;FMS sector r/wl IRQENvOSCOL;Deflt colrs (OS)X;Ԕ FR0  ADR   BY}TE X;PRNBUF;; 40 bytes availLSB 4KRPDEL;room for 19 4KEYREP;entries 4NOCLIK 4HELPFG 4SHFL}OK  4INVFLG 4SOUNDR  4LMARGN* 4RMARGN4 4PTABW> 4CRSINHH 4DSPFLGR 4FINE\ 4CHACTf 4SDMCTLp 4}z 4 4 4 +;End flagX;MSB 5KRPDEL 5KEYREP 5NOCLIK 5HELPFG 5SHFLOK 5INVFLG 5S}OUNDR 5LMARGN 5RMARGN 5PTABW 5CRSINH$ 5DSPFLG. 5FINE8 5CHACTB 5SDMCTLL 5V 5` 5j 5}t +;End flag~X; I;; ENDPBF ;; => $03E7EI LSET  CASBUFINIT%>;Re-enable BreakC;and keybr}d intsLPOKMSK;whether disabledPPOKMSK;by setting IrqenPIRQEN;or poking Brkky.$>;To disable, set=;Brkky to} $C0CD &BRKKY;ie poke 566,205.'BRKKY;Poke 566,146 to.;enable ($C092).(X;2%>< TABSETFQTABDAT8PPT}ABMAP8Z1d HTABSETnX;x$> CHECKQCOLOR19;If any colorROSCOL9;register (1-4)HPOKE;not at the OS}0;default, thenICHECK;leave all alone.X;$> SETCOLQCOLORS9;Else set all 4PCOLOR19;to our default0 }ISETCOLX;POKE$>"X;, PKLOOP6 QLSB9@PFR0J QMSB9T PFR0^LFR0h FDONErX;| QDATA9 P@FR07}2HPKLOOP;Go alwaysX;  ;Free spaceX;DONE:X;"X; Bit mapped tab positions set"X; to OS defaults. r}ef. Mapping"X; The Atari p.59-60. Done this!X; way to allow customization.X; TABDAT ====& ===}=0 ====:X;D"X; User selected default valuesN"X; for Color1-4. These are usedX#X; if the routine finds all} fourbX; at their OS defaults.lX;v COLORS = =F= X;#X; Table of values for addresses$X; in Prnbuf - 19 sl}ots availableX;DATA$X; My value Addrs,OS default ;Krpdel,48 jiffs ;Keyrep,6 6=slow ;Noclik,0 v>}0=off ;Helpfg,0 clears @;Shflok,64 u/case ;Invflg,0 128=inv ;Soundr,1 0=off  ;Lmargn,2 ';Rmargn,}39   ;Ptabw ,10 commas* ;Crsinh,0 v>0=off4 ;Dspflg,0 v>0=Esc> ;Fine ,0 v>0=onH ;Chact ,2R ";Sdmctl,34\} ;spare ,f ;spare ,p ;spare ,z ;spare ,X; I;; ENDCBF ;; => $047FEIX;INITAD;Run imm}ediately INIT;then reuse spaceX; LSET  PRNBUF INVERTA;Part of screen?;adjustment $FR0;routine. Ent}ry SKIPW ;; in Casbuf X;$ TEXT. 28 2B SKIPW L X;V LIGHTER` 3j 3t SKIPW ~ X; DARKER 1 1 X; '}COLOR2 'COLOR4 X; A;Luminance only NFR0;for text. Fr0 M>;always has last NFR0;value for Color2 > &COLOR}1 X; DELAY QRTCLOK( O> 2 X;< WAITF RRTCLOKP HWAITZ FGETKEY;Go alwaysd X;n I;; x ENDPRN ;; }=> $03E7 EI X; CASBUF X; X; Colr2=Usr(1021) LSET SCREEN 7;Param count PFR0;no params X; $CO}LOR1;y will go to %COLOR2;Fr0 via Cleark X; GETKEY  CLEARK;and $FF to a, Ch X;" NOTYET, RCH6 FNOTYET@ X;J} QCHT M>?;Mask Ctrl & Shft^ X;h R> ;Key [I]r FINVERT| X; R>-;Key [T] FTEXT X; R>;Key [-] up arrow FL}IGHTER X; R>;Key [=] dn arrow FDARKER X; R>;Key [ESC] HDELAY X; CLEARK Q> PCH X;& YEXIT0 '}FR0: X;D EXITN :X X;b EIl X;v !X; Dec=Usr(1024,Adr(Bin$),Dec) !X; Bin$ must be 17 chars long X; Page Zero u}sage: X; FR0 *= *+2 Integer value X; ADR *= *+2 Adr(Bin$) X; *=*+1 Param count X; BYTE *= *+2 Integer val}ue X; *= *+2 Adr(Bin$) X; *=*+1 Param count X; LSET DECTOBIN $>;Pla in loop X; STLOOP 7};Store down in PFR09;ram. Msb first. PBYTE9* 0;Leave x=04 HSTLOOP;when done> X;H %>;y=String indexR X; } x=Byte index\ BITLOOPf Q> 0;Get bits fromp VBYTE9;least to mostz U?;signifigant. X; SAVE P@ADR7;}Store digits in 1;string from GEXIT;right to left. X; )> HBITLOOP X; Q> ;Insert a space 2;Set for msb }ISAVE;Go always X;EIX;#X; Ddevic pre-set by Enter "D:Z"$#X; Fms routines set Dstats,Dtim,.$X; and Dbyt. So, we }need only set8 X; Dbuflo/hi and DUnit beforeBX; calling Fmdkio with:LX;VX; Carry: set=W, clear=R`X; A=Msb sect}or numberjX; Y=Lsb sector numbertX;~#X; S=Usr(1024,drv,cmd,bufad,sec)X;X; set cmd to 0 for read X; } or 1 for put/wrt X; Returns status in S (Fr0) LSET DISK7;Param count 7;Msb=07;Lsb=drive PDUNITX;} 7;MsbCmd=07;Lsb=0 or Lsb=1 W?;To CarryX;7(PDBUFHI;Msb bufadr27<PDBUFLO;LsbFX;P 7;Msb sec#Z>d 7;Ls}b sec#n ?;y=LsbxA;a=Msb Cy validX; FMDKIOX; AEXITQ> PFR0FYEXIT;Go alwaysX;EIX;X; }Call any M/L subroutineX; Y=Usr(1140,Mladr,val)X;X; val is passed to the m/l X; routine with msb in Y andX; } lsb in A and X (for Cio)"X;, X; Returns Yreg value via Fr06 LSET @ MLSUBJ 7;Params=2T7^PTOML;Msb Mladrh7r}PTOML;Lsb|X; 7;Msb val?;Pass to m/l in Y7;Lsb>;Pass in A, XX;TOML ;Pick a number!AEXIT;Go} alwaysX;I;ENDCAS ;; => $047FXXSCREENXXDECTOBIN XXDISK XXMLSUBEI&er!AEXIT;Gon System Equates 0 LNFLG = $00 1 NGFLAG = $01 2 CAS}INI = $02 4 RAMLO = $04 5 RAMHI = $05 6 TRAMSZ = $06 7 CMCMD = $07 8 WARMST = $08 } 9 BOOT? = $09 10 DOSVEC = $0A 10 CPALOC.X = $0A 12 DOSINI = $0C 14 APPMHI = $0E 16 POKMSK }= $10 17 BRKKEY = $11 18 RTCLOK = $12 21 BUFADR = $15 23 ICCOMT = $17 24 DSKFMS = $18 26 DSK}UTL = $1A 28 ABUFPT = $1C 32 ICHIDZ = $20 33 ICDNOZ = $21 34 ICCOMZ = $22 35 ICSTAZ = $23 } 36 ICBALZ = $24 37 ICBAHZ = $25 38 ICPTLZ = $26 39 ICPTHZ = $27 40 ICBLLZ = $28 41 ICBLHZ =} $29 42 ICAX1Z = $2A 43 ICAX2Z = $2B 44 ICAX3Z = $2C 45 ICAX4Z = $2D 46 ICAX5Z = $2E 47 ICAX}6Z = $2F 48 STATUS = $30 49 CHKSUM = $31 50 BUFRLO = $32 51 BUFRHI = $33 52 BFENLO = $34 }53 BFENHI = $35 54 LTEMP = $36 56 BUFRFL = $38 57 RECVDN = $39 58 XMTDON = $3A 59 CHKSNT = }$3B 60 NOCKSUM = $3C 61 BPTR = $3D 62 FTYPE = $3E 63 FEOF = $3F 64 FREQ = $40 65 SOUND}R = $41 66 CRITIC = $42 67 ZBUFP = $43 69 ZDRVA = $45 71 ZSBA = $47 73 ERRNO = $49 7}4 ZCHAIN = $4A 76 DSTAT = $4C 77 ATRACT = $4D 78 DRKMSK = $4E 79 COLRSH = $4F 80 TMPCHR = $}50 81 HOLD1 = $51 82 LMARGN = $52 83 RMARGN = $53 84 ROWCRS = $54 85 COLCRS = $55 87 DINDEX} = $57 88 SAVMSC = $58 90 OLDROW = $5A 91 OLDCOL = $5B 93 OLDCHR = $5D 94 OLDADR = $5E 96} FKDEF = $60 98 PALNTS = $62 99 LOGCOL = $63 100 ADRESS = $64 102 MLTTMP = $66 104 SAVADR = $6}8 105 FRMADR = $68 106 RAMTOP = $6A 107 BUFCNT = $6B 108 BUFSTR = $6C 110 BITMSK = $6E 111 SHFAMT } = $6F 112 ROWAC = $70 114 COLAC = $72 116 ENDPT = $74 118 DELTAR = $76 119 DELTAC = $77 121 }KEYDEF = $79 123 SWPFLG = $7B 124 HOLDCH = $7C 125 INSDAT = $7D 126 COUNTR = $7E 128 LOMEM = $80} 130 VNTP = $83 132 VNTD = $84 134 VVTP = $86 136 STMTAB = $88 138 STMCUR = $8A 140 STARP } = $8C 142 RUNSTK = $8E 144 MEMTOP.B = $90 146 MEOLFLG = $92 149 POKADR = $95 182 DATAD = $B6 183 D}ATALN = $B7 186 STOPLN = $BA 190 SAVCUR = $BE 192 IOCMD = $C0 193 IODVC = $C1 194 PROMPT = $C2} 195 ERRSAV = $C3 200 COLOR = $C8 201 PTABW = $C9 202 LOADFLG = $CA 210 FPWORK = $D2 212 FR0 } = $D4 218 FRE = $DA 224 FR1 = $E0 230 FR2 = $E6 236 FRX = $EC 237 EEXP = $ED 238 NS}IGN = $EE 239 ESIGN = $EF 240 FCHRFLG = $F0 241 DIGRT = $F1 242 CIX = $F2 243 INBUFF = $F3 } 245 ZTEMP1 = $F5 246 ZTEMP2 = $F6 247 ZTEMP4 = $F7 249 ZTEMP3 = $F9 251 RADFLG = $FB 251 DEGFLG }= $FB 252 FLPTR = $FC 254 FPTR2 = $FE 256 STACK = $0100 512 VDSLST = $0200 514 VPRCED = $0202 5}16 VINTER = $0204 518 VBREAK = $0206 520 VKEYBD = $0208 522 VSERIN = $020A 524 VSEROR = $020C 526 VS}EROC = $020E 528 VTIMR1 = $0210 530 VTIMR2 = $0212 532 VTIMR4 = $0214 534 VIMIRQ = $0216 536 CDTMV1 } = $0218 538 CDTMV2 = $021A 540 CDTMV3 = $021C 542 CDTMV4 = $021E 544 CDTMV5 = $0220 546 VVBLKI = }$0222 548 VVBLKD = $0224 550 CDTMA1 = $0226 552 CDTMA2 = $0228 554 CDTMF3 = $022A 555 SRTIMR = $022B} 556 CDTMF4 = $022C 557 INTEMP = $022D 558 CDTMF5 = $022E 559 SDMCTL = $022F 560 SDLSTL = $0230 56}1 SDLSTH = $0231 562 SSKCTL = $0232 563 LCOUNT = $0233 564 LPENH = $0234 565 LPENV = $0235 566 BRK}KY = $0236 568 VPIRQ = $0238 570 CDEVIC = $023A 571 CCOMND = $023B 572 CAUX1 = $023C 573 CAUX2 } = $023D 574 TEMP = $023E 575 ERRFLG = $023F 576 DFLAGS = $0240 577 DBSECT = $0241 578 BOOTAD = $}0242 580 COLDST = $0244 581 RECLEN = $0245 582 DSKTIM = $0246 583 PDVMSK = $0247 584 SHPDVS = $0248} 585 PDMSK = $0249 586 RELADR = $024A 588 PPTMPA = $024C 589 PPTMPX = $024D 619 CHSALT = $026B 620} VSFLAG = $026C 621 KEYDIS = $026D 622 FINE = $026E 623 GPRIOR = $026F 624 PADDL0 = $0270 625 PADD}L1 = $0271 626 PADDL2 = $0272 627 PADDL3 = $0273 628 PADDL4 = $0274 629 PADDL5 = $0275 630 PADDL6 } = $0276 631 PADDL7 = $0277 632 STICK0 = $0278 633 STICK1 = $0279 634 STICK2 = $027A 635 STICK3 = $0}27B 636 PTRIG0 = $027C 637 PTRIG1 = $027D 638 PTRIG2 = $027E 639 PTRIG3 = $027F 640 PTRIG4 = $0280 } 641 PTRIG5 = $0281 642 PTRIG6 = $0282 643 PTRIG7 = $0283 644 STRIG0 = $0284 645 STRIG1 = $0285 646 }STRIG2 = $0286 647 STRIG3 = $0287 648 HIBYTE = $0288 649 WMODE = $0289 650 BLIM = $028A 651 IMASK} = $028B 652 JVECK = $028C 654 NEWADR = $028E 656 TXTROW = $0290 657 TXTCOL = $0291 659 TINDEX }= $0293 660 TXTMSC = $0294 662 TXTOLD = $0296 668 CRETRY = $029C 669 HOLD3 = $029D 670 SUBTMP = $02}9E 671 HOLD2 = $029F 672 DMASK = $02A0 673 TMPLBT = $02A1 674 ESCFLG = $02A2 675 TABMAP = $02A3 }690 LOGMAP = $02B2 694 INVFLG = $02B6 695 FILFLG = $02B7 696 TMPROW = $02B8 697 TMPCOL = $02B9 699 S}CRFLG = $02BB 700 HOLD4 = $02BC 701 DRETRY = $02BD 702 SHFLOK = $02BE 703 BOTSCR = $02BF 704 PCOLR0} = $02C0 705 PCOLR1 = $02C1 706 PCOLR2 = $02C2 707 PCOLR3 = $02C3 708 COLOR0 = $02C4 709 COLOR1 =} $02C5 710 COLOR2 = $02C6 711 COLOR3 = $02C7 712 COLOR4 = $02C8 713 RUNADR = $02C9 715 HIUSED = $02C}B 717 ZHIUSE = $02CD 719 GBYTEA = $02CF 721 LOADAD = $02D1 723 ZLOADA = $02D3 725 DSCTLN = $02D5 7}27 ACMISR = $02D7 729 KRPDEL = $02D9 730 KEYREP = $02DA 731 NOCLIK = $02DB 732 HELPFG = $02DC 733 DM}ASAV = $02DD 734 PBPNT = $02DE 735 PBUFSZ = $02DF 736 RUNAD = $02E0 738 INITAD = $02E2 740 RAMSIZ } = $02E4 741 MEMTOP = $02E5 743 MEMLO = $02E7 745 HNDLOD = $02E9 746 DVSTAT = $02EA 750 CBAUDL = }$02EE 751 CBAUDH = $02EF 752 CRSINH = $02F0 753 KEYDEL = $02F1 754 CH1 = $02F2 755 CHACT = $02F3} 756 CHBAS = $02F4 757 NEWROW = $02F5 758 NEWCOL = $02F6 760 ROWINC = $02F8 761 COLINC = $02F9 76}3 ATACHR = $02FB 764 CH = $02FC 765 FILDAT = $02FD 766 DSPFLG = $02FE 767 SSFLAG = $02FF 768 DCB} = $0300 768 DDEVIC = $0300 769 DUNIT = $0301 770 DCOMND = $0302 771 DSTATS = $0303 772 DBUFLO } = $0304 773 DBUFHI = $0305 774 DTIMLO = $0306 775 DTIMHI = $0307 775 DUNUSE = $0307 776 DBYTLO = $}0308 777 DBYTHI = $0309 778 DAUX1 = $030A 779 DAUX2 = $030B 780 TIMER1 = $030C 782 ADDCOR = $030E} 783 CASFLG = $030F 784 TIMER2 = $0310 786 TEMP1 = $0312 787 TEMP2 = $0313 788 PTIMOT = $0314 789} TEMP3 = $0315 790 SAVIO = $0316 791 TIMFLG = $0317 792 STACKP = $0318 793 TSTAT = $0319 794 HATA}BS = $031A 829 PUPBT1 = $033D 830 PUPBT2 = $033E 831 PUPBT3 = $033F 832 IOCB0 = $0340 832 ICHID } = $0340 833 ICDNO = $0341 834 ICCOM = $0342 835 ICSTA = $0343 836 ICBAL = $0344 837 ICBAH = $0}345 838 ICPTL = $0346 839 ICPTH = $0347 840 ICBLL = $0348 841 ICBLH = $0349 842 ICAX1 = $034A } 843 ICAX2 = $034B 844 ICAX3 = $034C 845 ICAX4 = $034D 846 ICAX5 = $034E 847 ICAX6 = $034F 848 }IOCB1 = $0350 848 ICHID.1 = $0350 849 ICDNO.1 = $0351 850 ICCOM.1 = $0352 851 ICSTA.1 = $0353 852 ICBAL}.1 = $0354 853 ICBAH.1 = $0355 854 ICPTL.1 = $0356 855 ICPTH.1 = $0357 856 ICBLL.1 = $0358 857 ICBLH.1 }= $0359 858 ICAX1.1 = $035A 859 ICAX2.1 = $035B 860 ICAX3.1 = $035C 861 ICAX4.1 = $035D 862 ICAX5.1 = $03 }5E 863 ICAX6.1 = $035F 864 IOCB2 = $0360 864 ICHID.2 = $0360 865 ICDNO.2 = $0361 866 ICCOM.2 = $0362 }867 ICSTA.2 = $0363 868 ICBAL.2 = $0364 869 ICBAH.2 = $0365 870 ICPTL.2 = $0366 871 ICPTH.2 = $0367 872 I }CBLL.2 = $0368 873 ICBLH.2 = $0369 874 ICAX1.2 = $036A 875 ICAX2.2 = $036B 876 ICAX3.2 = $036C 877 ICAX4. }2 = $036D 878 ICAX5.2 = $036E 879 ICAX6.2 = $036F 880 IOCB3 = $0370 880 ICHID.3 = $0370 881 ICDNO.3 = } $0371 882 ICCOM.3 = $0372 883 ICSTA.3 = $0373 884 ICBAL.3 = $0374 885 ICBAH.3 = $0375 886 ICPTL.3 = $037}6 887 ICPTH.3 = $0377 888 ICBLL.3 = $0378 889 ICBLH.3 = $0379 890 ICAX1.3 = $037A 891 ICAX2.3 = $037B 8}92 ICAX3.3 = $037C 893 ICAX4.3 = $037D 894 ICAX5.3 = $037E 895 ICAX6.3 = $037F 896 IOCB4 = $0380 896 IC}HID.4 = $0380 897 ICDNO.4 = $0381 898 ICCOM.4 = $0382 899 ICSTA.4 = $0383 900 ICBAL.4 = $0384 901 ICBAH.4} = $0385 902 ICPTL.4 = $0386 903 ICPTH.4 = $0387 904 ICBLL.4 = $0388 905 ICBLH.4 = $0389 906 ICAX1.4 = }$038A 907 ICAX2.4 = $038B 908 ICAX3.4 = $038C 909 ICAX4.4 = $038D 910 ICAX5.4 = $038E 911 ICAX6.4 = $038F} 912 IOCB5 = $0390 912 ICHID.5 = $0390 913 ICDNO.5 = $0391 914 ICCOM.5 = $0392 915 ICSTA.5 = $0393 91}6 ICBAL.5 = $0394 917 ICBAH.5 = $0395 918 ICPTL.5 = $0396 919 ICPTH.5 = $0397 920 ICBLL.5 = $0398 921 ICB}LH.5 = $0399 922 ICAX1.5 = $039A 923 ICAX2.5 = $039B 924 ICAX3.5 = $039C 925 ICAX4.5 = $039D 926 ICAX5.5 } = $039E 927 ICAX6.5 = $039F 928 IOCB6 = $03A0 928 ICHID.6 = $03A0 929 ICDNO.6 = $03A1 930 ICCOM.6 = $}03A2 931 ICSTA.6 = $03A3 932 ICBAL.6 = $03A4 933 ICBAH.6 = $03A5 934 ICPTL.6 = $03A6 935 ICPTH.6 = $03A7} 936 ICBLL.6 = $03A8 937 ICBLH.6 = $03A9 938 ICAX1.6 = $03AA 939 ICAX2.6 = $03AB 940 ICAX3.6 = $03AC 941} ICAX4.6 = $03AD 942 ICAX5.6 = $03AE 943 ICAX6.6 = $03AF 944 IOCB7 = $03B0 944 ICHID.7 = $03B0 945 ICDN}O.7 = $03B1 946 ICCOM.7 = $03B2 947 ICSTA.7 = $03B3 948 ICBAL.7 = $03B4 949 ICBAH.7 = $03B5 950 ICPTL.7 } = $03B6 951 ICPTH.7 = $03B7 952 ICBLL.7 = $03B8 953 ICBLH.7 = $03B9 954 ICAX1.7 = $03BA 955 ICAX2.7 = $0}3BB 956 ICAX3.7 = $03BC 957 ICAX4.7 = $03BD 958 ICAX5.7 = $03BE 959 ICAX6.7 = $03BF 960 PRNBUF = $03C0 }1000 SUPERF = $03E8 1001 CKEY = $03E9 1002 CASSBT = $03EA 1003 CARTCK = $03EB 1004 DERRF = $03EC 1005 }ACMVAR = $03ED 1016 BASICF = $03F8 1017 MINTLK = $03F9 1018 GINTLK = $03FA 1019 CHLINK = $03FB 1021 CASBU}F = $03FD 1152 STACK.B = $0480 1406 LBPR1 = $057E 1407 LBPR2 = $057F 1408 LBUFF = $0580 1504 PLYARG }= $05E0 1510 FPSCR = $05E6 1516 FPSCR1 = $05EC 1535 LBFEND = $05FF 1536 PAGESIX = $0600 1801 SABYTE.A = $07!}09 1801 SABYTE.X = $0709 1801 SABYTE.R = $0709 1801 SABYTE.M = $0709 1802 DRVBYT.A = $070A 1802 DRVBYT.X = $070A 1"}802 DRVBYT.R = $070A 1802 RAMDKU.M = $070A 1803 DIRDRV.M = $070B 1804 SASA.A = $070C 1804 SASA.X = $070C 1804 S#}ASA.R = $070C 1804 SASA.5 = $070C 1812 TIMOUT.T = $0714 1897 BSIOR.M = $0769 1898 RETRY.M = $076A 1898 TIMOUT$}.M = $076A 1913 WRTCMD.A = $0779 1913 WRTCMD.X = $0779 1913 WRTCMD.R = $0779 1913 WRTCMD.5 = $0779 1913 WRTCMD.M =%} $0779 1925 TIMOUT.A = $0785 1925 TIMOUT.X = $0785 1925 TIMOUT.R = $0785 1932 WRTCMD.T = $078C 1933 RETRY.A = $078&}D 1933 RETRY.X = $078D 1933 RETRY.R = $078D 1935 TIMOUT.5 = $078F 1948 RETRY.5 = $079C 1982 MEMFLG.M = $07BE 19'}82 STATE.M = $07BE 1988 DKTYPE.M = $07C4 1996 DRVDEF.M = $07CC 2016 DINIT.A = $07E0 2016 DINT.X = $07E0 2016 DI(}NT.R = $07E0 2016 DINIT.5 = $07E0 2016 DINT.S = $07E0 2016 DINT.M = $07E0 3002 RDTBL.M = $0BBA 4362 VTOCMX.)}A = $110A 4362 VTOCMX.X = $110A 4362 VTOCMX.R = $110A 5064 LSIO = COMTAB-10 5066 ECHOFLG = COMTAB-8 5067 ECHOI*}NFL = COMTAB-7 5068 BATFLG = COMTAB-6 5072 WRTCMD = COMTAB-2 5071 WARMST = COMTAB-1 5074 COMTAB.S = $13D2 507+}7 ZCRNAME = COMTAB+3 5080 ZDIVIO = COMTAB+6 5082 ZXDIVIO = COMTAB+8 5084 BUFOFF = COMTAB+10 5085 ZORIG = CO,}MTAB+11 5087 DATER = COMTAB+13 5090 TIMER = COMTAB+16 5093 ODATER = COMTAB+19 5096 OTIMER = COMTAB+22 5099-} TDOVER = COMTAB+25 5100 TRUN = COMTAB+26 5107 COMFNAM = COMTAB+33 5135 RUNLOC = COMTAB+61 5137 LBUF = .}COMTAB+63 5217 DEFDRV.S = $1461 5361 RAMNAM.5 = $14F1 5438 DUPNAM.5 = $153E 5440 DINT.T = $1540 5440 DUPINI.5 = $/}1540 5555 EXCNAM.X = $15B3 5569 DXLSYS.X = $15C1 5581 AUTNAM.X = $15CD 5595 MNUNAM.X = $15DB 5654 CPADR.X = $16160} 5657 CPGNFN.X = $1619 5661 CPDFDV.X = $161D 5661 DEFDRV.X = $161D 5664 CPBUFP.X = $1620 5665 CPEXFL.X = $1621 56661} CPEXFN.X = $1622 5682 CPEXNP.X = $1632 5687 CPFNAM.X = $1637 5715 RUNLOC.X = $1653 5717 CPCMDB.X = $1655 5719 AUTN2}AM.R = $1657 5897 CPCMDGO.X = $1709 5900 AUTNAM.A = $170C 5900 AUTNAM.5 = $170C 5947 MEMNAM.A = $173B 6016 DUPINI.R 3} = $1780 6046 MEMFLG.A = $179E 6046 AUTNAM.T = $179E 6072 DUPNAM.R = $17B8 6191 DUPNAM.A = $182F 6604 BUFFER.5 = $14}9CC 6780 BUFFER.A = $1A7C 6784 BUFFER.T = $1A80 6784 BUFFER.R = $1A80 6862 AUTNAM.M = $1ACE 7076 MEMNAM.M = $1BA4 5}7089 DUPNAM.M = $1BB1 7105 DIRNAM.M = $1BC1 7680 BUFFER.X = $1E00 7948 DUPLOAD.A = $1F0C 7948 DUPLOAD.5 = $1F0C 7960 6}DUPLOAD.R = $1F18 8309 DUPINI.A = $207510570 DUPLOAD.M = $294A10615 DUPRUN.M = $297711007 DUPLOAD.T = $2AFF40960 BASIC7} = $A00041037 WARMST.B = $A04D48551 SIN = $BDA748561 COS = $BDB148759 ATAN = $BE7748869 SQR 8}= $BEE549146 CARTRUN = $BFFA49148 CARTFLG = $BFFC49149 CARTOPT = $BFFD49150 CARTINI = $BFFE49152 OSROM = $C09}0050248 ENAME = $C44851507 SIOUTL = $C93352224 CHARSET2 = $CC0053248 HPOSP0 = $D000 w53248 M0PF = $D000 :}r53249 HPOSP1 = $D001 w53249 M1PF = $D001 r53250 HPOSP2 = $D002 w53250 M2PF = $D002 r53251 HPOSP3 = $;}D003 w53251 M3PF = $D003 r53252 HPOSM0 = $D004 w53252 P0PF = $D004 r53253 HPOSM1 = $D005 w53253 P1PF <} = $D005 r53254 HPOSM2 = $D006 w53254 P2PF = $D006 r53255 HPOSM3 = $D007 w53255 P3PF = $D007 r53256 SIZ=}EP0 = $D008 w53256 M0PL = $D008 r53257 SIZEP1 = $D009 w53257 M1PL = $D009 r53258 SIZEP2 = $D00A w5325>}8 M2PL = $D00A r53259 SIZEP3 = $D00B w53259 M3PL = $D00B r53260 SIZEM = $D00C w53260 P0PL = $D00C r?}53261 GRAFP0 = $D00D w53261 P1PL = $D00D r53262 GRADP1 = $D00E w53262 P2PL = $D00E r53263 GRAFP2 = $D@}00F w53263 P3PL = $D00F r53264 GRAFP3 = $D010 w53264 TRIG0 = $D010 r53265 GRAFM = $D011 w53265 TRIG1 A} = $D011 r53266 COLPM0 = $D012 w53266 TRIG2 = $D012 r53267 COLPM1 = $D013 w53267 TRIG3 = $D013 r53268 COLPB}M2 = $D014 w53268 PAL = $D014 r53269 COLPM3 = $D015 w53270 COLPF0 = $D016 w53271 COLPF1 = $D017 w53272C} COLPF2 = $D018 w53273 COLPF3 = $D019 w53274 COLBK = $D01A w53275 PRIOR = $D01B w53276 VDELAY = $D01C wD}53277 GRACTL = $D01D w53278 HITCLR = $D01E w53279 CONSOL = $D01F w53760 AUDF1 = $D200 w53760 POT0 = $D2E}00 r53761 AUDC1 = $D201 w53761 POT1 = $D201 r53762 AUDF2 = $D202 w53762 POT2 = $D202 r53763 AUDC2 F}= $D203 w53763 POT3 = $D203 r53764 AUDF3 = $D204 w53764 POT4 = $D204 r53765 AUDC3 = $D205 w53765 POT5 G} = $D205 r53766 AUDF4 = $D206 w53766 POT6 = $D206 r53767 AUDC4 = $D207 w53767 POT7 = $D207 r53768 H}AUDCTL = $D208 w53768 ALLPOT = $D208 r53769 STIMER = $D209 w53769 KBCODE = $D209 r53770 SKREST = $D20A w5I}3770 RANDOM = $D20A r53771 POTGO = $D20B w53773 SEROUT = $D20D w53773 SERIN = $D20D r53774 IRQEN = $D20J}E w53774 IRQST = $D20E r53775 SKCTL = $D20F w53775 SKSTAT = $D20F r54016 PORTA = $D30054017 PORTB = $K}D30154018 PACTL = $D30254019 PBCTL = $D30354272 DMACTL = $D40054273 CHACTL = $D40154274 DLISTL = $D402L}54275 DLISTH = $D40354276 HSCROL = $D40454277 VSCROL = $D40554279 PMBASE = $D40754281 CHBASE = $D40954282M} WSYNC = $D40A54283 VCOUNT = $D40B54284 PENH = $D40C54285 PENV = $D40D54286 NMIEN = $D40E54287 NMIRN}ES = $D40F w54287 NMIST = $D40F r55296 AFP = $D80055526 FASC = $D8E655722 IFP = $D9AA55762 FPI O} = $D9D255876 ZFR0 = $DA4455878 ZF1 = $DA4655904 FSUB = $DA6055910 FADD = $DA6656027 FMUL P}= $DADB56104 FDIV = $DB2856640 PLYEVL = $DD4056713 FLD0R = $DD8956717 FLD0P = $DD8D56728 FLD1R = $DDQ}9856732 FLD1P = $DD9C56743 FST0R = $DDA756747 FST0P = $DDAB56758 FMOVE = $DDB656768 EXP = $DDC056R}780 EXP10 = $DDCC57037 LOG = $DECD57041 LOG10 = $DED157344 CHARSET1 = $E00058368 EDITRV = $E40058384 SS}CRENV = $E41058400 KEYBDV = $E42058416 PRINTV = $E43058432 CASETV = $E44058448 DISKIV = $E45058451 DSKINVT} = $E45358454 CIOV = $E45658457 SIOV = $E45958460 SETVBV = $E45C58463 SYSVBV = $E45F58466 XITVBV =U} $E46258469 SIOINV = $E46558472 SENDEV = $E46858475 INTINV = $E46B58478 CIOINV = $E46E58481 SELFSV = $E47V}158484 WARMSV = $E47458487 COLDSV = $E47758490 RBLOKV = $E47A58493 CSOPIV = $E47D58496 PUPDIV = $E480584W}99 SLFTSV = $E48358502 PENTV = $E48658505 PHUNLV = $E48958508 PHINIV = $E48C58511 GPDVV = $E48F58561 ICX}IO = $E4C158588 IIN = $E4DC58591 CIO = $E4DF59193 PHR = $E73959740 SIO = $E95C60921 TPFV Y} = $EDF960945 NTSC.PAL = $EE1160957 DSPTBL = $EE1D61116 PHE = $EEBC61294 SINIT = $EF6E62026 GETCHAR = Z}$F24A62128 OUTCHAR = $F2B062200 IGN = $F2F862205 KGB = $F2FD63267 BITMAP = $F72363479 SCR = $F7F7[}63665 CBC = $F8B164260 TMSK = $FB0464337 KEYTBL = $FB5164537 KIR = $FC1964708 FDL = $FCC46472\}8 CIN = $FCD865177 PIN = $FE9965395 VFR = $FF7365426 VSR = $FF9265490 VXCOMLI.S = $FFD265527 OST]}YPE = $FFF765530 HV.NMI = $FFFA65532 HV.RESET = $FFFC65534 HV.IRQ = $FFFE End ^} A65532 HV.RESET = $FFFC65534 HV.IRQ = $FFFE End %}| 6502 Op Codes | 000 BRK $00 0000 0000001 ORA ($hh,X)  `} $01 0000 0001002 ---  $02 0000 0010003 ---  $03 0000 0011004 ---  $04 0000 0100005 a}ORA $hh  $05 0000 0101006 ASL $hh  $06 0000 0110007 ---  $07 0000 0111008 PHP  $08 b} 0000 1000009 ORA #$hh $09 0000 1001010 ASL A $0A 0000 1010011 --- $0B 0000 1011012 --- c} $0C 0000 1100013 ORA $hhhh $0D 0000 1101014 ASL $hhhh  $0E 0000 1110015 ---  $0F 0000d} 1111016 BPL $hh  $10 0001 0000017 ORA ($hh),Y  $11 0001 0001018 ---  $12 0001 0010019 --- e}  $13 0001 0011020 ---  $14 0001 0100021 ORA $hh,X  $15 0001 0101022 ASL $hh,Y  $16 0001 0110f}023 ---  $17 0001 0111024 CLC  $18 0001 1000025 ORA $hhhh,Y  $19 0001 1001026 ---  g} $1A 0001 1010027 ---  $1B 0001 1011028 ---  $1C 0001 1100029 ORA $hhhh,X  $1D 0001 11010h}30 ASL $hhhh,X  $1E 0001 1110031 ---  $1F 0001 1111032 JSR $hhhh SPC $20 0010 0000033 AND ($hh,X) ! i} $21 0010 0001034 --- " $22 0010 0010035 --- # $23 0010 0011036 BIT $hh $ $24 0010 0100037 j}AND $hh % $25 0010 0101038 ROL $hh & $26 0010 0110039 --- ' $27 0010 0111040 PLP ( $28 k} 0010 1000041 AND #$hh ) $29 0010 1001042 ROL A * $2A 0010 1010043 --- + $2B 0010 1011044 BIT $l}hhhh , $2C 0010 1100045 AND $hhhh - $2D 0010 1101046 ROL $hhhh . $2E 0010 1110047 --- / $2F 0010m} 1111048 BMI $hh 0 $30 0011 0000049 AND ($hh),Y 1 $31 0011 0001050 --- 2 $32 0011 0010051 --- n} 3 $33 0011 0011052 --- 4 $34 0011 0100053 AND $hh,X 5 $35 0011 0101054 ROL $hh,X 6 $36 0011 0110o}055 --- 7 $37 0011 0111056 SEC 8 $38 0011 1000057 AND $hhhh,Y 9 $39 0011 1001058 --- : p} $3A 0011 1010059 --- ; $3B 0011 1011060 --- < $3C 0011 1100061 AND $hhhh,X = $3D 0011 1101062 q}ROL $hhhh,X > $3E 0011 1110063 --- ? $3F 0011 1111064 RTI @ $40 0100 0000065 EOR ($hh,X) A $41 r} 0100 0001066 --- B $42 0100 0010067 --- C $43 0100 0011068 --- D $44 0100 0100069 EOR $s}hh E $45 0100 0101070 LSR $hh F $46 0100 0110071 --- G $47 0100 0111072 PHA H $48 0100t} 1000073 EOR #$hh I $49 0100 1001074 LSR A J $4A 0100 1010075 --- K $4B 0100 1011076 JMP $hhhh u} L $4C 0100 1100077 EOR $hhhh M $4D 0100 1101078 LSR $hhhh N $4E 0100 1110079 --- O $4F 0100 1111v}080 BVC $hh P $50 0101 0000081 EOR ($hh),Y Q $51 0101 0001082 --- R $52 0101 0010083 --- S w} $53 0101 0011084 --- T $54 0101 0100085 EOR $hh,X U $55 0101 0101086 LSR $hh,X V $56 0101 0110087 x}--- W $57 0101 0111088 CLI X $58 0101 1000089 EOR $hhhh,Y Y $59 0101 1001090 --- Z $5A y} 0101 1010091 --- [ $5B 0101 1011092 --- \ $5C 0101 1100093 EOR $hhhh,X ] $5D 0101 1101094 LSR $z}hhhh,X ^ $5E 0101 1110095 --- _ $5F 0101 1111096 RTS ` $60 0110 0000097 ADC ($hh,X) a $61 0110{} 0001098 --- b $62 0110 0010099 --- c $63 0110 0011100 --- d $64 0110 0100101 ADC $hh |} e $65 0110 0101102 ROR $hh f $66 0110 0110103 --- g $67 0110 0111104 PLA h $68 0110 1000}}105 ADC #$hh i $69 0110 1001106 ROR A j $6A 0110 1010107 --- k $6B 0110 1011108 JMP ($hhhh) l ~} $6C 0110 1100109 ADC $hhhh m $6D 0110 1101110 ROR $hhhh n $6E 0110 1110111 --- o $6F 0110 1111112 }BVS $hh p $70 0111 0000113 ADC ($hh),Y q $71 0111 0001114 --- r $72 0111 0010115 --- s $73 } 0111 0011116 --- t $74 0111 0100117 ADC $hh,X u $75 0111 0101118 ROR $hh,X v $76 0111 0110119 --- } w $77 0111 0111120 SEI x $78 0111 1000121 ADC $hhhh,Y y $79 0111 1001122 --- z $7A 0111} 1010123 --- { $7B 0111 1011124 --- | $7C 0111 1100125 ADC $hhhh,X } $7D 0111 1101126 ROR $hhhh},X ~ $7E 0111 1110127 ---  $7F 0111 1111128 --- $80 1000 0000129 STA ($hh,X) $81 1000 0}001130 --- $82 1000 0010131 --- $83 1000 0011132 STY $hh $84 1000 0100133 STA $hh } $85 1000 0101134 STX $hh $86 1000 0110135 --- $87 1000 0111136 DEY $88 1000 10001}37 --- $89 1000 1001138 TXA $8A 1000 1010139 --- $8B 1000 1011140 STY $hhhh $}8C 1000 1100141 STA $hhhh $8D 1000 1101142 STX $hhhh $8E 1000 1110143 --- $8F 1000 1111144 BC}C $hh $90 1001 0000145 STA ($hh),Y $91 1001 0001146 --- $92 1001 0010147 --- $93 1}001 0011148 STY $hh,X $94 1001 0100149 STA $hh,X $95 1001 0101150 STX $hh,Y $96 1001 0110151 --- } $97 1001 0111152 TYA $98 1001 1000153 STA $hhhh,Y $99 1001 1001154 TXS $9A 1001 1}010155 --- EOL $9B 1001 1011156 ---  $9C 1001 1100157 STA $hhhh,X  $9D 1001 1101158 --- }  $9E 1001 1110159 ---  $9F 1001 1111160 LDY #$hh $A0 1010 0000161 LDA ($hh,X) $A1 1010 00}01162 LDX #$hh $A2 1010 0010163 --- $A3 1010 0011164 LDY $hh $A4 1010 0100165 LDA $hh } $A5 1010 0101166 LDX $hh $A6 1010 0110167 --- $A7 1010 0111168 TAY $A8 1010 100016}9 LDA #$hh $A9 1010 1001170 TAX $AA 1010 1010171 --- $AB 1010 1011172 LDY $hhhh $A}C 1010 1100173 LDA $hhhh $AD 1010 1101174 LDX $hhhh $AE 1010 1110175 --- $AF 1010 1111176 BCS} $hh $B0 1011 0000177 LDA ($hh),Y $B1 1011 0001178 --- $B2 1011 0010179 --- $B3 10}11 0011180 LDY $hh,X $B4 1011 0100181 LDA $hh,X $B5 1011 0101182 LDX $hh,Y $B6 1011 0110183 --- } $B7 1011 0111184 CLV $B8 1011 1000185 LDA $hhhh,Y $B9 1011 1001186 TSX $BA 1011 10}10187 --- $BB 1011 1011188 LDY $hhhh,X $BC 1011 1100189 LDA $hhhh,X $BD 1011 1101190 LDX $hhhh,Y } $BE 1011 1110191 --- $BF 1011 1111192 CPY #$hh $C0 1100 0000193 CMP ($hh,X) $C1 1100 000119}4 --- $C2 1100 0010195 --- $C3 1100 0011196 CPY $hh $C4 1100 0100197 CMP $hh $C}5 1100 0101198 DEC $hh $C6 1100 0110199 --- $C7 1100 0111200 INY $C8 1100 1000201 CMP} #$hh $C9 1100 1001202 DEX $CA 1100 1010203 --- $CB 1100 1011204 CPY $hhhh $CC 11}00 1100205 CMP $hhhh $CD 1100 1101206 DEC $hhhh $CE 1100 1110207 --- $CF 1100 1111208 BNE $hh } $D0 1101 0000209 CMP ($hh),Y $D1 1101 0001210 --- $D2 1101 0010211 --- $D3 1101 00}11212 --- $D4 1101 0100213 CMP $hh,X $D5 1101 0101214 DEC $hh,X $D6 1101 0110215 --- } $D7 1101 0111216 CLD $D8 1101 1000217 CMP $hhhh,Y $D9 1101 1001218 --- $DA 1101 101021}9 --- $DB 1101 1011220 --- $DC 1101 1100221 CMP $hhhh,X $DD 1101 1101222 DEC $hhhh,X $D}E 1101 1110223 --- $DF 1101 1111224 --- $E0 1110 0000225 SBC ($hh,X) $E1 1110 0001226 ---} $E2 1110 0010227 --- $E3 1110 0011228 CPX $hh $E4 1110 0100229 SBC $hh $E5 11}10 0101230 INC $hh $E6 1110 0110231 --- $E7 1110 0111232 INX $E8 1110 1000233 SBC #$hh} $E9 1110 1001234 NOP $EA 1110 1010235 --- $EB 1110 1011236 CPX $hhhh $EC 1110 11}00237 SBC $hhhh $ED 1110 1101238 INC $hhhh $EE 1110 1110239 --- $EF 1110 1111240 BEQ $hh } $F0 1111 0000241 SBC ($hh),Y $F1 1111 0001242 CPX #$hh $F2 1111 0010243 --- $F3 1111 001124}4 --- $F4 1111 0100245 SBC $hh,X $F5 1111 0101246 INC $hh,X $F6 1111 0110247 --- $F}7 1111 0111248 SED $F8 1111 1000249 SBC $hhhh,Y $F9 1111 1001250 --- $FA 1111 1010251 ---} $FB 1111 1011252 --- $FC 1111 1100253 SBC $hhhh,X  $FD 1111 1101254 INC $hhhh,X  $FE }1111 1110255 ---  $FF 1111 1111FC 1111 1100253 SBC $hhhh,X  $FD 1111 1101254 INC $hhhh,X  $FE 1