From 81ca30fa32e992c723ea5dd2ba250b453f9cfdcc Mon Sep 17 00:00:00 2001 From: Maciej Witkowiak Date: Sat, 29 May 2021 18:51:07 +0200 Subject: [PATCH 01/16] initial import of Configure binaries --- apps/Configure V2.0/.gitignore | 2 + apps/Configure V2.0/00-direntry.bin | Bin 0 -> 254 bytes apps/Configure V2.0/01-fileheader.bin | Bin 0 -> 254 bytes apps/Configure V2.0/02-chains.bin | Bin 0 -> 254 bytes apps/Configure V2.0/10-chain00-boot.bin | Bin 0 -> 3420 bytes apps/Configure V2.0/11-chain01-gui.bin | Bin 0 -> 3139 bytes apps/Configure V2.0/12-chain02-drv1541.bin | Bin 0 -> 3339 bytes apps/Configure V2.0/13-chain03-drv1571.bin | Bin 0 -> 3419 bytes apps/Configure V2.0/14-chain04-drv1581.bin | Bin 0 -> 3179 bytes apps/Configure V2.0/15-chain05-drvram.bin | Bin 0 -> 1792 bytes apps/Configure V2.0/Configure V2.0.grc | 14 +++ apps/Configure V2.0/Configure V2.0.s | 85 +++++++++++++++++++ apps/Configure V2.0/Makefile | 7 ++ apps/Configure V2.0/binaries.s | 15 ++++ apps/Configure V2.0/boot.s | 3 + apps/Configure V2.0/geos.cfg | 84 ++++++++++++++++++ reference/bsw/Configure V2.0.cvt | Bin 0 -> 19826 bytes 17 files changed, 210 insertions(+) create mode 100644 apps/Configure V2.0/.gitignore create mode 100644 apps/Configure V2.0/00-direntry.bin create mode 100644 apps/Configure V2.0/01-fileheader.bin create mode 100644 apps/Configure V2.0/02-chains.bin create mode 100644 apps/Configure V2.0/10-chain00-boot.bin create mode 100644 apps/Configure V2.0/11-chain01-gui.bin create mode 100644 apps/Configure V2.0/12-chain02-drv1541.bin create mode 100644 apps/Configure V2.0/13-chain03-drv1571.bin create mode 100644 apps/Configure V2.0/14-chain04-drv1581.bin create mode 100644 apps/Configure V2.0/15-chain05-drvram.bin create mode 100644 apps/Configure V2.0/Configure V2.0.grc create mode 100644 apps/Configure V2.0/Configure V2.0.s create mode 100644 apps/Configure V2.0/Makefile create mode 100644 apps/Configure V2.0/binaries.s create mode 100644 apps/Configure V2.0/boot.s create mode 100644 apps/Configure V2.0/geos.cfg create mode 100755 reference/bsw/Configure V2.0.cvt diff --git a/apps/Configure V2.0/.gitignore b/apps/Configure V2.0/.gitignore new file mode 100644 index 00000000..8f2e068e --- /dev/null +++ b/apps/Configure V2.0/.gitignore @@ -0,0 +1,2 @@ +*.o +*.cvt diff --git a/apps/Configure V2.0/00-direntry.bin b/apps/Configure V2.0/00-direntry.bin new file mode 100644 index 0000000000000000000000000000000000000000..04808acdf9b6e42f89a90f96c6334a42bf35cc72 GIT binary patch literal 254 zcmZqX5p?$VbMtf$4RT!o0X&?Hd=VTXyt;l20YUBxY57IDi6teeDGKhc{=o`qnK`Kn MVTO7J48s5b0GCe@r2qf` literal 0 HcmV?d00001 diff --git a/apps/Configure V2.0/01-fileheader.bin b/apps/Configure V2.0/01-fileheader.bin new file mode 100644 index 0000000000000000000000000000000000000000..5b13ee3b4862c1c9f156854d3422166ef3bd91e2 GIT binary patch literal 254 zcmZP;-T(jp{{{xe#)FL=N{(|5Id(ERHoj~GinRa#*}=d$fkATr|DOvOESLYcT=2tk z0fXuO|1YP826nAl2vh^q+swzv#=^?N&ElM&mzJ4cT9m4wpb%!HXTZR~(BPC>l%1NB zTB#76pH@6GI&!X$~eW3>DNAf*gIpii;JBOA89}i%L>c^cWca17S!Di2M(90*C|v D41!xH literal 0 HcmV?d00001 diff --git a/apps/Configure V2.0/02-chains.bin b/apps/Configure V2.0/02-chains.bin new file mode 100644 index 0000000000000000000000000000000000000000..fa823137072931b54e3c248741cb81c076758eb0 GIT binary patch literal 254 Wcmd-p=Z)c0<16EB;oxT&aR2~5Rsv4| literal 0 HcmV?d00001 diff --git a/apps/Configure V2.0/10-chain00-boot.bin b/apps/Configure V2.0/10-chain00-boot.bin new file mode 100644 index 0000000000000000000000000000000000000000..2a18c374f97b94d20c95fe49ef9b384c00150580 GIT binary patch literal 3420 zcmbtXe{3699lu|`vmHBjk~Ixur@fX5LDQwq=GYPq-cfqM!K$)(c|-M zr|FLgfjFJ-z4!h7zQ5kHBnpB+ex$gkEH7Yk&tH{|EyecT?qJ3)>m!Bz8QaszK%Bfj zDeU|}7ZfVmc7}W{$=!r=^4Jef6;`!uq(gl~=M z^+^cWDJVS~OI%0XO%%P`##J(}ki&{Wr%ah9O(`#A6f&&Pkf|J1CZs=>6hHj7!j{X- zH_A*j{_;jiVQ1;RM${Rw7TAXkd@32H8@ALwwndDyh7E(z2V2uBUs_c!b;& zgO4S6V^)WQ9~8-WX$2(dZ4(d7XP2bQ3Dsp&noz@F+GVAPTudncPn@xf51y z#_y1o$QaC$NYls#n`ej zI+#Jw{kuoVmT19M*?Jn}T(z)1YAS_~N6iq;V!MJV(YUG6w5gJ3Ck?K4pUUp!3Nfzb ziZCXs{`14+dnMQl&kPGA{ylZMcMo+VD19Rb*t%;Pl3YX6P}?4f$7w|YB4i*(1p&U7 z;EV^wk-}AZ47%P?;k41Rj%Dh{V=w{$cozGMxM5`sRsb-s8~b^nzY}Tel@_L~Y}5}s zTIzmNb0kxCw4~<9rsQZwD&dJN>ZqQ?kmaTdq7FZSZ{n27R)`$cSc%*Lb{AB!R(DzN zu6s?bxw8*L4PsAQMmIL^^LWGKef~Bmk$YazphfO^Q$v}^J!dtqld0qtt>=Bs>%#1; z*3%aD`hogX*c-s`c-U}#-4lHR%G*XS=v2(@&*ZKm6o~)nqiYN#)w166VvSDn!&JI% zEn_WTx9;>mLOaQuVF&^{?X1ZnZ%uMZTu~PYx>gCgZXxLRH_(1aI>pH8i9HRao_f(M`5T z`j9BTo+`2iM?&D?w+8l6PItl@7L3s;%W97lF6!*^5SGJ%!TSZzhKw>lWsMV{%AUa9 zotFIs2PEo%GydNkrN)uh;Q5QXmArzYzo^r&DZM1Y3}`#%Conx>jUcZfXqLUdBsr27 z%l^qQPxk@_Ob7t#7+MG~m47uL;-5G5_~f|L73t}E|))j@68NDFD3M?hMX`60w=yZZ}L(2~am1F4PSNst6^V>(>xiguuiq*MG4m2+s=zA$=r< zEv@W_ygDg_gp9zqMf0XS{7n9S`tT9SqQ~$_UUa0kJsqZ$m6qgL_BMHnUrbL~Bz=`y zFlGu&&%l@|7{l#EIH1LCF5+~dCJ0(V@Iw%^)(K?9i|5*0$qk>e!)L1TJ_I5j^Fwta zc$a4pS1?moFmoe{XGw3JtGAA7TIHInbIsj|;#`AuuE9DAmow<%wXK*qxrcdO%(5%f z68k#}76sW&8|=Z1`O9j}VF=p?Gq^)zoY6;T_;tZg7Ng_54&9mR?fR|B^D{c;{FwI7 z^nn~O_VZH+G@6+2ovC{}nO8~#7` Hi^jhJP`JvX literal 0 HcmV?d00001 diff --git a/apps/Configure V2.0/11-chain01-gui.bin b/apps/Configure V2.0/11-chain01-gui.bin new file mode 100644 index 0000000000000000000000000000000000000000..64616477e8510e9e35d112741eee47322170160e GIT binary patch literal 3139 zcmaJ@eN0=|6~BJZU)Y#9F*c7^UUonc^1op=U?Yh08I^$+I6X`aEDr;k!WuR%%+h5hBsY<1dG+RZStXfm0TX*iW zov=0S`{VcSJzw{nd+s^+MlSz~>^3Q8(`RTnBn)5OeXaMhCkF8zIKk``HKwcMun%n3U`U* z$^>c+aSAudt@0`Twq{x2W~?OTz9VNgTw3u=TIxNQ+%7n_G`orZ1=gwp^-FYAc_ec( zsV+-%izkxmiUi{>YEsoCys~LRe>ZbEr8>+Szj!J+V>PGTA3@9ob6E>#B82c?GyR^> zO}PANg@eOcT7kpe3P%ZiBMaL-)T^FN(ic^lq>_3*NkLsm$|ei35K>1>XaRiI%-gA4 zIXcj3V(aHhpv8t%L~4S#RhKBoem=^x-v%aaqhoB$V;J(7vlRZZ$ywUq@R&?~+{X5U z-TOPAcyNU(PxM1({P5@Dnt4aJ8du_(m);fZ|*pMU$xEOl-M@sq`+@HU&z-?sIn#rlna3Zn9yowM5$Uv zka9KiYZ9&ouP@~`YWzZ#!Yw24aL03@$GWyAUFf+Y4{${2h)0fwpshIATO70#jfXeN zH8TQ>*P>Z)1m7x$@k0FbM%*aX;h`Q(>s?H%N3l?%RMLZr0RAi$)Y}qGsJA2-u8`3b zN|vLfd7b3n)=7>RB`rls7fKF4z~*E@5+h{s+Z8*;U(%9x+~5>P+IfR0&a_pCY*4Ie zTMN=`#oWl?^09ENaJL)+UYUB)pB7x@wZbZI=KW#hHYA__A2OcxZKFAka+(Pu9$Dx( z&<6dnIH@@hI~wW;CW1A@Fc?Qo^)s4aXmW<;p|%5XDAXH^B}m4ixJ@!8>KQNm$qPUC z!mqvg6ZW<@bHuBKhPyB=+7=z6rJxvROkrE6DXQx{BTGpCX{&TY?}WOVK?~LhuuJ^FuK80QC9YVRX-HOGB^^8_D7x> zjt3Jg93r#_qjd@Bk3{=mec$Mh41{(PQbvf6nD$nDy+mRZ(ia(emXvKLq?e3;r-Gz? zgB2w1`>bK|-QftP{r_v<=&m{G0cDM`O+m{2F>J1crv<1r@GAyBXW)wlo;L8C2F@|O zzr^P>iErnd1S=K0Vrfa+ZyZ*HbP1MECH9gkKWiEJzLBo>r@@ak9abQ$RHI(_k2y&< zQ%+~iJmOimg3(>3Xct$w8_!B`x_m?N8V4aL?x8n71?<;ZM8{)v>UOzi`@yegC z-@5A-@?Rx+UC35;$H3@Z#FQ0&X=~io+(_E~AbezdG92uS9Sik=K^l8kXtlF5YRtF~ zgm+N%u|~rGOSq1smPXP}Dg}E-Bo28+6hz{idqLG! zWQ-SVju#mA0web@>{>z>8!9t5B_YzP_KUM3jo=lY=2p1e2KbOM;7t);5U-x`%JvZ| zs#=nMN&RUOdr!ScN7NnS*31skRWIsykWG+-5?f`Y>HO7t@#+pyCPe7$hv#F%5R8YQ zP(1Z8I1maBg-BvJ9)*MZ_d_t+_ed-b!_mQk;b)-FxMN0k5>|c>i&%c0B9o9U7&s6z$3=Wz$i{WQp}{c?8BsT*>+;%hQN|9CQIk5qh7XYUve#Vl{7DR8 z=0tMlt<=na_?d|$c1oh^B8I!-nB)Va4;fRuS2O>VP!1K@PN2<)@LzaUR8MQp`pc<7 zzLPVS<@ElSbP*pJ8N{h7+}qhI`do20n+gWD8wQj&)RW1%ym7{uszNk~XxwmZLeHX| zoQExH#Xv6f*bPl)`2~^neqDTke`T5-dty%1ob1QxL39bX3O8V#Q{OK-wUe!l3)E8k z=X<2t3l9B`Ipn_YkOd9ry%Bm?&LUB$g?v7{AsRZCPvTA@Y&|eMlz`q4422S`arT9d zMvjD_1u);O+rF6J*szVA0e4vy9)$X;!Wp&l!g^o;OV7VGgL^%8#SPCGK!r0q&iS1Aws=`X}ZwE(N7g8 zoRH4g;PGtQ>To#l;o+J~+ZD$ar`rl6_^{$(Kw359>m0?m=w)wx0qHmM{ literal 0 HcmV?d00001 diff --git a/apps/Configure V2.0/12-chain02-drv1541.bin b/apps/Configure V2.0/12-chain02-drv1541.bin new file mode 100644 index 0000000000000000000000000000000000000000..f3968a31bb387e4866360d5fb147444d2ac71aae GIT binary patch literal 3339 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 Q^YkqYmuaGE=>Prx3!3YF*#H0l literal 0 HcmV?d00001 diff --git a/apps/Configure V2.0/14-chain04-drv1581.bin b/apps/Configure V2.0/14-chain04-drv1581.bin new file mode 100644 index 0000000000000000000000000000000000000000..4ed70a974e92a8d8e0ea714c5b21a85545dfa5dc GIT binary patch literal 3179 zcmZuzdu$xV8J~Tf_ugm6PEBaaL?PeJpKbR{W8w zZG5$E(!2Amy?(@Z#v66JWuqIDMRrxHnAVMbYFs-CFs&-}k8%-6ZHPk?R)VG^4spM| zBjus)oo05w`5wRTG2hHxM;DHMGX7}sE91W^zFGW7Ntqa$_&__TO=^#6Kh@5S{9j0?3fHiFMB(0=eqBR(^L zOBK^+1ZWdZRZIjH?0q^YS5iby5wGP!2oehK%CzZD`rtAPY94+-EAaBaJREP2?sWO;{ut(5Qe5ue7N_uJ3uj`z*ybSBcx04%`x z#o%JV3P?e=WT28O&;+<{wC?AIeI`ng<`ijB!0jMF3n&na^Ae!$)t!e-WS~}xdjli@ znuAtwISrTs%WK*_#+uEgiDaWR5!pJsS7*1hpbS-YDid~#PRhPj)dF-p#qV>Xr6T}hMX1v#yt2z?PSkoBG#au z?0MJVO*D(r&iYd8eq7c*q8tgC;>+uoGVAA?w6iJVNs)#W3AHI!H~|(+(Y}^*?yw|C zw@74&y5&{5v?Z%3jkkd*zvU&8B@+?2z#dv|b3B$i-nSgpgpQTAjup;FBEHt%$Q00{nrBYaPxc6Nk(?6-=OSh78FMzD z4`%A<2c*GJn0O(irT}i7j%c2ae@0IBTp?j>SD0XW z6uD;N7Hi!eO+TjT#~T67IoIA-Z@A-nScv3~MRN6pNDhG9h~z*cC~zvEzzRnjrsj%c zWL-_u{~Txp2O3GE74Git?&xj&%#|(c6mSJbju+(!j;GzOLHtH!7Uf!R7A_>kQ=Y%( z{AV7q_h2cle{qRjq5;@DyNFybr|tC}1AE0M`JHb-m}J^SytTa%{aj-5>{d%sPxM=& z`bxj?dow)u#>fQf&z^}~!QB-_PN`4ohb&IrrPBupXK!HYPTh_%b%$=CLW~tQFxscy z!qni~YOqR=sx1Qjo!TtG+bsf}S6c*{B+AAcNi*8L|ew5p}O_+&0@%iaOHZL`x|f`A|ufQ&Xwj&-J9Tvfvv=u$^GQ9?rW`4d0f?n$=Q4O^?RG8JO4snH`w}+L%m6O0EzL{X z6*qUUu9-o_<(sa&n#;`PGqDgZjpx}m_@e1!`Ajs<+Mz9*9{?iPJWB4Z02`ek zgY-{CrGk2W96HVFI1Q5_{5Qa|(d{-WQK8!m!t24+aah%a%h$&jhay!F2XG(Pz^$hk zoC6=#nvYn!QnR2uvUMjy`9vLNH12#8|6u&nk5hoT{g2t6J8`$}lD<_W;#^k|ju)K> z(5ZOn*>c9Slxe_A75vU*YD!6?G#WZKbrSz(65m&WBY>ibe5Mw4gJ%&p`i2O_^&K6G zYmaUf)Tec8K;5l_$^zX@29iH6863X9lqkcHDl3PqK^0XYn2}XQJzK>0y8$tabh+kK z&m^F z81*>+wuS(04f3K2h1=bIG3bun-6v3Ws?^;LUr}eHRC-w*9$<^F?$rlTRRJxfgn{q~ zI1KOEnStYjK%a_+$rqI8j}HOaEqpL?;J~LZ$JM!(5)kILl;#o4?9|1Jj)mXWw6G<5 z;k3aYmMk&a2R8zj_+tH9aAT4kfVw*iAu$Dd8g$F9I18x*W9bal=9^aekp+lvfrBw-3#WvayWlN5b9l;4D(TEe!&6jLxj3*os~6!JkU^LItV zK$Y8oa=dd63GjiD2vo=sXr05Wf)fW-Fhe`)+}=q#@pYkQ(pkly2sZFv7kt6G4zS`9 z)@p=kcw<<|4j*P`OdhPsZS|jP93G_(`zlmE7l-ZBnXtMNR$sz8oG@X-LUTI9uHj2J zO;M5b(G>^;hi!p$m0`r+6R8KNh#aP3f_^>m{E7%jQ>hd=oFaWG(v>2eyA*ngHPCnv z#hI`b#Z?qn@HAXaKmq+N{r`aY*N3`#B zqqEhGew!)a=hp!F1(661!^3bNlq8+!^+Px# literal 0 HcmV?d00001 diff --git a/apps/Configure V2.0/15-chain05-drvram.bin b/apps/Configure V2.0/15-chain05-drvram.bin new file mode 100644 index 0000000000000000000000000000000000000000..3c2b7ff13a49ebdbe9be61fa117d18f9faf26a91 GIT binary patch literal 1792 zcmYjRZ)g)|7{6RD*URN{Nz%@0!6&+5hpvG-dKWsEB85TDDFc`ai=)8Q8!Pubt z;LJkak+eCyG|f>3#}W3rT=k%ST01PW-74*n@#2OuG%^QvwIAH6#mymh&n2zvd&k}L zKJWAVp67l3?JwKqoACTn{-eBHzE|dqpurZ8>l6B6eMr|w^wFcE2TRY79w_c9DkIlM zlh=z$rdVUtyve^x$;agk`aws>^&$G)`Fz&)W=?&Z3rpy#%d>c` zkX0<9{!Qb6#b6P&&JIyt7(^Yj+ZFhMG6GKX|H{0pjNsJTs3L)^E9ga??okADfab%Z zmB9hU+WTyqcejl8#Hg@@b6OX=bQz$hz$t-n3%wI;T!|^@_RJ97fqDV2699q$C81k0 zE|#TZu_B?d*@|dNRs^ZD6-F^VSs|D8lW2mpCWt>lgaoMgt*2P1@TP!LGbG~hi#%l) zo6yfibYn)vf{OhWFKL%3(qQg$SMM5}0WGs><93(v0903pZn+y?(;ym#e#hAqo zh*;Fw#Q>2gdpUSnB9bpiubIr4D-xls^)#096vYao;#L($m399cG4Ws@dQFGO1uYg! z5QtSnsW2uJv(SKqB>)bR;6fT)k``9=UFNFoNn@YQq%lWZ>{WwqvQ|L{?Sq7d$7m41 zOlBQUsYh(fx<;+zo+2=EWaV~>7lX0VER~WE7oV_5`PK?mN{L=3M`Ver3v-WUS z>3!qy+vvlOK0fxrC+NuTUEPc@NaO@*N)SGAwr%N4xt`p{MTThnvg|~`Kgy#6`egq- z%+)=f?7wZY6=sS_J8fgJ6sqbgmIuof?(4SsY}=)XenrK+iknm{Z&yet0T#?eg_~kB z&Nkx1e!^h^qEGyqCrt#6NuwUPae(--j|iAUFPA`5#UZGr>M15YPyfvoJn3YQPW-WB zg)9z%l)MmeZDi0f)pCSGPw`L*WQeKz@jD#j7O1lsA62 zv%=JVE9u@P`j4ta+P8E?TO!RQG#A$S_?_@%|05hi_N=qjMbv|&<;~TDO#Td$pX?VK zo6H#|bGG>wlW}2r2-S|J@#*(RaZ6nT#qV}u!0YSliw!jM&F~o~GTab1Pc!+gEs7|v z9mnAW?g}gq%L!q0C=GV$3w4wLX?btWs^F3hn@`tmx?=$cOzwgdTQ7b{DObIeaQ?oe z(Y+i~F|=-KuNYd?#ShkOcpn&A2els> z;KqF;v0btASv28Js>ZO@@>%>H>|of!tkZQbih_@I(q|UYW@C-p-XNfn6thTMO`V1t zeF(8?g0S;cUfX+M&tRT-6NF6=UxIM%5FCU5S{+t%Q&l52;KRPDD+Wy5&%Vz=xw@x8 z;)|s&x_y;m>sjDP07Gstt5(skv*Yzq$*I_<0tb5=eLDm$G0~TL-bsC4s!m`1^GWlz mSNjJBhrhb;H@&(=l}m;Miy+t4%s literal 0 HcmV?d00001 diff --git a/apps/Configure V2.0/Configure V2.0.grc b/apps/Configure V2.0/Configure V2.0.grc new file mode 100644 index 00000000..908e57cc --- /dev/null +++ b/apps/Configure V2.0/Configure V2.0.grc @@ -0,0 +1,14 @@ +HEADER AUTO_EXEC "CONFIGURE" "Configure" "2.0" { + author "Berkeley Softworks" + info "Allows varying disk configurations: 1541, 1571, 1581 & RAM disks supported." + date 88 8 20 13 45 + dostype USR + mode any + structure VLIR +} + +MEMORY { + stacksize 0x0000 + overlaysize 0x9000 + overlaynums 0 1 2 3 4 5 +} diff --git a/apps/Configure V2.0/Configure V2.0.s b/apps/Configure V2.0/Configure V2.0.s new file mode 100644 index 00000000..337f4d2b --- /dev/null +++ b/apps/Configure V2.0/Configure V2.0.s @@ -0,0 +1,85 @@ + + .segment "DIRENTRY" + + .byte 131 + .byte $0c, $11 ; start t&s, ignore + .byte "CONFIGURE" + .res (16 - 9), $a0 + .byte $0c, $09 ; header t&s, ignore + .byte 1 + .byte 14 + .byte 88, 8, 20, 13, 45 + + .word $4e ; ??? what ??? + .byte "PRG formatted GEOS file V1.0" + + .segment "FILEINFO" + + .import __VLIR0_START__, __STARTUP_RUN__ + + .byte 3, 21, 63 | $80 + + ; Icon + ;.byte $ff,$ff,$ff,$80,$00,$01 + .byte %11111111, %11111111, %11111111 + .byte %10000000, %00000000, %00000001 + .byte $81,$c1,$81,$88,$22,$41,$9c + .byte $c2,$41,$89,$02,$41,$81,$e9,$81,$80,$00,$01,$87,$ff,$f9,$88,$00 + .byte $09,$90,$00,$19,$bf,$ff,$f9,$a0,$00,$39,$a7,$ff,$39,$a0,$f8,$39 + .byte $a0,$00,$35,$bf,$ff,$e9,$95,$55,$51,$8a,$aa,$a1 + ;.byte $80,$00,$01,$ff,$ff,$ff + .byte %10000000, %00000000, %00000001 + .byte %11111111, %11111111, %11111111 + + .byte 131, 14, 1 + .word __VLIR0_START__, __VLIR0_START__ - 1, __STARTUP_RUN__ + + .byte "Configure" + .res (12 - 9), $20 + .byte "V2.0" + .byte 0, 0, 0 + .byte $80 + + .byte "Berkeley Softworks" + .byte 0 + ;.res (63 - 19) + .res 21 + ; ??? junk ??? + .byte $e1, $e1, $e1 + .byte $ff, $01, $ff, $01, $ff, $01, $ff, $01 + .byte $aa, $55, $aa, $55, $aa, $55, $aa, $55 + .byte $aa, $55, $aa, $55 + + .byte "Allows varying disk configurations: 1541, 1571, 1581 & RAM disks supported." + .byte 0 + ; ??? junk ??? + .byte $00, $ff, $00, $ff, $00 + .byte $54, $84 + .byte $ff, $00, $ff, $00, $ff, $00, $00, $00, $ff, $00, $ff, $00 + + .segment "RECORDS" + + .import __VLIR0_START__, __VLIR0_LAST__, __BSS_SIZE__ + .import __VLIR1_START__, __VLIR1_LAST__ + .import __VLIR2_START__, __VLIR2_LAST__ + .import __VLIR3_START__, __VLIR3_LAST__ + .import __VLIR4_START__, __VLIR4_LAST__ + .import __VLIR5_START__, __VLIR5_LAST__ + + .byte .lobyte ((__VLIR0_LAST__ - __VLIR0_START__ - __BSS_SIZE__ - 1) / 254) + 1 + .byte .lobyte ((__VLIR0_LAST__ - __VLIR0_START__ - __BSS_SIZE__ - 1) .MOD 254) + 2 + .byte .lobyte ((__VLIR1_LAST__ - __VLIR1_START__ - 1) / 254) + 1 + .byte .lobyte ((__VLIR1_LAST__ - __VLIR1_START__ - 1) .MOD 254) + 2 + .byte .lobyte ((__VLIR2_LAST__ - __VLIR2_START__ - 1) / 254) + 1 + .byte .lobyte ((__VLIR2_LAST__ - __VLIR2_START__ - 1) .MOD 254) + 2 + .byte .lobyte ((__VLIR3_LAST__ - __VLIR3_START__ - 1) / 254) + 1 + .byte .lobyte ((__VLIR3_LAST__ - __VLIR3_START__ - 1) .MOD 254) + 2 + .byte .lobyte ((__VLIR4_LAST__ - __VLIR4_START__ - 1) / 254) + 1 + .byte .lobyte ((__VLIR4_LAST__ - __VLIR4_START__ - 1) .MOD 254) + 2 + .byte .lobyte ((__VLIR5_LAST__ - __VLIR5_START__ - 1) / 254) + 1 + .byte .lobyte ((__VLIR5_LAST__ - __VLIR5_START__ - 1) .MOD 254) + 2 + + .export __STACKSIZE__ : absolute = $0000 + + .export __OVERLAYSIZE__ : absolute = $9000 + diff --git a/apps/Configure V2.0/Makefile b/apps/Configure V2.0/Makefile new file mode 100644 index 00000000..08cb014a --- /dev/null +++ b/apps/Configure V2.0/Makefile @@ -0,0 +1,7 @@ + +configure.cvt: *.s geos.cfg + ca65 "Configure V2.0.s" + ca65 boot.s + ca65 binaries.s + ld65 -o configure.cvt -C geos.cfg "Configure V2.0.o" boot.o binaries.o + diff --git a/apps/Configure V2.0/binaries.s b/apps/Configure V2.0/binaries.s new file mode 100644 index 00000000..b6bf87c8 --- /dev/null +++ b/apps/Configure V2.0/binaries.s @@ -0,0 +1,15 @@ + +.segment "OVERLAY1" +.incbin "11-chain01-gui.bin" + +.segment "OVERLAY2" +.incbin "12-chain02-drv1541.bin" ; should come from ../../drv/ + +.segment "OVERLAY3" +.incbin "13-chain03-drv1571.bin" ; should come from ../../drv/ + +.segment "OVERLAY4" +.incbin "14-chain04-drv1581.bin" ; should come from ../../drv/ + +.segment "OVERLAY5" +.incbin "15-chain05-drvram.bin" ; should come from ../../drv/ diff --git a/apps/Configure V2.0/boot.s b/apps/Configure V2.0/boot.s new file mode 100644 index 00000000..e1079f6a --- /dev/null +++ b/apps/Configure V2.0/boot.s @@ -0,0 +1,3 @@ + +.segment "STARTUP" +.incbin "10-chain00-boot.bin" diff --git a/apps/Configure V2.0/geos.cfg b/apps/Configure V2.0/geos.cfg new file mode 100644 index 00000000..4bf33fdf --- /dev/null +++ b/apps/Configure V2.0/geos.cfg @@ -0,0 +1,84 @@ +FEATURES { + STARTADDRESS: default = $0400; +} +SYMBOLS { + __BACKBUFSIZE__: type = weak, value = $2000; + __HIMEM__: type = weak, value = $8000 - __BACKBUFSIZE__; + __OVERLAYSIZE__: type = weak, value = $0000; + __OVERLAYADDR__: type = weak, value = __HIMEM__ - __OVERLAYSIZE__; + __STACKSIZE__: type = weak, value = $0400; # 1k stack + __STACKADDR__: type = weak, value = __OVERLAYADDR__ - __STACKSIZE__; +} +MEMORY { + CVT: file = %O, start = $0, size = $40000; + ZP: define = yes, start = $58, size = $1A + $06; + VLIR0: define = yes, start = %S, size = __STACKADDR__ - %S; + VLIR1: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__; + VLIR2: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__; + VLIR3: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__; + VLIR4: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__; + VLIR5: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__; + VLIR6: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__; + VLIR7: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__; + VLIR8: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__; + VLIR9: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__; + VLIR10: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__; + VLIR11: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__; + VLIR12: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__; + VLIR13: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__; + VLIR14: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__; + VLIR15: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__; + VLIR16: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__; + VLIR17: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__; + VLIR18: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__; + VLIR19: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__; +} +SEGMENTS { + ZEROPAGE: type = zp, load = ZP; + EXTZP: type = zp, load = ZP, optional = yes; + DIRENTRY: type = ro, load = CVT, align = $FE; + FILEINFO: type = ro, load = CVT, align = $FE; + RECORDS: type = ro, load = CVT, align = $FE, optional = yes; + STARTUP: type = ro, run = VLIR0, load = CVT, align_load = $FE, define = yes; + LOWCODE: type = ro, run = VLIR0, load = CVT, optional = yes; + ONCE: type = ro, run = VLIR0, load = CVT, optional = yes; + CODE: type = ro, run = VLIR0, load = CVT; + RODATA: type = ro, run = VLIR0, load = CVT; + DATA: type = rw, run = VLIR0, load = CVT; + INIT: type = bss, load = VLIR0, optional = yes; + BSS: type = bss, load = VLIR0, define = yes; + OVERLAY1: type = ro, run = VLIR1, load = CVT, align_load = $FE, optional = yes; + OVERLAY2: type = ro, run = VLIR2, load = CVT, align_load = $FE, optional = yes; + OVERLAY3: type = ro, run = VLIR3, load = CVT, align_load = $FE, optional = yes; + OVERLAY4: type = ro, run = VLIR4, load = CVT, align_load = $FE, optional = yes; + OVERLAY5: type = ro, run = VLIR5, load = CVT, align_load = $FE, optional = yes; + OVERLAY6: type = ro, run = VLIR6, load = CVT, align_load = $FE, optional = yes; + OVERLAY7: type = ro, run = VLIR7, load = CVT, align_load = $FE, optional = yes; + OVERLAY8: type = ro, run = VLIR8, load = CVT, align_load = $FE, optional = yes; + OVERLAY9: type = ro, run = VLIR9, load = CVT, align_load = $FE, optional = yes; + OVERLAY10: type = ro, run = VLIR10, load = CVT, align_load = $FE, optional = yes; + OVERLAY11: type = ro, run = VLIR11, load = CVT, align_load = $FE, optional = yes; + OVERLAY12: type = ro, run = VLIR12, load = CVT, align_load = $FE, optional = yes; + OVERLAY13: type = ro, run = VLIR13, load = CVT, align_load = $FE, optional = yes; + OVERLAY14: type = ro, run = VLIR14, load = CVT, align_load = $FE, optional = yes; + OVERLAY15: type = ro, run = VLIR15, load = CVT, align_load = $FE, optional = yes; + OVERLAY16: type = ro, run = VLIR16, load = CVT, align_load = $FE, optional = yes; + OVERLAY17: type = ro, run = VLIR17, load = CVT, align_load = $FE, optional = yes; + OVERLAY18: type = ro, run = VLIR18, load = CVT, align_load = $FE, optional = yes; + OVERLAY19: type = ro, run = VLIR19, load = CVT, align_load = $FE, optional = yes; +} +FEATURES { + CONDES: type = constructor, + label = __CONSTRUCTOR_TABLE__, + count = __CONSTRUCTOR_COUNT__, + segment = ONCE; + CONDES: type = destructor, + label = __DESTRUCTOR_TABLE__, + count = __DESTRUCTOR_COUNT__, + segment = RODATA; + CONDES: type = interruptor, + label = __INTERRUPTOR_TABLE__, + count = __INTERRUPTOR_COUNT__, + segment = RODATA, + import = __CALLIRQ__; +} diff --git a/reference/bsw/Configure V2.0.cvt b/reference/bsw/Configure V2.0.cvt new file mode 100755 index 0000000000000000000000000000000000000000..3b83eb0afce19fa8b514fcf19dbb96c4a04075a1 GIT binary patch literal 19826 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 literal 0 HcmV?d00001 From 0ab45abb194aece9728964deb48e42525bd8c5bc Mon Sep 17 00:00:00 2001 From: Maciej Witkowiak Date: Sat, 29 May 2021 19:06:12 +0200 Subject: [PATCH 02/16] correct startup address --- apps/Configure V2.0/.gitignore | 3 +++ apps/Configure V2.0/Configure V2.0.s | 9 +++++---- apps/Configure V2.0/Makefile | 4 +++- apps/Configure V2.0/boot.s | 4 ++++ apps/Configure V2.0/geos.cfg | 2 +- 5 files changed, 16 insertions(+), 6 deletions(-) diff --git a/apps/Configure V2.0/.gitignore b/apps/Configure V2.0/.gitignore index 8f2e068e..6774e288 100644 --- a/apps/Configure V2.0/.gitignore +++ b/apps/Configure V2.0/.gitignore @@ -1,2 +1,5 @@ *.o *.cvt +*.map +*.lab +.*.swp diff --git a/apps/Configure V2.0/Configure V2.0.s b/apps/Configure V2.0/Configure V2.0.s index 337f4d2b..521cf8db 100644 --- a/apps/Configure V2.0/Configure V2.0.s +++ b/apps/Configure V2.0/Configure V2.0.s @@ -15,7 +15,8 @@ .segment "FILEINFO" - .import __VLIR0_START__, __STARTUP_RUN__ + .import __VLIR0_START__ + .import APP_START .byte 3, 21, 63 | $80 @@ -32,17 +33,17 @@ .byte %11111111, %11111111, %11111111 .byte 131, 14, 1 - .word __VLIR0_START__, __VLIR0_START__ - 1, __STARTUP_RUN__ + .word __VLIR0_START__, __VLIR0_START__ - 1, APP_START .byte "Configure" .res (12 - 9), $20 .byte "V2.0" .byte 0, 0, 0 - .byte $80 + .byte $80 ; XXX what mode is that? .byte "Berkeley Softworks" .byte 0 - ;.res (63 - 19) + ;.res (63 - 19) ; uncomment if we ignore junk below .res 21 ; ??? junk ??? .byte $e1, $e1, $e1 diff --git a/apps/Configure V2.0/Makefile b/apps/Configure V2.0/Makefile index 08cb014a..84bb0472 100644 --- a/apps/Configure V2.0/Makefile +++ b/apps/Configure V2.0/Makefile @@ -3,5 +3,7 @@ configure.cvt: *.s geos.cfg ca65 "Configure V2.0.s" ca65 boot.s ca65 binaries.s - ld65 -o configure.cvt -C geos.cfg "Configure V2.0.o" boot.o binaries.o + ld65 -o configure.cvt -Ln configure.lab -m configure.map -C geos.cfg "Configure V2.0.o" boot.o binaries.o +clean: + @rm *.o configure.cvt configure.lab configure.map diff --git a/apps/Configure V2.0/boot.s b/apps/Configure V2.0/boot.s index e1079f6a..b9dbc65b 100644 --- a/apps/Configure V2.0/boot.s +++ b/apps/Configure V2.0/boot.s @@ -1,3 +1,7 @@ +.import __STARTUP_RUN__ +.global APP_START + .segment "STARTUP" +APP_START = __STARTUP_RUN__+5 .incbin "10-chain00-boot.bin" diff --git a/apps/Configure V2.0/geos.cfg b/apps/Configure V2.0/geos.cfg index 4bf33fdf..beb29ab1 100644 --- a/apps/Configure V2.0/geos.cfg +++ b/apps/Configure V2.0/geos.cfg @@ -1,5 +1,5 @@ FEATURES { - STARTADDRESS: default = $0400; + STARTADDRESS: default = $0406; } SYMBOLS { __BACKBUFSIZE__: type = weak, value = $2000; From 4c32025020411f79cb30a621175983a6eb87bc2d Mon Sep 17 00:00:00 2001 From: Maciej Witkowiak Date: Sat, 29 May 2021 19:09:58 +0200 Subject: [PATCH 03/16] purpose of that file --- apps/Configure V2.0/Configure V2.0.grc | 32 ++++++++++++---------- 1 file changed, 18 insertions(+), 14 deletions(-) mode change 100644 => 100755 apps/Configure V2.0/Configure V2.0.grc diff --git a/apps/Configure V2.0/Configure V2.0.grc b/apps/Configure V2.0/Configure V2.0.grc old mode 100644 new mode 100755 index 908e57cc..7e8eeea0 --- a/apps/Configure V2.0/Configure V2.0.grc +++ b/apps/Configure V2.0/Configure V2.0.grc @@ -1,14 +1,18 @@ -HEADER AUTO_EXEC "CONFIGURE" "Configure" "2.0" { - author "Berkeley Softworks" - info "Allows varying disk configurations: 1541, 1571, 1581 & RAM disks supported." - date 88 8 20 13 45 - dostype USR - mode any - structure VLIR -} - -MEMORY { - stacksize 0x0000 - overlaysize 0x9000 - overlaynums 0 1 2 3 4 5 -} + +; this was used to prepare initial version of Configure V2.0.s, which was later manually edited +; DON'T run grc65 again on this file! + +HEADER AUTO_EXEC "CONFIGURE" "Configure" "2.0" { + author "Berkeley Softworks" + info "Allows varying disk configurations: 1541, 1571, 1581 & RAM disks supported." + date 88 8 20 13 45 + dostype USR + mode any + structure VLIR +} + +MEMORY { + stacksize 0x0000 + overlaysize 0x9000 + overlaynums 0 1 2 3 4 5 +} From 83016fb9157f67a2a382972743709881cb7f7a16 Mon Sep 17 00:00:00 2001 From: Maciej Witkowiak Date: Sat, 29 May 2021 19:11:32 +0200 Subject: [PATCH 04/16] removed unused chains --- apps/Configure V2.0/00-direntry.bin | Bin 254 -> 0 bytes apps/Configure V2.0/01-fileheader.bin | Bin 254 -> 0 bytes apps/Configure V2.0/02-chains.bin | Bin 254 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 apps/Configure V2.0/00-direntry.bin delete mode 100644 apps/Configure V2.0/01-fileheader.bin delete mode 100644 apps/Configure V2.0/02-chains.bin diff --git a/apps/Configure V2.0/00-direntry.bin b/apps/Configure V2.0/00-direntry.bin deleted file mode 100644 index 04808acdf9b6e42f89a90f96c6334a42bf35cc72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmZqX5p?$VbMtf$4RT!o0X&?Hd=VTXyt;l20YUBxY57IDi6teeDGKhc{=o`qnK`Kn MVTO7J48s5b0GCe@r2qf` diff --git a/apps/Configure V2.0/01-fileheader.bin b/apps/Configure V2.0/01-fileheader.bin deleted file mode 100644 index 5b13ee3b4862c1c9f156854d3422166ef3bd91e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmZP;-T(jp{{{xe#)FL=N{(|5Id(ERHoj~GinRa#*}=d$fkATr|DOvOESLYcT=2tk z0fXuO|1YP826nAl2vh^q+swzv#=^?N&ElM&mzJ4cT9m4wpb%!HXTZR~(BPC>l%1NB zTB#76pH@6GI&!X$~eW3>DNAf*gIpii;JBOA89}i%L>c^cWca17S!Di2M(90*C|v D41!xH diff --git a/apps/Configure V2.0/02-chains.bin b/apps/Configure V2.0/02-chains.bin deleted file mode 100644 index fa823137072931b54e3c248741cb81c076758eb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 Wcmd-p=Z)c0<16EB;oxT&aR2~5Rsv4| From 42c93f04718db770e3234a566162f803defb3286 Mon Sep 17 00:00:00 2001 From: Maciej Witkowiak Date: Sat, 29 May 2021 19:29:19 +0200 Subject: [PATCH 05/16] disassembled boot chain --- apps/Configure V2.0/10-chain00-boot.bin | Bin 3420 -> 0 bytes apps/Configure V2.0/10-chain00.s | 2255 +++++++++++++++++++++ apps/Configure V2.0/Makefile | 3 +- 3 files changed, 2257 insertions(+), 1 deletion(-) delete mode 100644 apps/Configure V2.0/10-chain00-boot.bin create mode 100755 apps/Configure V2.0/10-chain00.s diff --git a/apps/Configure V2.0/10-chain00-boot.bin b/apps/Configure V2.0/10-chain00-boot.bin deleted file mode 100644 index 2a18c374f97b94d20c95fe49ef9b384c00150580..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3420 zcmbtXe{3699lu|`vmHBjk~Ixur@fX5LDQwq=GYPq-cfqM!K$)(c|-M zr|FLgfjFJ-z4!h7zQ5kHBnpB+ex$gkEH7Yk&tH{|EyecT?qJ3)>m!Bz8QaszK%Bfj zDeU|}7ZfVmc7}W{$=!r=^4Jef6;`!uq(gl~=M z^+^cWDJVS~OI%0XO%%P`##J(}ki&{Wr%ah9O(`#A6f&&Pkf|J1CZs=>6hHj7!j{X- zH_A*j{_;jiVQ1;RM${Rw7TAXkd@32H8@ALwwndDyh7E(z2V2uBUs_c!b;& zgO4S6V^)WQ9~8-WX$2(dZ4(d7XP2bQ3Dsp&noz@F+GVAPTudncPn@xf51y z#_y1o$QaC$NYls#n`ej zI+#Jw{kuoVmT19M*?Jn}T(z)1YAS_~N6iq;V!MJV(YUG6w5gJ3Ck?K4pUUp!3Nfzb ziZCXs{`14+dnMQl&kPGA{ylZMcMo+VD19Rb*t%;Pl3YX6P}?4f$7w|YB4i*(1p&U7 z;EV^wk-}AZ47%P?;k41Rj%Dh{V=w{$cozGMxM5`sRsb-s8~b^nzY}Tel@_L~Y}5}s zTIzmNb0kxCw4~<9rsQZwD&dJN>ZqQ?kmaTdq7FZSZ{n27R)`$cSc%*Lb{AB!R(DzN zu6s?bxw8*L4PsAQMmIL^^LWGKef~Bmk$YazphfO^Q$v}^J!dtqld0qtt>=Bs>%#1; z*3%aD`hogX*c-s`c-U}#-4lHR%G*XS=v2(@&*ZKm6o~)nqiYN#)w166VvSDn!&JI% zEn_WTx9;>mLOaQuVF&^{?X1ZnZ%uMZTu~PYx>gCgZXxLRH_(1aI>pH8i9HRao_f(M`5T z`j9BTo+`2iM?&D?w+8l6PItl@7L3s;%W97lF6!*^5SGJ%!TSZzhKw>lWsMV{%AUa9 zotFIs2PEo%GydNkrN)uh;Q5QXmArzYzo^r&DZM1Y3}`#%Conx>jUcZfXqLUdBsr27 z%l^qQPxk@_Ob7t#7+MG~m47uL;-5G5_~f|L73t}E|))j@68NDFD3M?hMX`60w=yZZ}L(2~am1F4PSNst6^V>(>xiguuiq*MG4m2+s=zA$=r< zEv@W_ygDg_gp9zqMf0XS{7n9S`tT9SqQ~$_UUa0kJsqZ$m6qgL_BMHnUrbL~Bz=`y zFlGu&&%l@|7{l#EIH1LCF5+~dCJ0(V@Iw%^)(K?9i|5*0$qk>e!)L1TJ_I5j^Fwta zc$a4pS1?moFmoe{XGw3JtGAA7TIHInbIsj|;#`AuuE9DAmow<%wXK*qxrcdO%(5%f z68k#}76sW&8|=Z1`O9j}VF=p?Gq^)zoY6;T_;tZg7Ng_54&9mR?fR|B^D{c;{FwI7 z^nn~O_VZH+G@6+2ovC{}nO8~#7` Hi^jhJP`JvX diff --git a/apps/Configure V2.0/10-chain00.s b/apps/Configure V2.0/10-chain00.s new file mode 100755 index 00000000..02a37a25 --- /dev/null +++ b/apps/Configure V2.0/10-chain00.s @@ -0,0 +1,2255 @@ + +; to make config.inc happy - GEOS 64 with 1541 +bsw=1 +drv1541=1 + +.include "const.inc" +.include "geossym.inc" +.include "geosmac.inc" +.include "config.inc" +.include "kernal.inc" +.include "c64.inc" +.include "jumptab.inc" + +.import __STARTUP_RUN__ +.global APP_START + +L1DB6 = $1DB6 +L1DC6 = $1DC6 +L1DC7 = $1DC7 +L1DC8 = $1DC8 +L1DC9 = $1DC9 +L1DCA = $1DCA +L1DCB = $1DCB +L1DCC = $1DCC +L1DCD = $1DCD +L1DCE = $1DCE +L1DEF = $1DEF +L1DF0 = $1DF0 +L1DF3 = $1DF3 +L1DF4 = $1DF4 +L522D = $522D +;RunREU = $6000 +L6216 = $6216 +L8001 = $8001 +L848F = $848F +L8490 = $8490 +DC08 = $DC08 +;EXP_BASE = $DF00 +LDF01 = $DF01 +LDF02 = $DF02 +LDF03 = $DF03 +LDF04 = $DF04 +LDF05 = $DF05 +LDF06 = $DF06 +LDF07 = $DF07 +LDF08 = $DF08 +LDF09 = $DF09 +LDF0A = $DF0A +LFF93 = $FF93 +LFF96 = $FF96 +LFFA5 = $FFA5 +LFFA8 = $FFA8 +LFFAB = $FFAB +LFFAE = $FFAE +LFFB1 = $FFB1 +LFFB4 = $FFB4 + + + .segment "STARTUP" +APP_START = __STARTUP_RUN__+5 + + + .byte $02,$01 + +L0408 + .byte $00,$00 + +L040A + .byte $00 + +L040B + JSR L047C + + LDA firstBoot + CMP #$FF + BNE L0418 + + JMP L04EC + +L0418 + BIT LC013 + BMI L0479 + + LDA curDrive + STA L1DC8 + TAY + LDA _driveType,Y + STA L1DC9 + JSR L0D82 + + JSR i_MoveData + + .word $5000,$1DFC,$0400 + +L0436 + LDA #$01 + STA NUMDRV + JSR L0558 + + LDA L1DC8 + JSR L073D + + JSR L0E32 + + JSR L0D6F + + LDA ramExpSize + BNE L0470 + + LDA NUMDRV + CMP #$02 + BCC L0470 + + LDA driveType + CMP L848F + BNE L0462 + + CMP #$03 + BNE L0470 + +L0462 + JSR L0738 + + JSR PurgeTurbo + + JSR L0738 + + LDA #$01 + STA NUMDRV +L0470 + JSR i_MoveData + + .word $1DFC,$5000,$0400 + +L0479 + JMP EnterDeskTop + +L047C + BIT LC013 + BMI L048E + + LDA LC00F + CMP #$14 + BCS L048E + + JSR L04CC + + JSR L048F + +L048E + RTS + +L048F + LDA #$C3 + STA r0H + LDA #$10 + STA r0L + LDY #$00 + STY r1L + JSR L04A2 + + LDA #$05 + STA r1L +L04A2 + LDX r1L +L04A4 + LDA (r0L),Y + CMP L04C2,X + BEQ L04B3 + + CPX r1L + BNE L04A2 + + INY + BNE L04A2 + + RTS + +L04B3 + INY + BNE L04B7 + + RTS + +L04B7 + INX + LDA L04C2,X + BNE L04A4 + + LDA #$34 + STA (r0L),Y + RTS + +L04C2 + .byte $AD,$5C,$81,$C9,$00 + + .byte " V1.",$00 + +L04CC + LDA LC00F + CMP #$13 + BNE L04EB + + LDA LC2B2 + STA r0H + LDA LC2B1 + STA r0L + LDY #$00 + LDA (r0L),Y + CMP #$EA + BEQ L04EB + + LDY #$03 + LDA #$3D + STA (r0L),Y +L04EB + RTS + +L04EC + JSR L0522 + + TXA + BNE L050E + + LDA #$01 + JSR PointRecord + + LDA #$11 + STA r7H + LDA #$62 + STA r7L + LDA #$FF + STA r2L + STA r2H + JSR ReadRecord + + TXA + BNE L050E + + JMP L1205 + +L050E + JMP EnterDeskTop + + .byte "Configure V2.0",$00 + +L0522 + LDX #$00 + LDA L06AC + BNE L0557 + + LDA #$1D + STA r6H + LDA #$A5 + STA r6L + LDA #$0E + STA r7L + LDA #$01 + STA r7H + LDA #$05 + STA r10H + LDA #$11 + STA r10L + JSR FindFTypes + + TXA + BNE L0557 + + LDA #$1D + STA r0H + LDA #$A5 + STA r0L + JSR OpenRecordFile + + LDA #$FF + STA L06AC +L0557 + RTS + +L0558 + JSR ExitTurbo + + LDA ramExpSize + BEQ L0563 + + LDA L040A +L0563 + AND #$A0 + STA sysRAMFlg + STA LC012 + LDA L1DC9 + CMP #$02 + BCS L057B + + JSR L0C33 + + CMP #$FF + BNE L057B + + LDA #$01 +L057B + STA L1DCA + LDA curDrive + EOR #$01 + JSR SetDevice + + JSR L0C33 + + CMP #$FF + BNE L058F + + LDA #$00 +L058F + STA L1DCB + LDA ramExpSize + BEQ L05A3 + + LDA #$0A + JSR SetDevice + + JSR L0C33 + + CMP #$FF + BNE L05A5 + +L05A3 + LDA #$00 +L05A5 + STA L1DCC + LDA L1DC8 + JSR SetDevice + + JSR L06B1 + + JSR L064A + + TXA + BNE L05F7 + + JSR PurgeTurbo + + LDY #$03 + LDA #$00 + STA NUMDRV +L05C1 + STA driveType,Y + STA turboFlags,Y + STA _ramBase,Y + STA L88C7,Y + DEY + BPL L05C1 + + JSR L05F8 + + LDA L1DCA + JSR L0768 + + LDA L1DCB + BEQ L05E7 + + JSR L0738 + + LDA L1DCB + JSR L0768 + +L05E7 + LDA L1DCC + BEQ L05F7 + + LDA #$0A + JSR L073D + + LDA L1DCC + JSR L0768 + +L05F7 + RTS + +L05F8 + LDA ramExpSize + BEQ L0615 + + LDA #$08 + STA L1DEF + LDA L1DCA + STA L1DF3 +L0608 + JSR L0986 + + INC L1DEF + LDA L1DEF + CMP #$0C + BNE L0608 + +L0615 + RTS + + LDY curDrive + LDA _driveType,Y + BEQ L0649 + + TAY + JSR L0A32 + + LDA L06AD,Y + BNE L0649 + + LDA #$FF + STA L06AD,Y + LDA L0A22,Y + STA r1L + LDA L0A26,Y + STA r1H + LDA #$90 + STA r0H + LDA #$00 + STA r0L + LDA #$0D + STA r2H + LDA #$80 + STA r2L + JSR MoveData + +L0649 + RTS + +L064A + LDA L1DCA + JSR L0672 + + BNE L0671 + + LDA L1DCB + JSR L0672 + + BNE L0671 + + LDA L1DCC + JSR L0672 + + BNE L0671 + + LDX #$00 + LDA L06AC + BEQ L0671 + + JSR CloseRecordFile + + LDA #$00 + STA L06AC +L0671 + RTS + +L0672 + LDX #$00 + TAY + BEQ L06AA + + JSR L0A32 + + LDA L06AD,Y + BNE L06AA + + TYA + PHA + JSR L0522 + + PLA + TAY + TXA + BNE L06AA + + LDA #$FF + STA L06AD,Y + LDA L0A22,Y + STA r7L + LDA L0A26,Y + STA r7H + TYA + CLC + ADC #$02 + JSR PointRecord + + LDA #$0D + STA r2H + LDA #$80 + STA r2L + JSR ReadRecord + +L06AA + TXA + RTS + +L06AC + .byte $00 + +L06AD + .byte $00,$00,$00,$00 + +L06B1 + LDA #$01 + STA r0L + LDA L1DC8 + EOR #$01 + TAY + LDA L03FE,Y + LDX L1DCB + JSR L06EA + + STA L1DCB + LDY L1DC8 + LDA L03FE,Y + AND #$7F + LDX L1DCA + JSR L06EA + + STA L1DCA + LDA ramExpSize + BEQ L06E6 + + LDA L0408 + LDX L1DCC + JSR L06EA + +L06E6 + STA L1DCC + RTS + +L06EA + STX r2L + STA r2H + JSR L0973 + + CLC + ADC r0L + CMP ramExpSize + BCC L0703 + + BEQ L0703 + + LDA r2H + AND #$3F + STA r2H + LDA r0L +L0703 + STA r0H + LDA r2H + BPL L0710 + + LDA r0H + STA r0L + LDA r2H + RTS + +L0710 + AND #$0F + CMP #$01 + BNE L0720 + + LDA r2L + CMP #$02 + BNE L0720 + + LDA #$01 + STA r2L +L0720 + LDA r2H + AND #$40 + BEQ L0735 + + LDA r2H + AND #$0F + CMP r2L + BNE L0735 + + LDA r0H + STA r0L + LDA r2H + RTS + +L0735 + LDA r2L + RTS + +L0738 + LDA curDrive + EOR #$01 +L073D + JSR SetDevice + + TXA + BNE L0767 + + LDA ramExpSize + BNE L075E + + LDA L1DF3 + PHA + LDY curDrive + LDA _driveType,Y + BEQ L075A + + STA L1DF3 + JSR L0986 + +L075A + PLA + STA L1DF3 +L075E + LDY curDrive + LDA _driveType,Y + STA curType +L0767 + RTS + +L0768 + PHA + LDA #$00 + STA L1DF0 + LDA curDrive + STA L1DEF + PLA + BEQ L07AE + + CMP #$01 + BNE L077E + + JMP L07AF + +L077E + CMP #$02 + BNE L0785 + + JMP L07D7 + +L0785 + CMP #$03 + BNE L078C + + JMP L07E7 + +L078C + CMP #$41 + BNE L0796 + + JSR L07AF + + JMP L07F7 + +L0796 + CMP #$43 + BNE L07A0 + + JSR L07E7 + + JMP L0818 + +L07A0 + CMP #$81 + BNE L07A7 + + JMP L0839 + +L07A7 + CMP #$82 + BNE L07AE + + JMP L086B + +L07AE + RTS + +L07AF + LDA L1DF0 + CMP #$01 + BEQ L07D6 + + CMP #$41 + BNE L07CE + + LDY L1DEF + LDA #$01 + STA _driveType,Y + STA L03FE,Y + LDA #$00 + STA _ramBase,Y + DEC L15A6 + RTS + +L07CE + LDA #$01 + STA L1DF3 + JMP L089D + +L07D6 + RTS + +L07D7 + LDA L1DF0 + CMP #$02 + BEQ L07E6 + + LDA #$02 + STA L1DF3 + JMP L089D + +L07E6 + RTS + +L07E7 + LDA L1DF0 + CMP #$03 + BEQ L07F6 + + LDA #$03 + STA L1DF3 + JMP L089D + +L07F6 + RTS + +L07F7 + LDA L1DF0 + CMP #$41 + BEQ L0817 + + LDA #$41 + JSR L08D7 + + LDY L1DEF + STA _ramBase,Y + LDA #$41 + STA _driveType,Y + STA L03FE,Y + JSR NewDisk + + DEC L15A6 +L0817 + RTS + +L0818 + LDA L1DF0 + CMP #$43 + BEQ L0838 + + LDA #$43 + JSR L08D7 + + LDY L1DEF + STA _ramBase,Y + LDA #$43 + STA _driveType,Y + STA L03FE,Y + JSR NewDisk + + DEC L15A6 +L0838 + RTS + +L0839 + LDA L1DF0 + CMP #$81 + BEQ L086A + + LDA #$81 + STA L1DF3 + JSR L0986 + + INC NUMDRV + LDA #$81 + JSR L08D7 + + LDY L1DEF + STA _ramBase,Y + LDA #$81 + STA _driveType,Y + STA L03FE,Y + LDA L1DEF + JSR L073D + + JSR L0A3E + + DEC L15A6 +L086A + RTS + +L086B + LDA L1DF0 + CMP #$82 + BEQ L089C + + LDA #$82 + STA L1DF3 + JSR L0986 + + INC NUMDRV + LDA #$82 + JSR L08D7 + + LDY L1DEF + STA _ramBase,Y + LDA #$82 + STA _driveType,Y + STA L03FE,Y + LDA L1DEF + JSR L073D + + JSR L0A3E + + DEC L15A6 +L089C + RTS + +L089D + JSR L0986 + + LDA L1DEF + JSR L073D + + LDA firstBoot + CMP #$FF + BEQ L08BC + + LDY L1DEF + LDA L1DF3 + STA _driveType,Y + INC NUMDRV + CLV + BVC L08C5 + +L08BC + JSR L1AD1 + + LDA L1DEF + JSR L073D + +L08C5 + DEC L15A6 + LDY L1DEF + LDA _driveType,Y + STA L03FE,Y + LDA #$00 + STA _ramBase,Y + RTS + +L08D7 + PHA + JSR L093D + + PLA + STA r0L + LDA L1DF0 + AND #$C0 + BNE L08F0 + + LDA r0L + JSR L0973 + + CMP #$01 + BEQ L08F9 + + BNE L090B + +L08F0 + LDY L1DEF + LDA _ramBase,Y + LDX #$00 + RTS + +L08F9 + LDY ramExpSize +L08FC + DEY + BMI L0908 + + LDA L1DF4,Y + BNE L08FC + + TYA + LDX #$00 + RTS + +L0908 + LDX #$FF + RTS + +L090B + STA r0L + LDY #$00 +L090F + LDA r0L + STA r0H +L0913 + STY r1L + CPY ramExpSize + BCS L093A + + LDA L1DF4,Y + INY + CMP #$00 + BNE L0913 + +L0922 + DEC r0H + BEQ L0935 + + CPY ramExpSize + BCS L093A + + LDA L1DF4,Y + INY + CMP #$00 + BNE L090F + + BEQ L0922 + +L0935 + LDA r1L + LDX #$00 + RTS + +L093A + LDX #$FF + RTS + +L093D + LDY #$07 + LDA #$00 +L0941 + STA L1DF4,Y + DEY + BPL L0941 + + LDA #$FF + STA L1DF4 + LDA #$08 + STA r0L +L0950 + LDY r0L + LDA _driveType,Y + JSR L0973 + + TAX + BEQ L096A + + LDY r0L + LDA _ramBase,Y + TAY +L0961 + LDA #$FF + STA L1DF4,Y + INY + DEX + BNE L0961 + +L096A + INC r0L + LDA r0L + CMP #$0C + BCC L0950 + + RTS + +L0973 + STA r0H + AND #$C0 + BEQ L0981 + + LDA r0H + AND #$0F + TAY + LDA L0982,Y +L0981 + RTS + +L0982 + .byte $03,$03 + + .byte $06,$01 + +L0986 + LDA ramExpSize + BNE L09AE + + LDA sysRAMFlg + AND #$BF + STA sysRAMFlg + STA LC012 + STA L040A + LDY L1DF3 + LDA L1DEF + JSR L09FB + + LDA #$90 + STA r1H + LDA #$00 + STA r1L + JSR MoveData + + RTS + +L09AE + LDA sysRAMFlg + ORA #$40 + STA sysRAMFlg + STA LC012 + STA L040A + LDY driveType + BEQ L09C9 + + LDA #$08 + JSR L09FB + + JSR StashRAM + +L09C9 + LDY L848F + BEQ L09D6 + + LDA #$09 + JSR L09FB + + JSR StashRAM + +L09D6 + LDY L8490 + BEQ L09E3 + + LDA #$0A + JSR L09FB + + JSR StashRAM + +L09E3 + LDY L1DF3 + LDA L1DEF + JSR L09FB + + JSR StashRAM + + LDA #$90 + STA r1H + LDA #$00 + STA r1L + JSR MoveData + + RTS + +L09FB + PHA + JSR L0A32 + + LDA L0A22,Y + STA r0L + LDA L0A26,Y + STA r0H + PLA + TAY + LDA L0A22,Y + STA r1L + LDA L0A26,Y + STA r1H + LDA #$0D + STA r2H + LDA #$80 + STA r2L + LDA #$00 + STA r3L + RTS + +L0A22 + .byte $80,$00,$80,$00 + +L0A26 + .byte $3C,$4A,$57,$65 + + .byte $00,$80,$00,$80,$83,$90,$9E,$AB + +L0A32 + TYA + BPL L0A39 + + LDY #$03 + BNE L0A3D + +L0A39 + AND #$0F + TAY + DEY +L0A3D + RTS + +L0A3E + LDY #$00 + TYA +L0A41 + STA curDirHead,Y + INY + BNE L0A41 + + LDA #$34 + STA L0B60 + LDA #$00 + STA L0ACD + LDY curDrive + LDA _driveType,Y + AND #$0F + LDY #$BD + CMP #$01 + BEQ L0A6B + + LDY #$00 + LDA #$37 + STA L0B60 + LDA #$80 + STA L0ACD +L0A6B + DEY + LDA L0ACA,Y + STA curDirHead,Y + TYA + BNE L0A6B + + LDY curDrive + LDA _driveType,Y + AND #$0F + CMP #$01 + BEQ L0A96 + + LDY #$00 + TYA +L0A84 + STA dir2Head,Y + INY + BNE L0A84 + + LDY #$69 +L0A8C + DEY + LDA L0BCA,Y + STA dir2Head,Y + TYA + BNE L0A8C + +L0A96 + JSR PutDirHead + + JSR L0AC0 + + LDA #$FF + STA L8001 + LDA #$80 + STA r4H + LDA #$00 + STA r4L + LDA #$12 + STA r1L + LDA #$01 + STA r1H + JSR PutBlock + + INC r1L + LDA #$08 + STA r1H + JSR PutBlock + + LDA #$00 + RTS + +L0AC0 + LDY #$00 + TYA +L0AC3 + STA OS_VARS,Y + DEY + BNE L0AC3 + + RTS + +L0ACA + .byte $12,$01,$41 + +L0ACD + .byte $00,$15,$FF,$FF,$1F,$15,$FF,$FF + .byte $1F,$15,$FF,$FF,$1F,$15,$FF,$FF + .byte $1F,$15,$FF,$FF,$1F,$15,$FF,$FF + .byte $1F,$15,$FF,$FF,$1F,$15,$FF,$FF + .byte $1F,$15,$FF,$FF,$1F,$15,$FF,$FF + .byte $1F,$15,$FF,$FF,$1F,$15,$FF,$FF + .byte $1F,$15,$FF,$FF,$1F,$15,$FF,$FF + .byte $1F,$15,$FF,$FF,$1F,$15,$FF,$FF + .byte $1F,$15,$FF,$FF,$1F,$11,$FC,$FF + .byte $07,$12,$FF,$FE,$07,$13,$FF,$FF + .byte $07,$13,$FF,$FF,$07,$13,$FF,$FF + .byte $07,$13,$FF,$FF,$07,$13,$FF,$FF + .byte $07,$12,$FF,$FF,$03,$12,$FF,$FF + .byte $03,$12,$FF,$FF,$03,$12,$FF,$FF + .byte $03,$12,$FF,$FF,$03,$12,$FF,$FF + .byte $03,$11,$FF,$FF,$01,$11,$FF,$FF + .byte $01,$11,$FF,$FF,$01,$11,$FF,$FF + .byte $01,$11,$FF,$FF,$01,$52,$41,$4D + .byte $20,$31,$35 + +L0B60 + .byte $37,$31,$A0,$A0,$A0,$A0,$A0,$A0 + .byte $A0,$A0,$A0,$A0,$52,$44,$A0,$32 + .byte $41,$A0,$A0,$A0,$A0,$13,$08,$47 + .byte $45,$4F,$53,$20,$66,$6F,$72,$6D + .byte $61,$74,$20,$56,$31,$2E,$30,$00 + .byte $00,$00,$00,$00,$00,$00,$00,$00 + .byte $00,$00,$00,$00,$00,$00,$00,$00 + .byte $00,$00,$00,$00,$00,$00,$00,$00 + .byte $00,$00,$00,$00,$00,$00,$00,$15 + .byte $15,$15,$15,$15,$15,$15,$15,$15 + .byte $15,$15,$15,$15,$15,$15,$15,$15 + .byte $00,$13,$13,$13,$13,$13,$13,$12 + .byte $12,$12,$12,$12,$12,$11,$11,$11 + .byte $11,$11 + +L0BCA + .byte $FF,$FF,$1F,$FF,$FF,$1F,$FF,$FF + .byte $1F,$FF,$FF,$1F,$FF,$FF,$1F,$FF + .byte $FF,$1F,$FF,$FF,$1F,$FF,$FF,$1F + .byte $FF,$FF,$1F,$FF,$FF,$1F,$FF,$FF + .byte $1F,$FF,$FF,$1F,$FF,$FF,$1F,$FF + .byte $FF,$1F,$FF,$FF,$1F,$FF,$FF,$1F + .byte $FF,$FF,$1F,$00,$00,$00,$FF,$FF + .byte $07,$FF,$FF,$07,$FF,$FF,$07,$FF + .byte $FF,$07,$FF,$FF,$07,$FF,$FF,$07 + .byte $FF,$FF,$03,$FF,$FF,$03,$FF,$FF + .byte $03,$FF,$FF,$03,$FF,$FF,$03,$FF + .byte $FF,$03,$FF,$FF,$01,$FF,$FF,$01 + .byte $FF,$FF,$01,$FF,$FF,$01,$FF,$FF + .byte $01 + +L0C33 + LDA #$E5 + STA r0H + LDA #$80 + STA r0L + JSR L0C6F + + CPX #$00 + BNE L0C51 + + CMP #$00 + BNE L0C51 + + LDA #$A6 + STA r0H + LDA #$C0 + STA r0L + JSR L0C6F + +L0C51 + CPX #$00 + BNE L0C6C + + TAX + LDA #$01 + CPX #$41 + BEQ L0C6E + + LDA #$02 + CPX #$71 + BEQ L0C6E + + LDA #$03 + CPX #$81 + BEQ L0C6E + + LDA #$FF + BNE L0C6E + +L0C6C + LDA #$00 +L0C6E + RTS + +L0C6F + JSR L0CC4 + + LDA #$01 + STA r2H + LDA #$00 + STA r2L +L0C7A + JSR L0CD4 + + CPX #$00 + BNE L0CC3 + + CMP #$31 + BNE L0CB3 + + JSR L0CD4 + + CMP #$35 + BNE L0CB3 + + JSR L0CD4 + + STA r1L + AND #$70 + CMP #$30 + BNE L0CB3 + + LDA r1L + ASL A + ASL A + ASL A + ASL A + STA r1L + JSR L0CD4 + + STA r1H + AND #$70 + CMP #$30 + BNE L0CB3 + + LDA r1H + AND #$0F + ORA r1L + LDX #$00 + RTS + +L0CB3 + LDA r2L + BNE L0CB9 + + DEC r2H +L0CB9 + DEC r2L + LDA r2L + ORA r2H + BNE L0C7A + + LDX #$00 +L0CC3 + RTS + +L0CC4 + LDA r0H + STA L0D41 + LDA r0L + STA L0D40 + LDA #$20 + STA L1DCD + RTS + +L0CD4 + LDY L1DCD + CPY #$20 + BCS L0CE4 + + LDA L1DCE,Y + INC L1DCD + LDX #$00 + RTS + +L0CE4 + JSR InitForIO + + LDA #$0D + STA r0H + LDA #$3D + STA r0L + JSR L0D43 + + BEQ L0CF8 + + JSR DoneWithIO + + RTS + +L0CF8 + JSR LFFAE + + LDA curDrive + JSR LFFB4 + + LDA #$FF + JSR LFF96 + + LDY #$00 +L0D08 + JSR LFFA5 + + STA L1DCE,Y + INY + CPY #$20 + BCC L0D08 + + JSR LFFAB + + LDA curDrive + JSR LFFB1 + + LDA #$EF + JSR LFF93 + + JSR LFFAE + + JSR DoneWithIO + + LDA #$00 + STA L1DCD + CLC + LDA #$20 + ADC L0D40 + STA L0D40 + BCC L0D3A + + INC L0D41 +L0D3A + CLV + BVC L0CD4 + + EOR L522D +L0D40 + BRK +L0D41 + .byte $00 + +L0D42 + JSR L00A9 + +L0D43 = L0D42+1 + STA STATUS + LDA curDrive + JSR LFFB1 + + BIT STATUS + BMI L0D69 + + LDA #$FF + JSR LFF93 + + BIT STATUS + BMI L0D69 + + LDY #$00 +L0D5C + LDA (r0L),Y + JSR LFFA8 + + INY + CPY #$06 + BCC L0D5C + + LDX #$00 + RTS + +L0D69 + JSR LFFAE + + LDX #$0D + RTS + +L0D6F + LDA #$00 + STA NUMDRV + LDY #$01 +L0D76 + LDA driveType,Y + BEQ L0D7E + + INC NUMDRV +L0D7E + DEY + BPL L0D76 + + RTS + +L0D82 + JSR InitForIO + + LDA #$00 + STA ramExpSize + LDA #$02 + STA L1DC6 + LDA EXP_BASE + AND #$10 + BEQ L0D9B + + LDA #$08 + STA L1DC6 +L0D9B + LDA EXP_BASE + AND #$E0 + BNE L0DDC + + LDA #$55 + STA LDF02 + CMP LDF02 + BNE L0DDC + + LDA #$AA + STA LDF02 + LDY #$00 +L0DB3 + DEY + BNE L0DB3 + + CMP LDF02 + BNE L0DDC + + LDA #$01 + STA ramExpSize + LDA #$00 + STA r3L +L0DC4 + JSR L0DDF + + BCC L0DD9 + + LDA ramExpSize + CMP L1DC6 + BEQ L0DDC + + INC ramExpSize + INC r3L + CLV + BVC L0DC4 + +L0DD9 + DEC ramExpSize +L0DDC + JMP DoneWithIO + +L0DDF + LDA #$1D + STA r0H + LDA #$BE + STA r0L + LDA #$00 + STA r1L + STA r1H + LDA #$00 + STA r2H + LDA #$08 + STA r2L + JSR FetchRAM + + LDA #$0E + STA r0H + LDA #$2A + STA r0L + JSR StashRAM + + LDA #$1D + STA r0H + LDA #$B6 + STA r0L + JSR FetchRAM + + LDA #$1D + STA r0H + LDA #$BE + STA r0L + JSR StashRAM + + LDY #$07 +L0E1B + LDA L0E2A,Y + CMP L1DB6,Y + BNE L0E28 + + DEY + BPL L0E1B + + SEC + RTS + +L0E28 + CLC + RTS + +L0E2A + .byte "RAMCheck" + +L0E32 + LDA sysRAMFlg + AND #$20 + BEQ L0E45 + + LDA L1DC8 + JSR L073D + + JSR L0E46 + + JSR L0EF6 + +L0E45 + RTS + +L0E46 + JSR L0EEB + + LDA #$84 + STA r0H + LDA #$79 + STA r1H + LDA #$05 + STA r2H + JSR StashRAM + + BIT sysRAMFlg + BVS L0E73 + + JSR L0EEB + + LDA #$90 + STA r0H + LDA #$83 + STA r1H + LDA #$0D + STA r2H + LDA #$80 + STA r2L + JSR StashRAM + +L0E73 + JSR L0EEB + + LDA #$80 + STA r0L + STA r2L + LDA #$9D + STA r0H + LDA #$B9 + STA r1H + LDA #$00 + STA r3L + LDA #$02 + STA r2H + JSR StashRAM + + JSR L0EEB + + LDA #$BF + STA r0H + LDA #$40 + STA r0L + LDA #$BB + STA r1H + LDA #$80 + STA r1L + LDA #$10 + STA r2H + LDA #$C0 + STA r2L + JSR StashRAM + + LDA #$30 + STA r4L + LDA #$D0 + STA r5H + LDA #$00 + STA r5L + LDA #$80 + STA r0H + LDA #$00 + STA r0L + LDA #$CC + STA r1H + LDA #$40 + STA r1L + LDA #$01 + STA r2H + LDA #$00 + STA r2L + LDA #$00 + STA r3L +L0ED5 + LDY #$00 +L0ED7 + LDA (r5L),Y + STA OS_VARS,Y + INY + BNE L0ED7 + + JSR StashRAM + + INC r5H + INC r1H + DEC r4L + BNE L0ED5 + + RTS + +L0EEB + LDA #$00 + STA r0L + STA r1L + STA r2L + STA r3L + RTS + +L0EF6 + JSR L0EEB + + LDA #$7E + STA r1H + LDA #$05 + STA r2H + LDA #$0F + STA r0H + LDA #$0C + STA r0L + JMP StashRAM + + SEI + CLD + LDX #$FF + TXS + LDA #$30 + STA CPU_DATA + LDA #$90 + STA r0H + LDA #$00 + STA r0L + LDA #$83 + STA r1H + LDA #$00 + STA r1L + LDA #$0D + STA r2H + LDA #$80 + STA r2L + JSR L6216 + + LDA #$9D + STA r0H + LDA #$80 + STA r0L + LDA #$B9 + STA r1H + LDA #$00 + STA r1L + LDA #$02 + STA r2H + LDA #$80 + STA r2L + JSR L6216 + + LDA #$BF + STA r0H + LDA #$40 + STA r0L + LDA #$BB + STA r1H + LDA #$80 + STA r1L + LDA #$00 + STA r2H + LDA #$C0 + STA r2L + JSR L6216 + + LDA #$C0 + STA r0H + LDA #$80 + STA r0L + LDA #$BC + STA r1H + LDA #$C0 + STA r1L + LDA #$0F + STA r2H + LDA #$80 + STA r2L + JSR L6216 + + LDA #$30 + STA r4L + LDA #$D0 + STA r5H + LDA #$00 + STA r5L + LDA #$80 + STA r0H + LDA #$00 + STA r0L + LDA #$CC + STA r1H + LDA #$40 + STA r1L + LDA #$01 + STA r2H + LDA #$00 + STA r2L +L0FA5 + JSR L6216 + + LDY #$00 +L0FAA + LDA OS_VARS,Y + STA (r5L),Y + INY + BNE L0FAA + + INC r5H + INC r1H + DEC r4L + BNE L0FA5 + + JSR i_FillRam + + .byte $00,$05,$00,$84,$00 + +L0FC2 + LDA #$00 + STA r0L + LDA #$A0 + STA r0H + LDX #$7D +L0FCC + LDY #$3F +L0FCE + LDA #$55 + STA (r0L),Y + DEY + LDA #$AA + STA (r0L),Y + DEY + BPL L0FCE + + LDA r0L + CLC + ADC #$40 + STA r0L + BCC L0FE5 + + INC r0H +L0FE5 + DEX + BNE L0FCC + + JSR FirstInit + + LDA #$FF + STA firstBoot + JSR END_MOUSE_128 + + LDA #$88 + STA r0H + LDA #$C3 + STA r0L + LDA #$7D + STA r1H + LDA #$C3 + STA r1L + LDA #$00 + STA r2H + LDA #$02 + STA r2L + JSR L6216 + + LDA LC012 + STA sysRAMFlg + LDA #$85 + STA r0H + LDA #$16 + STA r0L + LDA #$7A + STA r1H + LDA #$16 + STA r1L + LDA #$00 + STA r2H + LDA #$03 + STA r2L + LDA #$00 + STA r3L + JSR FetchRAM + + LDA LDC08 + STA LDC08 + LDA #$84 + STA r0H + LDA #$8E + STA r0L + LDA #$79 + STA r1H + LDA #$8E + STA r1L + LDA #$00 + STA r2H + LDA #$04 + STA r2L + JSR FetchRAM + + LDA #$88 + STA r0H + LDA #$C7 + STA r0L + LDA #$7D + STA r1H + LDA #$C7 + STA r1L + LDA #$00 + STA r2H + LDA #$04 + STA r2L + JSR FetchRAM + + LDA #$84 + STA r0H + LDA #$65 + STA r0L + LDA #$79 + STA r1H + LDA #$65 + STA r1L + LDA #$00 + STA r2H + LDA #$11 + STA r2L + JSR FetchRAM + + LDA #$88 + STA r0H + LDA #$CB + STA r0L + LDA #$7D + STA r1H + LDA #$CB + STA r1L + LDA #$00 + STA r2H + LDA #$11 + STA r2L + JSR FetchRAM + + LDA #$84 + STA r0H + LDA #$89 + STA r0L + LDA #$79 + STA r1H + LDA #$89 + STA r1L + LDA #$00 + STA r2H + LDA #$01 + STA r2L + JSR FetchRAM + + JSR InitForIO + + LDA #$04 + STA r0L +L10C7 + LDY #$00 + LDX #$00 +L10CB + DEY + BNE L10CB + + DEX + BNE L10CB + + DEC r0L + BNE L10C7 + + JSR DoneWithIO + + LDA curDrive + PHA + LDA #$0B + STA curDrive + STA curDevice + LDA #$00 + STA NUMDRV + STA curDevice + LDA #$08 + STA interleave + JSR SetDevice + + LDA #$08 + STA L1DC7 +L10F7 + LDY L1DC7 + LDA _driveType,Y + BEQ L110F + + CPY #$0A + BCS L1106 + + INC NUMDRV +L1106 + LDA L1DC7 + JSR SetDevice + + JSR NewDisk + +L110F + INC L1DC7 + LDA L1DC7 + CMP #$0C + BCC L10F7 + + BEQ L10F7 + + PLA + JSR SetDevice + + JMP EnterDeskTop + + LDY #$91 + LDX CPU_DATA + LDA #$35 + STA CPU_DATA + LDA r0H + STA LDF03 + LDA r0L + STA LDF02 + LDA r1H + STA LDF05 + LDA r1L + STA LDF04 + LDA #$00 + STA LDF06 + LDA r2H + STA LDF08 + LDA r2L + STA LDF07 + LDA #$00 + STA LDF09 + STA LDF0A + STY LDF01 +L1158 + LDA EXP_BASE + AND #$60 + BEQ L1158 + + STX CPU_DATA + RTS + +; 0406 02 01 00 00 00 20 7C 04 AD C5 88 C9 FF D0 03 4C ----- |--------L DDDDDOOOOOOOOOOO +; 0416 EC 04 2C 13 C0 30 5C AD 89 84 8D C8 1D A8 B9 86 --,--0\--------- OOOOOOOOOOOOOOOO +; 0426 84 8D C9 1D 20 82 0D 20 B7 C1 00 50 FC 1D 00 04 ---- -- ---P---- OOOOOOOOOODDDDDD +; 0436 A9 01 8D 8D 84 20 58 05 AD C8 1D 20 3D 07 20 32 ----- X---- =- 2 OOOOOOOOOOOOOOOO +; 0446 0E 20 6F 0D AD C3 88 D0 21 AD 8D 84 C9 02 90 1A - o-----!------- OOOOOOOOOOOOOOOO +; 0456 AD 8E 84 CD 8F 84 D0 04 C9 03 D0 0E 20 38 07 20 ------------ 8- OOOOOOOOOOOOOOOO +; 0466 35 C2 20 38 07 A9 01 8D 8D 84 20 B7 C1 FC 1D 00 5- 8------ ----- OOOOOOOOOOOOODDD +; 0476 50 00 04 4C 2C C2 2C 13 C0 30 0D AD 0F C0 C9 14 P--L,-,--0------ DDDOOOOOOOOOOOOO +; 0486 B0 06 20 CC 04 20 8F 04 60 A9 C3 85 03 A9 10 85 -- -- --`------- OOOOOOOOOOOOOOOO +; 0496 02 A0 00 84 04 20 A2 04 A9 05 85 04 A6 04 B1 02 ----- ---------- OOOOOOOOOOOOOOOO +; 04A6 DD C2 04 F0 08 E4 04 D0 F3 C8 D0 F0 60 C8 D0 01 ------------`--- OOOOOOOOOOOOOOOO +; 04B6 60 E8 BD C2 04 D0 E7 A9 34 91 02 60 AD 5C 81 C9 `-------4--`-\-- OOOOOOOOOOOODDDD +; 04C6 00 20 56 31 2E 00 AD 0F C0 C9 13 D0 18 AD B2 C2 - V1.----------- DDDDDDOOOOOOOOOO +; 04D6 85 03 AD B1 C2 85 02 A0 00 B1 02 C9 EA F0 06 A0 ---------------- OOOOOOOOOOOOOOOO +; 04E6 03 A9 3D 91 02 60 20 22 05 8A D0 1C A9 01 20 80 --=--` "------ - OOOOOOOOOOOOOOOO +; 04F6 C2 A9 11 85 11 A9 62 85 10 A9 FF 85 06 85 07 20 ------b-------- OOOOOOOOOOOOOOOO +; 0506 8C C2 8A D0 03 4C 05 12 4C 2C C2 43 6F 6E 66 69 -----L--L,-Confi OOOOOOOOOOODDDDD +; 0516 67 75 72 65 20 20 20 56 32 2E 30 00 A2 00 AD AC gure V2.0----- DDDDDDDDDDDDOOOO +; 0526 06 D0 2E A9 1D 85 0F A9 A5 85 0E A9 0E 85 10 A9 --.------------- OOOOOOOOOOOOOOOO +; 0536 01 85 11 A9 05 85 17 A9 11 85 16 20 3B C2 8A D0 ----------- ;--- OOOOOOOOOOOOOOOO +; 0546 10 A9 1D 85 03 A9 A5 85 02 20 74 C2 A9 FF 8D AC --------- t----- OOOOOOOOOOOOOOOO +; 0556 06 60 20 32 C2 AD C3 88 F0 03 AD 0A 04 29 A0 8D -` 2---------)-- OOOOOOOOOOOOOOOO +; 0566 C4 88 8D 12 C0 AD C9 1D C9 02 B0 09 20 33 0C C9 ------------ 3-- OOOOOOOOOOOOOOOO +; 0576 FF D0 02 A9 01 8D CA 1D AD 89 84 49 01 20 B0 C2 -----------I- -- OOOOOOOOOOOOOOOO +; 0586 20 33 0C C9 FF D0 02 A9 00 8D CB 1D AD C3 88 F0 3-------------- OOOOOOOOOOOOOOOO +; 0596 0C A9 0A 20 B0 C2 20 33 0C C9 FF D0 02 A9 00 8D --- -- 3-------- OOOOOOOOOOOOOOOO +; 05A6 CC 1D AD C8 1D 20 B0 C2 20 B1 06 20 4A 06 8A D0 ----- -- -- J--- OOOOOOOOOOOOOOOO +; 05B6 40 20 35 C2 A0 03 A9 00 8D 8D 84 99 8E 84 99 92 @ 5------------- OOOOOOOOOOOOOOOO +; 05C6 84 99 BF 88 99 C7 88 88 10 F1 20 F8 05 AD CA 1D ---------- ----- OOOOOOOOOOOOOOOO +; 05D6 20 68 07 AD CB 1D F0 09 20 38 07 AD CB 1D 20 68 h------ 8---- h OOOOOOOOOOOOOOOO +; 05E6 07 AD CC 1D F0 0B A9 0A 20 3D 07 AD CC 1D 20 68 -------- =---- h OOOOOOOOOOOOOOOO +; 05F6 07 60 AD C3 88 F0 18 A9 08 8D EF 1D AD CA 1D 8D -`-------------- OOOOOOOOOOOOOOOO +; 0606 F3 1D 20 86 09 EE EF 1D AD EF 1D C9 0C D0 F3 60 -- ------------` OOOOOOOOOOOOOOOO +; 0616 AC 89 84 B9 86 84 F0 2B A8 20 32 0A B9 AD 06 D0 -------+- 2----- OOOOOOOOOOOOOOOO +; 0626 22 A9 FF 99 AD 06 B9 22 0A 85 04 B9 26 0A 85 05 "------"----&--- OOOOOOOOOOOOOOOO +; 0636 A9 90 85 03 A9 00 85 02 A9 0D 85 07 A9 80 85 06 ---------------- OOOOOOOOOOOOOOOO +; 0646 20 7E C1 60 AD CA 1D 20 72 06 D0 1F AD CB 1D 20 ~-`--- r------ OOOOOOOOOOOOOOOO +; 0656 72 06 D0 17 AD CC 1D 20 72 06 D0 0F A2 00 AD AC r------ r------- OOOOOOOOOOOOOOOO +; 0666 06 F0 08 20 77 C2 A9 00 8D AC 06 60 A2 00 A8 F0 --- w------`---- OOOOOOOOOOOOOOOO +; 0676 33 20 32 0A B9 AD 06 D0 2B 98 48 20 22 05 68 A8 3 2-----+-H "-h- OOOOOOOOOOOOOOOO +; 0686 8A D0 21 A9 FF 99 AD 06 B9 22 0A 85 10 B9 26 0A --!------"----&- OOOOOOOOOOOOOOOO +; 0696 85 11 98 18 69 02 20 80 C2 A9 0D 85 07 A9 80 85 ----i- --------- OOOOOOOOOOOOOOOO +; 06A6 06 20 8C C2 8A 60 00 00 00 00 00 A9 01 85 02 AD - ---`---------- OOOOOODDDDDOOOOO +; 06B6 C8 1D 49 01 A8 B9 FE 03 AE CB 1D 20 EA 06 8D CB --I-------- ---- OOOOOOOOOOOOOOOO +; 06C6 1D AC C8 1D B9 FE 03 29 7F AE CA 1D 20 EA 06 8D -------)---- --- OOOOOOOOOOOOOOOO +; 06D6 CA 1D AD C3 88 F0 09 AD 08 04 AE CC 1D 20 EA 06 ------------- -- OOOOOOOOOOOOOOOO +; 06E6 8D CC 1D 60 86 06 85 07 20 73 09 18 65 02 CD C3 ---`---- s--e--- OOOOOOOOOOOOOOOO +; 06F6 88 90 0A F0 08 A5 07 29 3F 85 07 A5 02 85 03 A5 -------)?------- OOOOOOOOOOOOOOOO +; 0706 07 10 07 A5 03 85 02 A5 07 60 29 0F C9 01 D0 0A ---------`)----- OOOOOOOOOOOOOOOO +; 0716 A5 06 C9 02 D0 04 A9 01 85 06 A5 07 29 40 F0 0F ------------)@-- OOOOOOOOOOOOOOOO +; 0726 A5 07 29 0F C5 06 D0 07 A5 03 85 02 A5 07 60 A5 --)-----------`- OOOOOOOOOOOOOOOO +; 0736 06 60 AD 89 84 49 01 20 B0 C2 8A D0 24 AD C3 88 -`---I- ----$--- OOOOOOOOOOOOOOOO +; 0746 D0 16 AD F3 1D 48 AC 89 84 B9 86 84 F0 06 8D F3 -----H---------- OOOOOOOOOOOOOOOO +; 0756 1D 20 86 09 68 8D F3 1D AC 89 84 B9 86 84 8D C6 - --h----------- OOOOOOOOOOOOOOOO +; 0766 88 60 48 A9 00 8D F0 1D AD 89 84 8D EF 1D 68 F0 -`H-----------h- OOOOOOOOOOOOOOOO +; 0776 37 C9 01 D0 03 4C AF 07 C9 02 D0 03 4C D7 07 C9 7----L------L--- OOOOOOOOOOOOOOOO +; 0786 03 D0 03 4C E7 07 C9 41 D0 06 20 AF 07 4C F7 07 ---L---A-- --L-- OOOOOOOOOOOOOOOO +; 0796 C9 43 D0 06 20 E7 07 4C 18 08 C9 81 D0 03 4C 39 -C-- --L------L9 OOOOOOOOOOOOOOOO +; 07A6 08 C9 82 D0 03 4C 6B 08 60 AD F0 1D C9 01 F0 20 -----Lk-`------ OOOOOOOOOOOOOOOO +; 07B6 C9 41 D0 14 AC EF 1D A9 01 99 86 84 99 FE 03 A9 -A-------------- OOOOOOOOOOOOOOOO +; 07C6 00 99 BF 88 CE A6 15 60 A9 01 8D F3 1D 4C 9D 08 -------`-----L-- OOOOOOOOOOOOOOOO +; 07D6 60 AD F0 1D C9 02 F0 08 A9 02 8D F3 1D 4C 9D 08 `------------L-- OOOOOOOOOOOOOOOO +; 07E6 60 AD F0 1D C9 03 F0 08 A9 03 8D F3 1D 4C 9D 08 `------------L-- OOOOOOOOOOOOOOOO +; 07F6 60 AD F0 1D C9 41 F0 19 A9 41 20 D7 08 AC EF 1D `----A---A ----- OOOOOOOOOOOOOOOO +; 0806 99 BF 88 A9 41 99 86 84 99 FE 03 20 E1 C1 CE A6 ----A------ ---- OOOOOOOOOOOOOOOO +; 0816 15 60 AD F0 1D C9 43 F0 19 A9 43 20 D7 08 AC EF -`----C---C ---- OOOOOOOOOOOOOOOO +; 0826 1D 99 BF 88 A9 43 99 86 84 99 FE 03 20 E1 C1 CE -----C------ --- OOOOOOOOOOOOOOOO +; 0836 A6 15 60 AD F0 1D C9 81 F0 2A A9 81 8D F3 1D 20 --`------*----- OOOOOOOOOOOOOOOO +; 0846 86 09 EE 8D 84 A9 81 20 D7 08 AC EF 1D 99 BF 88 ------- -------- OOOOOOOOOOOOOOOO +; 0856 A9 81 99 86 84 99 FE 03 AD EF 1D 20 3D 07 20 3E ----------- =- > OOOOOOOOOOOOOOOO +; 0866 0A CE A6 15 60 AD F0 1D C9 82 F0 2A A9 82 8D F3 ----`------*---- OOOOOOOOOOOOOOOO +; 0876 1D 20 86 09 EE 8D 84 A9 82 20 D7 08 AC EF 1D 99 - ------- ------ OOOOOOOOOOOOOOOO +; 0886 BF 88 A9 82 99 86 84 99 FE 03 AD EF 1D 20 3D 07 ------------- =- OOOOOOOOOOOOOOOO +; 0896 20 3E 0A CE A6 15 60 20 86 09 AD EF 1D 20 3D 07 >----` ----- =- OOOOOOOOOOOOOOOO +; 08A6 AD C5 88 C9 FF F0 0F AC EF 1D AD F3 1D 99 86 84 ---------------- OOOOOOOOOOOOOOOO +; 08B6 EE 8D 84 B8 50 09 20 D1 1A AD EF 1D 20 3D 07 CE ----P- ----- =-- OOOOOOOOOOOOOOOO +; 08C6 A6 15 AC EF 1D B9 86 84 99 FE 03 A9 00 99 BF 88 ---------------- OOOOOOOOOOOOOOOO +; 08D6 60 48 20 3D 09 68 85 02 AD F0 1D 29 C0 D0 0B A5 `H =-h-----)---- OOOOOOOOOOOOOOOO +; 08E6 02 20 73 09 C9 01 F0 0B D0 1B AC EF 1D B9 BF 88 - s------------- OOOOOOOOOOOOOOOO +; 08F6 A2 00 60 AC C3 88 88 30 09 B9 F4 1D D0 F8 98 A2 --`----0-------- OOOOOOOOOOOOOOOO +; 0906 00 60 A2 FF 60 85 02 A0 00 A5 02 85 03 84 04 CC -`--`----------- OOOOOOOOOOOOOOOO +; 0916 C3 88 B0 20 B9 F4 1D C8 C9 00 D0 F1 C6 03 F0 0F --- ------------ OOOOOOOOOOOOOOOO +; 0926 CC C3 88 B0 0F B9 F4 1D C8 C9 00 D0 DC F0 ED A5 ---------------- OOOOOOOOOOOOOOOO +; 0936 04 A2 00 60 A2 FF 60 A0 07 A9 00 99 F4 1D 88 10 ---`--`--------- OOOOOOOOOOOOOOOO +; 0946 FA A9 FF 8D F4 1D A9 08 85 02 A4 02 B9 86 84 20 --------------- OOOOOOOOOOOOOOOO +; 0956 73 09 AA F0 0F A4 02 B9 BF 88 A8 A9 FF 99 F4 1D s--------------- OOOOOOOOOOOOOOOO +; 0966 C8 CA D0 F7 E6 02 A5 02 C9 0C 90 DE 60 85 03 29 ------------`--) OOOOOOOOOOOOOOOO +; 0976 C0 F0 08 A5 03 29 0F A8 B9 82 09 60 03 03 06 01 -----)-----`---- OOOOOOOOOOOODDDD +; 0986 AD C3 88 D0 23 AD C4 88 29 BF 8D C4 88 8D 12 C0 ----#---)------- OOOOOOOOOOOOOOOO +; 0996 8D 0A 04 AC F3 1D AD EF 1D 20 FB 09 A9 90 85 05 --------- ------ OOOOOOOOOOOOOOOO +; 09A6 A9 00 85 04 20 7E C1 60 AD C4 88 09 40 8D C4 88 ---- ~-`----@--- OOOOOOOOOOOOOOOO +; 09B6 8D 12 C0 8D 0A 04 AC 8E 84 F0 08 A9 08 20 FB 09 ------------- -- OOOOOOOOOOOOOOOO +; 09C6 20 C8 C2 AC 8F 84 F0 08 A9 09 20 FB 09 20 C8 C2 --------- -- -- OOOOOOOOOOOOOOOO +; 09D6 AC 90 84 F0 08 A9 0A 20 FB 09 20 C8 C2 AC F3 1D ------- -- ----- OOOOOOOOOOOOOOOO +; 09E6 AD EF 1D 20 FB 09 20 C8 C2 A9 90 85 05 A9 00 85 --- -- --------- OOOOOOOOOOOOOOOO +; 09F6 04 20 7E C1 60 48 20 32 0A B9 22 0A 85 02 B9 26 - ~-`H 2--"----& OOOOOOOOOOOOOOOO +; 0A06 0A 85 03 68 A8 B9 22 0A 85 04 B9 26 0A 85 05 A9 ---h--"----&---- OOOOOOOOOOOOOOOO +; 0A16 0D 85 07 A9 80 85 06 A9 00 85 08 60 80 00 80 00 -----------`---- OOOOOOOOOOOODDDD +; 0A26 3C 4A 57 65 00 80 00 80 83 90 9E AB 98 10 04 A0 Date: Sat, 29 May 2021 20:10:09 +0200 Subject: [PATCH 06/16] regression engine, corrected assembly labels --- apps/Configure V2.0/.gitignore | 2 + apps/Configure V2.0/10-chain00.s | 4312 ++++++++--------- apps/Configure V2.0/Makefile | 15 +- apps/Configure V2.0/configure-expected.diff | 53 + apps/Configure V2.0/configure-reference.hex | 1241 +++++ 5 files changed, 3365 insertions(+), 2258 deletions(-) mode change 100755 => 100644 apps/Configure V2.0/10-chain00.s create mode 100755 apps/Configure V2.0/configure-expected.diff create mode 100644 apps/Configure V2.0/configure-reference.hex diff --git a/apps/Configure V2.0/.gitignore b/apps/Configure V2.0/.gitignore index 6774e288..23c58a4f 100644 --- a/apps/Configure V2.0/.gitignore +++ b/apps/Configure V2.0/.gitignore @@ -3,3 +3,5 @@ *.map *.lab .*.swp +configure.hex +configure.diff diff --git a/apps/Configure V2.0/10-chain00.s b/apps/Configure V2.0/10-chain00.s old mode 100755 new mode 100644 index 02a37a25..02cd3450 --- a/apps/Configure V2.0/10-chain00.s +++ b/apps/Configure V2.0/10-chain00.s @@ -1,2255 +1,2057 @@ - -; to make config.inc happy - GEOS 64 with 1541 -bsw=1 -drv1541=1 - -.include "const.inc" -.include "geossym.inc" -.include "geosmac.inc" -.include "config.inc" -.include "kernal.inc" -.include "c64.inc" -.include "jumptab.inc" - -.import __STARTUP_RUN__ -.global APP_START - -L1DB6 = $1DB6 -L1DC6 = $1DC6 -L1DC7 = $1DC7 -L1DC8 = $1DC8 -L1DC9 = $1DC9 -L1DCA = $1DCA -L1DCB = $1DCB -L1DCC = $1DCC -L1DCD = $1DCD -L1DCE = $1DCE -L1DEF = $1DEF -L1DF0 = $1DF0 -L1DF3 = $1DF3 -L1DF4 = $1DF4 -L522D = $522D -;RunREU = $6000 -L6216 = $6216 -L8001 = $8001 -L848F = $848F -L8490 = $8490 -DC08 = $DC08 -;EXP_BASE = $DF00 -LDF01 = $DF01 -LDF02 = $DF02 -LDF03 = $DF03 -LDF04 = $DF04 -LDF05 = $DF05 -LDF06 = $DF06 -LDF07 = $DF07 -LDF08 = $DF08 -LDF09 = $DF09 -LDF0A = $DF0A -LFF93 = $FF93 -LFF96 = $FF96 -LFFA5 = $FFA5 -LFFA8 = $FFA8 -LFFAB = $FFAB -LFFAE = $FFAE -LFFB1 = $FFB1 -LFFB4 = $FFB4 - - - .segment "STARTUP" -APP_START = __STARTUP_RUN__+5 - - - .byte $02,$01 - -L0408 - .byte $00,$00 - -L040A - .byte $00 - -L040B - JSR L047C - - LDA firstBoot - CMP #$FF - BNE L0418 - - JMP L04EC - -L0418 - BIT LC013 - BMI L0479 - - LDA curDrive - STA L1DC8 - TAY - LDA _driveType,Y - STA L1DC9 - JSR L0D82 - - JSR i_MoveData - - .word $5000,$1DFC,$0400 - -L0436 - LDA #$01 - STA NUMDRV - JSR L0558 - - LDA L1DC8 - JSR L073D - - JSR L0E32 - - JSR L0D6F - - LDA ramExpSize - BNE L0470 - - LDA NUMDRV - CMP #$02 - BCC L0470 - - LDA driveType - CMP L848F - BNE L0462 - - CMP #$03 - BNE L0470 - -L0462 - JSR L0738 - - JSR PurgeTurbo - - JSR L0738 - - LDA #$01 - STA NUMDRV -L0470 - JSR i_MoveData - - .word $1DFC,$5000,$0400 - -L0479 - JMP EnterDeskTop - -L047C - BIT LC013 - BMI L048E - - LDA LC00F - CMP #$14 - BCS L048E - - JSR L04CC - - JSR L048F - -L048E - RTS - -L048F - LDA #$C3 - STA r0H - LDA #$10 - STA r0L - LDY #$00 - STY r1L - JSR L04A2 - - LDA #$05 - STA r1L -L04A2 - LDX r1L -L04A4 - LDA (r0L),Y - CMP L04C2,X - BEQ L04B3 - - CPX r1L - BNE L04A2 - - INY - BNE L04A2 - - RTS - -L04B3 - INY - BNE L04B7 - - RTS - -L04B7 - INX - LDA L04C2,X - BNE L04A4 - - LDA #$34 - STA (r0L),Y - RTS - -L04C2 - .byte $AD,$5C,$81,$C9,$00 - - .byte " V1.",$00 - -L04CC - LDA LC00F - CMP #$13 - BNE L04EB - - LDA LC2B2 - STA r0H - LDA LC2B1 - STA r0L - LDY #$00 - LDA (r0L),Y - CMP #$EA - BEQ L04EB - - LDY #$03 - LDA #$3D - STA (r0L),Y -L04EB - RTS - -L04EC - JSR L0522 - - TXA - BNE L050E - - LDA #$01 - JSR PointRecord - - LDA #$11 - STA r7H - LDA #$62 - STA r7L - LDA #$FF - STA r2L - STA r2H - JSR ReadRecord - - TXA - BNE L050E - - JMP L1205 - -L050E - JMP EnterDeskTop - - .byte "Configure V2.0",$00 - -L0522 - LDX #$00 - LDA L06AC - BNE L0557 - - LDA #$1D - STA r6H - LDA #$A5 - STA r6L - LDA #$0E - STA r7L - LDA #$01 - STA r7H - LDA #$05 - STA r10H - LDA #$11 - STA r10L - JSR FindFTypes - - TXA - BNE L0557 - - LDA #$1D - STA r0H - LDA #$A5 - STA r0L - JSR OpenRecordFile - - LDA #$FF - STA L06AC -L0557 - RTS - -L0558 - JSR ExitTurbo - - LDA ramExpSize - BEQ L0563 - - LDA L040A -L0563 - AND #$A0 - STA sysRAMFlg - STA LC012 - LDA L1DC9 - CMP #$02 - BCS L057B - - JSR L0C33 - - CMP #$FF - BNE L057B - - LDA #$01 -L057B - STA L1DCA - LDA curDrive - EOR #$01 - JSR SetDevice - - JSR L0C33 - - CMP #$FF - BNE L058F - - LDA #$00 -L058F - STA L1DCB - LDA ramExpSize - BEQ L05A3 - - LDA #$0A - JSR SetDevice - - JSR L0C33 - - CMP #$FF - BNE L05A5 - -L05A3 - LDA #$00 -L05A5 - STA L1DCC - LDA L1DC8 - JSR SetDevice - - JSR L06B1 - - JSR L064A - - TXA - BNE L05F7 - - JSR PurgeTurbo - - LDY #$03 - LDA #$00 - STA NUMDRV -L05C1 - STA driveType,Y - STA turboFlags,Y - STA _ramBase,Y - STA L88C7,Y - DEY - BPL L05C1 - - JSR L05F8 - - LDA L1DCA - JSR L0768 - - LDA L1DCB - BEQ L05E7 - - JSR L0738 - - LDA L1DCB - JSR L0768 - -L05E7 - LDA L1DCC - BEQ L05F7 - - LDA #$0A - JSR L073D - - LDA L1DCC - JSR L0768 - -L05F7 - RTS - -L05F8 - LDA ramExpSize - BEQ L0615 - - LDA #$08 - STA L1DEF - LDA L1DCA - STA L1DF3 -L0608 - JSR L0986 - - INC L1DEF - LDA L1DEF - CMP #$0C - BNE L0608 - -L0615 - RTS - - LDY curDrive - LDA _driveType,Y - BEQ L0649 - - TAY - JSR L0A32 - - LDA L06AD,Y - BNE L0649 - - LDA #$FF - STA L06AD,Y - LDA L0A22,Y - STA r1L - LDA L0A26,Y - STA r1H - LDA #$90 - STA r0H - LDA #$00 - STA r0L - LDA #$0D - STA r2H - LDA #$80 - STA r2L - JSR MoveData - -L0649 - RTS - -L064A - LDA L1DCA - JSR L0672 - - BNE L0671 - - LDA L1DCB - JSR L0672 - - BNE L0671 - - LDA L1DCC - JSR L0672 - - BNE L0671 - - LDX #$00 - LDA L06AC - BEQ L0671 - - JSR CloseRecordFile - - LDA #$00 - STA L06AC -L0671 - RTS - -L0672 - LDX #$00 - TAY - BEQ L06AA - - JSR L0A32 - - LDA L06AD,Y - BNE L06AA - - TYA - PHA - JSR L0522 - - PLA - TAY - TXA - BNE L06AA - - LDA #$FF - STA L06AD,Y - LDA L0A22,Y - STA r7L - LDA L0A26,Y - STA r7H - TYA - CLC - ADC #$02 - JSR PointRecord - - LDA #$0D - STA r2H - LDA #$80 - STA r2L - JSR ReadRecord - -L06AA - TXA - RTS - -L06AC - .byte $00 - -L06AD - .byte $00,$00,$00,$00 - -L06B1 - LDA #$01 - STA r0L - LDA L1DC8 - EOR #$01 - TAY - LDA L03FE,Y - LDX L1DCB - JSR L06EA - - STA L1DCB - LDY L1DC8 - LDA L03FE,Y - AND #$7F - LDX L1DCA - JSR L06EA - - STA L1DCA - LDA ramExpSize - BEQ L06E6 - - LDA L0408 - LDX L1DCC - JSR L06EA - -L06E6 - STA L1DCC - RTS - -L06EA - STX r2L - STA r2H - JSR L0973 - - CLC - ADC r0L - CMP ramExpSize - BCC L0703 - - BEQ L0703 - - LDA r2H - AND #$3F - STA r2H - LDA r0L -L0703 - STA r0H - LDA r2H - BPL L0710 - - LDA r0H - STA r0L - LDA r2H - RTS - -L0710 - AND #$0F - CMP #$01 - BNE L0720 - - LDA r2L - CMP #$02 - BNE L0720 - - LDA #$01 - STA r2L -L0720 - LDA r2H - AND #$40 - BEQ L0735 - - LDA r2H - AND #$0F - CMP r2L - BNE L0735 - - LDA r0H - STA r0L - LDA r2H - RTS - -L0735 - LDA r2L - RTS - -L0738 - LDA curDrive - EOR #$01 -L073D - JSR SetDevice - - TXA - BNE L0767 - - LDA ramExpSize - BNE L075E - - LDA L1DF3 - PHA - LDY curDrive - LDA _driveType,Y - BEQ L075A - - STA L1DF3 - JSR L0986 - -L075A - PLA - STA L1DF3 -L075E - LDY curDrive - LDA _driveType,Y - STA curType -L0767 - RTS - -L0768 - PHA - LDA #$00 - STA L1DF0 - LDA curDrive - STA L1DEF - PLA - BEQ L07AE - - CMP #$01 - BNE L077E - - JMP L07AF - -L077E - CMP #$02 - BNE L0785 - - JMP L07D7 - -L0785 - CMP #$03 - BNE L078C - - JMP L07E7 - -L078C - CMP #$41 - BNE L0796 - - JSR L07AF - - JMP L07F7 - -L0796 - CMP #$43 - BNE L07A0 - - JSR L07E7 - - JMP L0818 - -L07A0 - CMP #$81 - BNE L07A7 - - JMP L0839 - -L07A7 - CMP #$82 - BNE L07AE - - JMP L086B - -L07AE - RTS - -L07AF - LDA L1DF0 - CMP #$01 - BEQ L07D6 - - CMP #$41 - BNE L07CE - - LDY L1DEF - LDA #$01 - STA _driveType,Y - STA L03FE,Y - LDA #$00 - STA _ramBase,Y - DEC L15A6 - RTS - -L07CE - LDA #$01 - STA L1DF3 - JMP L089D - -L07D6 - RTS - -L07D7 - LDA L1DF0 - CMP #$02 - BEQ L07E6 - - LDA #$02 - STA L1DF3 - JMP L089D - -L07E6 - RTS - -L07E7 - LDA L1DF0 - CMP #$03 - BEQ L07F6 - - LDA #$03 - STA L1DF3 - JMP L089D - -L07F6 - RTS - -L07F7 - LDA L1DF0 - CMP #$41 - BEQ L0817 - - LDA #$41 - JSR L08D7 - - LDY L1DEF - STA _ramBase,Y - LDA #$41 - STA _driveType,Y - STA L03FE,Y - JSR NewDisk - - DEC L15A6 -L0817 - RTS - -L0818 - LDA L1DF0 - CMP #$43 - BEQ L0838 - - LDA #$43 - JSR L08D7 - - LDY L1DEF - STA _ramBase,Y - LDA #$43 - STA _driveType,Y - STA L03FE,Y - JSR NewDisk - - DEC L15A6 -L0838 - RTS - -L0839 - LDA L1DF0 - CMP #$81 - BEQ L086A - - LDA #$81 - STA L1DF3 - JSR L0986 - - INC NUMDRV - LDA #$81 - JSR L08D7 - - LDY L1DEF - STA _ramBase,Y - LDA #$81 - STA _driveType,Y - STA L03FE,Y - LDA L1DEF - JSR L073D - - JSR L0A3E - - DEC L15A6 -L086A - RTS - -L086B - LDA L1DF0 - CMP #$82 - BEQ L089C - - LDA #$82 - STA L1DF3 - JSR L0986 - - INC NUMDRV - LDA #$82 - JSR L08D7 - - LDY L1DEF - STA _ramBase,Y - LDA #$82 - STA _driveType,Y - STA L03FE,Y - LDA L1DEF - JSR L073D - - JSR L0A3E - - DEC L15A6 -L089C - RTS - -L089D - JSR L0986 - - LDA L1DEF - JSR L073D - - LDA firstBoot - CMP #$FF - BEQ L08BC - - LDY L1DEF - LDA L1DF3 - STA _driveType,Y - INC NUMDRV - CLV - BVC L08C5 - -L08BC - JSR L1AD1 - - LDA L1DEF - JSR L073D - -L08C5 - DEC L15A6 - LDY L1DEF - LDA _driveType,Y - STA L03FE,Y - LDA #$00 - STA _ramBase,Y - RTS - -L08D7 - PHA - JSR L093D - - PLA - STA r0L - LDA L1DF0 - AND #$C0 - BNE L08F0 - - LDA r0L - JSR L0973 - - CMP #$01 - BEQ L08F9 - - BNE L090B - -L08F0 - LDY L1DEF - LDA _ramBase,Y - LDX #$00 - RTS - -L08F9 - LDY ramExpSize -L08FC - DEY - BMI L0908 - - LDA L1DF4,Y - BNE L08FC - - TYA - LDX #$00 - RTS - -L0908 - LDX #$FF - RTS - -L090B - STA r0L - LDY #$00 -L090F - LDA r0L - STA r0H -L0913 - STY r1L - CPY ramExpSize - BCS L093A - - LDA L1DF4,Y - INY - CMP #$00 - BNE L0913 - -L0922 - DEC r0H - BEQ L0935 - - CPY ramExpSize - BCS L093A - - LDA L1DF4,Y - INY - CMP #$00 - BNE L090F - - BEQ L0922 - -L0935 - LDA r1L - LDX #$00 - RTS - -L093A - LDX #$FF - RTS - -L093D - LDY #$07 - LDA #$00 -L0941 - STA L1DF4,Y - DEY - BPL L0941 - - LDA #$FF - STA L1DF4 - LDA #$08 - STA r0L -L0950 - LDY r0L - LDA _driveType,Y - JSR L0973 - - TAX - BEQ L096A - - LDY r0L - LDA _ramBase,Y - TAY -L0961 - LDA #$FF - STA L1DF4,Y - INY - DEX - BNE L0961 - -L096A - INC r0L - LDA r0L - CMP #$0C - BCC L0950 - - RTS - -L0973 - STA r0H - AND #$C0 - BEQ L0981 - - LDA r0H - AND #$0F - TAY - LDA L0982,Y -L0981 - RTS - -L0982 - .byte $03,$03 - - .byte $06,$01 - -L0986 - LDA ramExpSize - BNE L09AE - - LDA sysRAMFlg - AND #$BF - STA sysRAMFlg - STA LC012 - STA L040A - LDY L1DF3 - LDA L1DEF - JSR L09FB - - LDA #$90 - STA r1H - LDA #$00 - STA r1L - JSR MoveData - - RTS - -L09AE - LDA sysRAMFlg - ORA #$40 - STA sysRAMFlg - STA LC012 - STA L040A - LDY driveType - BEQ L09C9 - - LDA #$08 - JSR L09FB - - JSR StashRAM - -L09C9 - LDY L848F - BEQ L09D6 - - LDA #$09 - JSR L09FB - - JSR StashRAM - -L09D6 - LDY L8490 - BEQ L09E3 - - LDA #$0A - JSR L09FB - - JSR StashRAM - -L09E3 - LDY L1DF3 - LDA L1DEF - JSR L09FB - - JSR StashRAM - - LDA #$90 - STA r1H - LDA #$00 - STA r1L - JSR MoveData - - RTS - -L09FB - PHA - JSR L0A32 - - LDA L0A22,Y - STA r0L - LDA L0A26,Y - STA r0H - PLA - TAY - LDA L0A22,Y - STA r1L - LDA L0A26,Y - STA r1H - LDA #$0D - STA r2H - LDA #$80 - STA r2L - LDA #$00 - STA r3L - RTS - -L0A22 - .byte $80,$00,$80,$00 - -L0A26 - .byte $3C,$4A,$57,$65 - - .byte $00,$80,$00,$80,$83,$90,$9E,$AB - -L0A32 - TYA - BPL L0A39 - - LDY #$03 - BNE L0A3D - -L0A39 - AND #$0F - TAY - DEY -L0A3D - RTS - -L0A3E - LDY #$00 - TYA -L0A41 - STA curDirHead,Y - INY - BNE L0A41 - - LDA #$34 - STA L0B60 - LDA #$00 - STA L0ACD - LDY curDrive - LDA _driveType,Y - AND #$0F - LDY #$BD - CMP #$01 - BEQ L0A6B - - LDY #$00 - LDA #$37 - STA L0B60 - LDA #$80 - STA L0ACD -L0A6B - DEY - LDA L0ACA,Y - STA curDirHead,Y - TYA - BNE L0A6B - - LDY curDrive - LDA _driveType,Y - AND #$0F - CMP #$01 - BEQ L0A96 - - LDY #$00 - TYA -L0A84 - STA dir2Head,Y - INY - BNE L0A84 - - LDY #$69 -L0A8C - DEY - LDA L0BCA,Y - STA dir2Head,Y - TYA - BNE L0A8C - -L0A96 - JSR PutDirHead - - JSR L0AC0 - - LDA #$FF - STA L8001 - LDA #$80 - STA r4H - LDA #$00 - STA r4L - LDA #$12 - STA r1L - LDA #$01 - STA r1H - JSR PutBlock - - INC r1L - LDA #$08 - STA r1H - JSR PutBlock - - LDA #$00 - RTS - -L0AC0 - LDY #$00 - TYA -L0AC3 - STA OS_VARS,Y - DEY - BNE L0AC3 - - RTS - -L0ACA - .byte $12,$01,$41 - -L0ACD - .byte $00,$15,$FF,$FF,$1F,$15,$FF,$FF - .byte $1F,$15,$FF,$FF,$1F,$15,$FF,$FF - .byte $1F,$15,$FF,$FF,$1F,$15,$FF,$FF - .byte $1F,$15,$FF,$FF,$1F,$15,$FF,$FF - .byte $1F,$15,$FF,$FF,$1F,$15,$FF,$FF - .byte $1F,$15,$FF,$FF,$1F,$15,$FF,$FF - .byte $1F,$15,$FF,$FF,$1F,$15,$FF,$FF - .byte $1F,$15,$FF,$FF,$1F,$15,$FF,$FF - .byte $1F,$15,$FF,$FF,$1F,$11,$FC,$FF - .byte $07,$12,$FF,$FE,$07,$13,$FF,$FF - .byte $07,$13,$FF,$FF,$07,$13,$FF,$FF - .byte $07,$13,$FF,$FF,$07,$13,$FF,$FF - .byte $07,$12,$FF,$FF,$03,$12,$FF,$FF - .byte $03,$12,$FF,$FF,$03,$12,$FF,$FF - .byte $03,$12,$FF,$FF,$03,$12,$FF,$FF - .byte $03,$11,$FF,$FF,$01,$11,$FF,$FF - .byte $01,$11,$FF,$FF,$01,$11,$FF,$FF - .byte $01,$11,$FF,$FF,$01,$52,$41,$4D - .byte $20,$31,$35 - -L0B60 - .byte $37,$31,$A0,$A0,$A0,$A0,$A0,$A0 - .byte $A0,$A0,$A0,$A0,$52,$44,$A0,$32 - .byte $41,$A0,$A0,$A0,$A0,$13,$08,$47 - .byte $45,$4F,$53,$20,$66,$6F,$72,$6D - .byte $61,$74,$20,$56,$31,$2E,$30,$00 - .byte $00,$00,$00,$00,$00,$00,$00,$00 - .byte $00,$00,$00,$00,$00,$00,$00,$00 - .byte $00,$00,$00,$00,$00,$00,$00,$00 - .byte $00,$00,$00,$00,$00,$00,$00,$15 - .byte $15,$15,$15,$15,$15,$15,$15,$15 - .byte $15,$15,$15,$15,$15,$15,$15,$15 - .byte $00,$13,$13,$13,$13,$13,$13,$12 - .byte $12,$12,$12,$12,$12,$11,$11,$11 - .byte $11,$11 - -L0BCA - .byte $FF,$FF,$1F,$FF,$FF,$1F,$FF,$FF - .byte $1F,$FF,$FF,$1F,$FF,$FF,$1F,$FF - .byte $FF,$1F,$FF,$FF,$1F,$FF,$FF,$1F - .byte $FF,$FF,$1F,$FF,$FF,$1F,$FF,$FF - .byte $1F,$FF,$FF,$1F,$FF,$FF,$1F,$FF - .byte $FF,$1F,$FF,$FF,$1F,$FF,$FF,$1F - .byte $FF,$FF,$1F,$00,$00,$00,$FF,$FF - .byte $07,$FF,$FF,$07,$FF,$FF,$07,$FF - .byte $FF,$07,$FF,$FF,$07,$FF,$FF,$07 - .byte $FF,$FF,$03,$FF,$FF,$03,$FF,$FF - .byte $03,$FF,$FF,$03,$FF,$FF,$03,$FF - .byte $FF,$03,$FF,$FF,$01,$FF,$FF,$01 - .byte $FF,$FF,$01,$FF,$FF,$01,$FF,$FF - .byte $01 - -L0C33 - LDA #$E5 - STA r0H - LDA #$80 - STA r0L - JSR L0C6F - - CPX #$00 - BNE L0C51 - - CMP #$00 - BNE L0C51 - - LDA #$A6 - STA r0H - LDA #$C0 - STA r0L - JSR L0C6F - -L0C51 - CPX #$00 - BNE L0C6C - - TAX - LDA #$01 - CPX #$41 - BEQ L0C6E - - LDA #$02 - CPX #$71 - BEQ L0C6E - - LDA #$03 - CPX #$81 - BEQ L0C6E - - LDA #$FF - BNE L0C6E - -L0C6C - LDA #$00 -L0C6E - RTS - -L0C6F - JSR L0CC4 - - LDA #$01 - STA r2H - LDA #$00 - STA r2L -L0C7A - JSR L0CD4 - - CPX #$00 - BNE L0CC3 - - CMP #$31 - BNE L0CB3 - - JSR L0CD4 - - CMP #$35 - BNE L0CB3 - - JSR L0CD4 - - STA r1L - AND #$70 - CMP #$30 - BNE L0CB3 - - LDA r1L - ASL A - ASL A - ASL A - ASL A - STA r1L - JSR L0CD4 - - STA r1H - AND #$70 - CMP #$30 - BNE L0CB3 - - LDA r1H - AND #$0F - ORA r1L - LDX #$00 - RTS - -L0CB3 - LDA r2L - BNE L0CB9 - - DEC r2H -L0CB9 - DEC r2L - LDA r2L - ORA r2H - BNE L0C7A - - LDX #$00 -L0CC3 - RTS - -L0CC4 - LDA r0H - STA L0D41 - LDA r0L - STA L0D40 - LDA #$20 - STA L1DCD - RTS - -L0CD4 - LDY L1DCD - CPY #$20 - BCS L0CE4 - - LDA L1DCE,Y - INC L1DCD - LDX #$00 - RTS - -L0CE4 - JSR InitForIO - - LDA #$0D - STA r0H - LDA #$3D - STA r0L - JSR L0D43 - - BEQ L0CF8 - - JSR DoneWithIO - - RTS - -L0CF8 - JSR LFFAE - - LDA curDrive - JSR LFFB4 - - LDA #$FF - JSR LFF96 - - LDY #$00 -L0D08 - JSR LFFA5 - - STA L1DCE,Y - INY - CPY #$20 - BCC L0D08 - - JSR LFFAB - - LDA curDrive - JSR LFFB1 - - LDA #$EF - JSR LFF93 - - JSR LFFAE - - JSR DoneWithIO - - LDA #$00 - STA L1DCD - CLC - LDA #$20 - ADC L0D40 - STA L0D40 - BCC L0D3A - - INC L0D41 -L0D3A - CLV - BVC L0CD4 - - EOR L522D -L0D40 - BRK -L0D41 - .byte $00 - -L0D42 - JSR L00A9 - -L0D43 = L0D42+1 - STA STATUS - LDA curDrive - JSR LFFB1 - - BIT STATUS - BMI L0D69 - - LDA #$FF - JSR LFF93 - - BIT STATUS - BMI L0D69 - - LDY #$00 -L0D5C - LDA (r0L),Y - JSR LFFA8 - - INY - CPY #$06 - BCC L0D5C - - LDX #$00 - RTS - -L0D69 - JSR LFFAE - - LDX #$0D - RTS - -L0D6F - LDA #$00 - STA NUMDRV - LDY #$01 -L0D76 - LDA driveType,Y - BEQ L0D7E - - INC NUMDRV -L0D7E - DEY - BPL L0D76 - - RTS - -L0D82 - JSR InitForIO - - LDA #$00 - STA ramExpSize - LDA #$02 - STA L1DC6 - LDA EXP_BASE - AND #$10 - BEQ L0D9B - - LDA #$08 - STA L1DC6 -L0D9B - LDA EXP_BASE - AND #$E0 - BNE L0DDC - - LDA #$55 - STA LDF02 - CMP LDF02 - BNE L0DDC - - LDA #$AA - STA LDF02 - LDY #$00 -L0DB3 - DEY - BNE L0DB3 - - CMP LDF02 - BNE L0DDC - - LDA #$01 - STA ramExpSize - LDA #$00 - STA r3L -L0DC4 - JSR L0DDF - - BCC L0DD9 - - LDA ramExpSize - CMP L1DC6 - BEQ L0DDC - - INC ramExpSize - INC r3L - CLV - BVC L0DC4 - -L0DD9 - DEC ramExpSize -L0DDC - JMP DoneWithIO - -L0DDF - LDA #$1D - STA r0H - LDA #$BE - STA r0L - LDA #$00 - STA r1L - STA r1H - LDA #$00 - STA r2H - LDA #$08 - STA r2L - JSR FetchRAM - - LDA #$0E - STA r0H - LDA #$2A - STA r0L - JSR StashRAM - - LDA #$1D - STA r0H - LDA #$B6 - STA r0L - JSR FetchRAM - - LDA #$1D - STA r0H - LDA #$BE - STA r0L - JSR StashRAM - - LDY #$07 -L0E1B - LDA L0E2A,Y - CMP L1DB6,Y - BNE L0E28 - - DEY - BPL L0E1B - - SEC - RTS - -L0E28 - CLC - RTS - -L0E2A - .byte "RAMCheck" - -L0E32 - LDA sysRAMFlg - AND #$20 - BEQ L0E45 - - LDA L1DC8 - JSR L073D - - JSR L0E46 - - JSR L0EF6 - -L0E45 - RTS - -L0E46 - JSR L0EEB - - LDA #$84 - STA r0H - LDA #$79 - STA r1H - LDA #$05 - STA r2H - JSR StashRAM - - BIT sysRAMFlg - BVS L0E73 - - JSR L0EEB - - LDA #$90 - STA r0H - LDA #$83 - STA r1H - LDA #$0D - STA r2H - LDA #$80 - STA r2L - JSR StashRAM - -L0E73 - JSR L0EEB - - LDA #$80 - STA r0L - STA r2L - LDA #$9D - STA r0H - LDA #$B9 - STA r1H - LDA #$00 - STA r3L - LDA #$02 - STA r2H - JSR StashRAM - - JSR L0EEB - - LDA #$BF - STA r0H - LDA #$40 - STA r0L - LDA #$BB - STA r1H - LDA #$80 - STA r1L - LDA #$10 - STA r2H - LDA #$C0 - STA r2L - JSR StashRAM - - LDA #$30 - STA r4L - LDA #$D0 - STA r5H - LDA #$00 - STA r5L - LDA #$80 - STA r0H - LDA #$00 - STA r0L - LDA #$CC - STA r1H - LDA #$40 - STA r1L - LDA #$01 - STA r2H - LDA #$00 - STA r2L - LDA #$00 - STA r3L -L0ED5 - LDY #$00 -L0ED7 - LDA (r5L),Y - STA OS_VARS,Y - INY - BNE L0ED7 - - JSR StashRAM - - INC r5H - INC r1H - DEC r4L - BNE L0ED5 - - RTS - -L0EEB - LDA #$00 - STA r0L - STA r1L - STA r2L - STA r3L - RTS - -L0EF6 - JSR L0EEB - - LDA #$7E - STA r1H - LDA #$05 - STA r2H - LDA #$0F - STA r0H - LDA #$0C - STA r0L - JMP StashRAM - - SEI - CLD - LDX #$FF - TXS - LDA #$30 - STA CPU_DATA - LDA #$90 - STA r0H - LDA #$00 - STA r0L - LDA #$83 - STA r1H - LDA #$00 - STA r1L - LDA #$0D - STA r2H - LDA #$80 - STA r2L - JSR L6216 - - LDA #$9D - STA r0H - LDA #$80 - STA r0L - LDA #$B9 - STA r1H - LDA #$00 - STA r1L - LDA #$02 - STA r2H - LDA #$80 - STA r2L - JSR L6216 - - LDA #$BF - STA r0H - LDA #$40 - STA r0L - LDA #$BB - STA r1H - LDA #$80 - STA r1L - LDA #$00 - STA r2H - LDA #$C0 - STA r2L - JSR L6216 - - LDA #$C0 - STA r0H - LDA #$80 - STA r0L - LDA #$BC - STA r1H - LDA #$C0 - STA r1L - LDA #$0F - STA r2H - LDA #$80 - STA r2L - JSR L6216 - - LDA #$30 - STA r4L - LDA #$D0 - STA r5H - LDA #$00 - STA r5L - LDA #$80 - STA r0H - LDA #$00 - STA r0L - LDA #$CC - STA r1H - LDA #$40 - STA r1L - LDA #$01 - STA r2H - LDA #$00 - STA r2L -L0FA5 - JSR L6216 - - LDY #$00 -L0FAA - LDA OS_VARS,Y - STA (r5L),Y - INY - BNE L0FAA - - INC r5H - INC r1H - DEC r4L - BNE L0FA5 - - JSR i_FillRam - - .byte $00,$05,$00,$84,$00 - -L0FC2 - LDA #$00 - STA r0L - LDA #$A0 - STA r0H - LDX #$7D -L0FCC - LDY #$3F -L0FCE - LDA #$55 - STA (r0L),Y - DEY - LDA #$AA - STA (r0L),Y - DEY - BPL L0FCE - - LDA r0L - CLC - ADC #$40 - STA r0L - BCC L0FE5 - - INC r0H -L0FE5 - DEX - BNE L0FCC - - JSR FirstInit - - LDA #$FF - STA firstBoot - JSR END_MOUSE_128 - - LDA #$88 - STA r0H - LDA #$C3 - STA r0L - LDA #$7D - STA r1H - LDA #$C3 - STA r1L - LDA #$00 - STA r2H - LDA #$02 - STA r2L - JSR L6216 - - LDA LC012 - STA sysRAMFlg - LDA #$85 - STA r0H - LDA #$16 - STA r0L - LDA #$7A - STA r1H - LDA #$16 - STA r1L - LDA #$00 - STA r2H - LDA #$03 - STA r2L - LDA #$00 - STA r3L - JSR FetchRAM - - LDA LDC08 - STA LDC08 - LDA #$84 - STA r0H - LDA #$8E - STA r0L - LDA #$79 - STA r1H - LDA #$8E - STA r1L - LDA #$00 - STA r2H - LDA #$04 - STA r2L - JSR FetchRAM - - LDA #$88 - STA r0H - LDA #$C7 - STA r0L - LDA #$7D - STA r1H - LDA #$C7 - STA r1L - LDA #$00 - STA r2H - LDA #$04 - STA r2L - JSR FetchRAM - - LDA #$84 - STA r0H - LDA #$65 - STA r0L - LDA #$79 - STA r1H - LDA #$65 - STA r1L - LDA #$00 - STA r2H - LDA #$11 - STA r2L - JSR FetchRAM - - LDA #$88 - STA r0H - LDA #$CB - STA r0L - LDA #$7D - STA r1H - LDA #$CB - STA r1L - LDA #$00 - STA r2H - LDA #$11 - STA r2L - JSR FetchRAM - - LDA #$84 - STA r0H - LDA #$89 - STA r0L - LDA #$79 - STA r1H - LDA #$89 - STA r1L - LDA #$00 - STA r2H - LDA #$01 - STA r2L - JSR FetchRAM - - JSR InitForIO - - LDA #$04 - STA r0L -L10C7 - LDY #$00 - LDX #$00 -L10CB - DEY - BNE L10CB - - DEX - BNE L10CB - - DEC r0L - BNE L10C7 - - JSR DoneWithIO - - LDA curDrive - PHA - LDA #$0B - STA curDrive - STA curDevice - LDA #$00 - STA NUMDRV - STA curDevice - LDA #$08 - STA interleave - JSR SetDevice - - LDA #$08 - STA L1DC7 -L10F7 - LDY L1DC7 - LDA _driveType,Y - BEQ L110F - - CPY #$0A - BCS L1106 - - INC NUMDRV -L1106 - LDA L1DC7 - JSR SetDevice - - JSR NewDisk - -L110F - INC L1DC7 - LDA L1DC7 - CMP #$0C - BCC L10F7 - - BEQ L10F7 - - PLA - JSR SetDevice - - JMP EnterDeskTop - - LDY #$91 - LDX CPU_DATA - LDA #$35 - STA CPU_DATA - LDA r0H - STA LDF03 - LDA r0L - STA LDF02 - LDA r1H - STA LDF05 - LDA r1L - STA LDF04 - LDA #$00 - STA LDF06 - LDA r2H - STA LDF08 - LDA r2L - STA LDF07 - LDA #$00 - STA LDF09 - STA LDF0A - STY LDF01 -L1158 - LDA EXP_BASE - AND #$60 - BEQ L1158 - - STX CPU_DATA - RTS - -; 0406 02 01 00 00 00 20 7C 04 AD C5 88 C9 FF D0 03 4C ----- |--------L DDDDDOOOOOOOOOOO -; 0416 EC 04 2C 13 C0 30 5C AD 89 84 8D C8 1D A8 B9 86 --,--0\--------- OOOOOOOOOOOOOOOO -; 0426 84 8D C9 1D 20 82 0D 20 B7 C1 00 50 FC 1D 00 04 ---- -- ---P---- OOOOOOOOOODDDDDD -; 0436 A9 01 8D 8D 84 20 58 05 AD C8 1D 20 3D 07 20 32 ----- X---- =- 2 OOOOOOOOOOOOOOOO -; 0446 0E 20 6F 0D AD C3 88 D0 21 AD 8D 84 C9 02 90 1A - o-----!------- OOOOOOOOOOOOOOOO -; 0456 AD 8E 84 CD 8F 84 D0 04 C9 03 D0 0E 20 38 07 20 ------------ 8- OOOOOOOOOOOOOOOO -; 0466 35 C2 20 38 07 A9 01 8D 8D 84 20 B7 C1 FC 1D 00 5- 8------ ----- OOOOOOOOOOOOODDD -; 0476 50 00 04 4C 2C C2 2C 13 C0 30 0D AD 0F C0 C9 14 P--L,-,--0------ DDDOOOOOOOOOOOOO -; 0486 B0 06 20 CC 04 20 8F 04 60 A9 C3 85 03 A9 10 85 -- -- --`------- OOOOOOOOOOOOOOOO -; 0496 02 A0 00 84 04 20 A2 04 A9 05 85 04 A6 04 B1 02 ----- ---------- OOOOOOOOOOOOOOOO -; 04A6 DD C2 04 F0 08 E4 04 D0 F3 C8 D0 F0 60 C8 D0 01 ------------`--- OOOOOOOOOOOOOOOO -; 04B6 60 E8 BD C2 04 D0 E7 A9 34 91 02 60 AD 5C 81 C9 `-------4--`-\-- OOOOOOOOOOOODDDD -; 04C6 00 20 56 31 2E 00 AD 0F C0 C9 13 D0 18 AD B2 C2 - V1.----------- DDDDDDOOOOOOOOOO -; 04D6 85 03 AD B1 C2 85 02 A0 00 B1 02 C9 EA F0 06 A0 ---------------- OOOOOOOOOOOOOOOO -; 04E6 03 A9 3D 91 02 60 20 22 05 8A D0 1C A9 01 20 80 --=--` "------ - OOOOOOOOOOOOOOOO -; 04F6 C2 A9 11 85 11 A9 62 85 10 A9 FF 85 06 85 07 20 ------b-------- OOOOOOOOOOOOOOOO -; 0506 8C C2 8A D0 03 4C 05 12 4C 2C C2 43 6F 6E 66 69 -----L--L,-Confi OOOOOOOOOOODDDDD -; 0516 67 75 72 65 20 20 20 56 32 2E 30 00 A2 00 AD AC gure V2.0----- DDDDDDDDDDDDOOOO -; 0526 06 D0 2E A9 1D 85 0F A9 A5 85 0E A9 0E 85 10 A9 --.------------- OOOOOOOOOOOOOOOO -; 0536 01 85 11 A9 05 85 17 A9 11 85 16 20 3B C2 8A D0 ----------- ;--- OOOOOOOOOOOOOOOO -; 0546 10 A9 1D 85 03 A9 A5 85 02 20 74 C2 A9 FF 8D AC --------- t----- OOOOOOOOOOOOOOOO -; 0556 06 60 20 32 C2 AD C3 88 F0 03 AD 0A 04 29 A0 8D -` 2---------)-- OOOOOOOOOOOOOOOO -; 0566 C4 88 8D 12 C0 AD C9 1D C9 02 B0 09 20 33 0C C9 ------------ 3-- OOOOOOOOOOOOOOOO -; 0576 FF D0 02 A9 01 8D CA 1D AD 89 84 49 01 20 B0 C2 -----------I- -- OOOOOOOOOOOOOOOO -; 0586 20 33 0C C9 FF D0 02 A9 00 8D CB 1D AD C3 88 F0 3-------------- OOOOOOOOOOOOOOOO -; 0596 0C A9 0A 20 B0 C2 20 33 0C C9 FF D0 02 A9 00 8D --- -- 3-------- OOOOOOOOOOOOOOOO -; 05A6 CC 1D AD C8 1D 20 B0 C2 20 B1 06 20 4A 06 8A D0 ----- -- -- J--- OOOOOOOOOOOOOOOO -; 05B6 40 20 35 C2 A0 03 A9 00 8D 8D 84 99 8E 84 99 92 @ 5------------- OOOOOOOOOOOOOOOO -; 05C6 84 99 BF 88 99 C7 88 88 10 F1 20 F8 05 AD CA 1D ---------- ----- OOOOOOOOOOOOOOOO -; 05D6 20 68 07 AD CB 1D F0 09 20 38 07 AD CB 1D 20 68 h------ 8---- h OOOOOOOOOOOOOOOO -; 05E6 07 AD CC 1D F0 0B A9 0A 20 3D 07 AD CC 1D 20 68 -------- =---- h OOOOOOOOOOOOOOOO -; 05F6 07 60 AD C3 88 F0 18 A9 08 8D EF 1D AD CA 1D 8D -`-------------- OOOOOOOOOOOOOOOO -; 0606 F3 1D 20 86 09 EE EF 1D AD EF 1D C9 0C D0 F3 60 -- ------------` OOOOOOOOOOOOOOOO -; 0616 AC 89 84 B9 86 84 F0 2B A8 20 32 0A B9 AD 06 D0 -------+- 2----- OOOOOOOOOOOOOOOO -; 0626 22 A9 FF 99 AD 06 B9 22 0A 85 04 B9 26 0A 85 05 "------"----&--- OOOOOOOOOOOOOOOO -; 0636 A9 90 85 03 A9 00 85 02 A9 0D 85 07 A9 80 85 06 ---------------- OOOOOOOOOOOOOOOO -; 0646 20 7E C1 60 AD CA 1D 20 72 06 D0 1F AD CB 1D 20 ~-`--- r------ OOOOOOOOOOOOOOOO -; 0656 72 06 D0 17 AD CC 1D 20 72 06 D0 0F A2 00 AD AC r------ r------- OOOOOOOOOOOOOOOO -; 0666 06 F0 08 20 77 C2 A9 00 8D AC 06 60 A2 00 A8 F0 --- w------`---- OOOOOOOOOOOOOOOO -; 0676 33 20 32 0A B9 AD 06 D0 2B 98 48 20 22 05 68 A8 3 2-----+-H "-h- OOOOOOOOOOOOOOOO -; 0686 8A D0 21 A9 FF 99 AD 06 B9 22 0A 85 10 B9 26 0A --!------"----&- OOOOOOOOOOOOOOOO -; 0696 85 11 98 18 69 02 20 80 C2 A9 0D 85 07 A9 80 85 ----i- --------- OOOOOOOOOOOOOOOO -; 06A6 06 20 8C C2 8A 60 00 00 00 00 00 A9 01 85 02 AD - ---`---------- OOOOOODDDDDOOOOO -; 06B6 C8 1D 49 01 A8 B9 FE 03 AE CB 1D 20 EA 06 8D CB --I-------- ---- OOOOOOOOOOOOOOOO -; 06C6 1D AC C8 1D B9 FE 03 29 7F AE CA 1D 20 EA 06 8D -------)---- --- OOOOOOOOOOOOOOOO -; 06D6 CA 1D AD C3 88 F0 09 AD 08 04 AE CC 1D 20 EA 06 ------------- -- OOOOOOOOOOOOOOOO -; 06E6 8D CC 1D 60 86 06 85 07 20 73 09 18 65 02 CD C3 ---`---- s--e--- OOOOOOOOOOOOOOOO -; 06F6 88 90 0A F0 08 A5 07 29 3F 85 07 A5 02 85 03 A5 -------)?------- OOOOOOOOOOOOOOOO -; 0706 07 10 07 A5 03 85 02 A5 07 60 29 0F C9 01 D0 0A ---------`)----- OOOOOOOOOOOOOOOO -; 0716 A5 06 C9 02 D0 04 A9 01 85 06 A5 07 29 40 F0 0F ------------)@-- OOOOOOOOOOOOOOOO -; 0726 A5 07 29 0F C5 06 D0 07 A5 03 85 02 A5 07 60 A5 --)-----------`- OOOOOOOOOOOOOOOO -; 0736 06 60 AD 89 84 49 01 20 B0 C2 8A D0 24 AD C3 88 -`---I- ----$--- OOOOOOOOOOOOOOOO -; 0746 D0 16 AD F3 1D 48 AC 89 84 B9 86 84 F0 06 8D F3 -----H---------- OOOOOOOOOOOOOOOO -; 0756 1D 20 86 09 68 8D F3 1D AC 89 84 B9 86 84 8D C6 - --h----------- OOOOOOOOOOOOOOOO -; 0766 88 60 48 A9 00 8D F0 1D AD 89 84 8D EF 1D 68 F0 -`H-----------h- OOOOOOOOOOOOOOOO -; 0776 37 C9 01 D0 03 4C AF 07 C9 02 D0 03 4C D7 07 C9 7----L------L--- OOOOOOOOOOOOOOOO -; 0786 03 D0 03 4C E7 07 C9 41 D0 06 20 AF 07 4C F7 07 ---L---A-- --L-- OOOOOOOOOOOOOOOO -; 0796 C9 43 D0 06 20 E7 07 4C 18 08 C9 81 D0 03 4C 39 -C-- --L------L9 OOOOOOOOOOOOOOOO -; 07A6 08 C9 82 D0 03 4C 6B 08 60 AD F0 1D C9 01 F0 20 -----Lk-`------ OOOOOOOOOOOOOOOO -; 07B6 C9 41 D0 14 AC EF 1D A9 01 99 86 84 99 FE 03 A9 -A-------------- OOOOOOOOOOOOOOOO -; 07C6 00 99 BF 88 CE A6 15 60 A9 01 8D F3 1D 4C 9D 08 -------`-----L-- OOOOOOOOOOOOOOOO -; 07D6 60 AD F0 1D C9 02 F0 08 A9 02 8D F3 1D 4C 9D 08 `------------L-- OOOOOOOOOOOOOOOO -; 07E6 60 AD F0 1D C9 03 F0 08 A9 03 8D F3 1D 4C 9D 08 `------------L-- OOOOOOOOOOOOOOOO -; 07F6 60 AD F0 1D C9 41 F0 19 A9 41 20 D7 08 AC EF 1D `----A---A ----- OOOOOOOOOOOOOOOO -; 0806 99 BF 88 A9 41 99 86 84 99 FE 03 20 E1 C1 CE A6 ----A------ ---- OOOOOOOOOOOOOOOO -; 0816 15 60 AD F0 1D C9 43 F0 19 A9 43 20 D7 08 AC EF -`----C---C ---- OOOOOOOOOOOOOOOO -; 0826 1D 99 BF 88 A9 43 99 86 84 99 FE 03 20 E1 C1 CE -----C------ --- OOOOOOOOOOOOOOOO -; 0836 A6 15 60 AD F0 1D C9 81 F0 2A A9 81 8D F3 1D 20 --`------*----- OOOOOOOOOOOOOOOO -; 0846 86 09 EE 8D 84 A9 81 20 D7 08 AC EF 1D 99 BF 88 ------- -------- OOOOOOOOOOOOOOOO -; 0856 A9 81 99 86 84 99 FE 03 AD EF 1D 20 3D 07 20 3E ----------- =- > OOOOOOOOOOOOOOOO -; 0866 0A CE A6 15 60 AD F0 1D C9 82 F0 2A A9 82 8D F3 ----`------*---- OOOOOOOOOOOOOOOO -; 0876 1D 20 86 09 EE 8D 84 A9 82 20 D7 08 AC EF 1D 99 - ------- ------ OOOOOOOOOOOOOOOO -; 0886 BF 88 A9 82 99 86 84 99 FE 03 AD EF 1D 20 3D 07 ------------- =- OOOOOOOOOOOOOOOO -; 0896 20 3E 0A CE A6 15 60 20 86 09 AD EF 1D 20 3D 07 >----` ----- =- OOOOOOOOOOOOOOOO -; 08A6 AD C5 88 C9 FF F0 0F AC EF 1D AD F3 1D 99 86 84 ---------------- OOOOOOOOOOOOOOOO -; 08B6 EE 8D 84 B8 50 09 20 D1 1A AD EF 1D 20 3D 07 CE ----P- ----- =-- OOOOOOOOOOOOOOOO -; 08C6 A6 15 AC EF 1D B9 86 84 99 FE 03 A9 00 99 BF 88 ---------------- OOOOOOOOOOOOOOOO -; 08D6 60 48 20 3D 09 68 85 02 AD F0 1D 29 C0 D0 0B A5 `H =-h-----)---- OOOOOOOOOOOOOOOO -; 08E6 02 20 73 09 C9 01 F0 0B D0 1B AC EF 1D B9 BF 88 - s------------- OOOOOOOOOOOOOOOO -; 08F6 A2 00 60 AC C3 88 88 30 09 B9 F4 1D D0 F8 98 A2 --`----0-------- OOOOOOOOOOOOOOOO -; 0906 00 60 A2 FF 60 85 02 A0 00 A5 02 85 03 84 04 CC -`--`----------- OOOOOOOOOOOOOOOO -; 0916 C3 88 B0 20 B9 F4 1D C8 C9 00 D0 F1 C6 03 F0 0F --- ------------ OOOOOOOOOOOOOOOO -; 0926 CC C3 88 B0 0F B9 F4 1D C8 C9 00 D0 DC F0 ED A5 ---------------- OOOOOOOOOOOOOOOO -; 0936 04 A2 00 60 A2 FF 60 A0 07 A9 00 99 F4 1D 88 10 ---`--`--------- OOOOOOOOOOOOOOOO -; 0946 FA A9 FF 8D F4 1D A9 08 85 02 A4 02 B9 86 84 20 --------------- OOOOOOOOOOOOOOOO -; 0956 73 09 AA F0 0F A4 02 B9 BF 88 A8 A9 FF 99 F4 1D s--------------- OOOOOOOOOOOOOOOO -; 0966 C8 CA D0 F7 E6 02 A5 02 C9 0C 90 DE 60 85 03 29 ------------`--) OOOOOOOOOOOOOOOO -; 0976 C0 F0 08 A5 03 29 0F A8 B9 82 09 60 03 03 06 01 -----)-----`---- OOOOOOOOOOOODDDD -; 0986 AD C3 88 D0 23 AD C4 88 29 BF 8D C4 88 8D 12 C0 ----#---)------- OOOOOOOOOOOOOOOO -; 0996 8D 0A 04 AC F3 1D AD EF 1D 20 FB 09 A9 90 85 05 --------- ------ OOOOOOOOOOOOOOOO -; 09A6 A9 00 85 04 20 7E C1 60 AD C4 88 09 40 8D C4 88 ---- ~-`----@--- OOOOOOOOOOOOOOOO -; 09B6 8D 12 C0 8D 0A 04 AC 8E 84 F0 08 A9 08 20 FB 09 ------------- -- OOOOOOOOOOOOOOOO -; 09C6 20 C8 C2 AC 8F 84 F0 08 A9 09 20 FB 09 20 C8 C2 --------- -- -- OOOOOOOOOOOOOOOO -; 09D6 AC 90 84 F0 08 A9 0A 20 FB 09 20 C8 C2 AC F3 1D ------- -- ----- OOOOOOOOOOOOOOOO -; 09E6 AD EF 1D 20 FB 09 20 C8 C2 A9 90 85 05 A9 00 85 --- -- --------- OOOOOOOOOOOOOOOO -; 09F6 04 20 7E C1 60 48 20 32 0A B9 22 0A 85 02 B9 26 - ~-`H 2--"----& OOOOOOOOOOOOOOOO -; 0A06 0A 85 03 68 A8 B9 22 0A 85 04 B9 26 0A 85 05 A9 ---h--"----&---- OOOOOOOOOOOOOOOO -; 0A16 0D 85 07 A9 80 85 06 A9 00 85 08 60 80 00 80 00 -----------`---- OOOOOOOOOOOODDDD -; 0A26 3C 4A 57 65 00 80 00 80 83 90 9E AB 98 10 04 A0 configure.hex + -diff --suppress-common-lines -y configure.hex configure-reference.hex > configure.diff + diff --suppress-common-lines -y configure.diff configure-expected.diff + + +expecteddiff: + hexdump -Cv "../../reference/bsw/Configure V2.0.cvt" > configure-reference.hex + clean: - @rm *.o configure.cvt configure.lab configure.map + -rm *.o configure.cvt configure.lab configure.map diff --git a/apps/Configure V2.0/configure-expected.diff b/apps/Configure V2.0/configure-expected.diff new file mode 100755 index 00000000..b7cd85cb --- /dev/null +++ b/apps/Configure V2.0/configure-expected.diff @@ -0,0 +1,53 @@ +00001050 60 f0 f9 86 01 60 00 00 00 00 00 00 00 00 00 00 | | 00001050 60 f0 f9 86 01 60 c2 01 b1 42 69 c4 b4 00 36 01 | +00001060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00001060 85 8f 1e 01 30 01 a1 ab 1e 01 30 01 07 62 1e 00 | +00001070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00001070 a0 00 07 62 b4 00 36 01 69 c4 1e 00 a0 00 18 22 | +00001080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00001080 88 00 9a 00 26 30 88 00 9a 00 34 3e 88 00 9a 00 | +00001090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00001090 42 4c 88 00 9a 00 50 5a 88 00 9a 00 18 22 1e 01 | +000010a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 000010a0 30 01 26 30 1e 01 30 01 34 3e 1e 01 30 01 42 4c | +000010b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 000010b0 1e 01 30 01 50 5a 1e 01 30 01 7a 84 88 00 9a 00 | +000010c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 000010c0 88 92 88 00 9a 00 96 a0 88 00 9a 00 a4 ae 88 00 | +000010d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 c4 | | 000010d0 9a 00 b2 bc 88 00 9a 00 a9 11 85 03 a9 62 69 c4 | +00001d20 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00001d20 1e c2 02 c0 4f 79 94 04 95 4b 97 68 97 68 96 a6 | +00001d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00001d30 97 77 97 d4 97 1f 98 48 98 ba 90 5b 90 78 90 4e | +00001d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00001d40 90 6b 90 6f 92 f5 93 dd 93 1c 93 b6 93 1c 91 15 | +00001d50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00001d50 91 3f 92 1e 94 4c b6 91 4c cf 91 4c 19 92 4c d0 | +00001d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00001d60 92 4c 53 90 4c 70 90 4c 2e 96 4c 87 98 4c 9c 93 | +00001d70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00001d70 4c d4 97 20 8e 90 d0 08 a9 80 85 0b a9 00 85 0a | +00001d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00001d80 20 14 c2 8a d0 09 20 5c c2 20 1a c2 20 5f c2 60 | +00001d90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00001d90 20 8e 90 d0 08 a9 80 85 0b a9 00 85 0a 20 14 c2 | +00001da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00001da0 8a d0 0f 20 5c c2 20 20 c2 8a d0 03 20 23 c2 20 | +00001db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00001db0 5f c2 60 a9 12 85 04 a9 00 85 05 85 0a a9 82 85 | +00001dc0 00 00 00 00 79 94 04 95 4b 97 68 97 68 96 a6 97 | | 00001dc0 0b 60 2c c6 79 94 04 95 4b 97 68 97 68 96 a6 97 | +00002ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00002ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c2 | +00002ad0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00002ad0 03 1f 5d 0e 95 a5 95 b3 97 d5 97 fb 95 27 98 54 | +00002ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00002ae0 98 7b 98 99 98 b8 98 19 91 7a 90 ce 90 4e 90 89 | +00002af0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00002af0 90 90 92 76 94 23 94 3d 93 2b 94 4b 91 44 91 62 | +00002b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00002b00 92 b8 94 4c e9 91 4c f7 91 4c 41 92 4c f1 92 4c | +00002b10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00002b10 72 90 4c c6 90 4c ed 97 4c 1d 99 4c f0 93 4c 7b | +00002b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00002b20 98 20 e3 90 20 7a 90 8a d0 15 ac 89 84 ad 03 82 | +00002b30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00002b30 99 b7 88 10 0a 20 e9 90 20 7a 90 a9 06 d0 02 a9 | +00002b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00002b40 08 8d 8c 84 60 a9 80 85 0b a9 00 85 0a 20 14 c2 | +00002b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00002b50 d0 09 20 5c c2 20 1a c2 20 5f c2 60 20 14 c2 20 | +00002b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00002b60 5c c2 20 e3 90 20 20 c2 8a d0 2b ac 89 84 ad 03 | +00002b70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00002b70 82 99 b7 88 10 09 20 e9 90 20 20 c2 8a d0 17 20 | +00002b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00002b80 e3 90 20 23 c2 8a d0 0e 2c 03 82 10 09 20 e9 90 | +00002b90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00002b90 20 23 c2 8a d0 00 4c 5f c2 a9 80 85 0b a9 00 85 | +00002ba0 00 00 00 00 00 00 00 00 0e 95 a5 95 b3 97 d5 97 | | 00002ba0 0a 20 14 c2 d0 0f 20 5c 0e 95 a5 95 b3 97 d5 97 | +00003900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00003900 00 00 00 c2 04 8e 69 2a 95 c1 95 fd 96 4e 97 17 | +00003910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00003910 96 a3 97 ce 97 e4 98 60 99 8f 99 ef 90 6d 90 9b | +00003920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00003920 90 4f 90 7d 90 de 92 9f 94 55 94 89 93 5d 94 88 | +00003930 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00003930 91 5b 91 b0 92 de 94 4c 39 92 4c 45 92 4c 8f 92 | +00003940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00003940 4c 3f 93 4c 65 90 4c 93 90 4c 69 97 4c 9a 99 4c | +00003950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00003950 14 94 4c cf 98 03 20 b1 90 20 6d 90 d0 0d 20 b9 | +00003960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00003960 90 20 6d 90 d0 05 20 c1 90 d0 09 60 a9 80 85 0b | +00003970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00003970 a9 00 85 0a 20 14 c2 d0 09 20 5c c2 20 1a c2 20 | +00003980 00 00 00 00 00 00 00 00 00 00 00 00 2a 95 c1 95 | | 00003980 5f c2 8a 60 20 b1 90 20 9b 90 d0 0d 2a 95 c1 95 | +000045f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 000045f0 00 00 00 00 00 00 00 f2 05 92 70 37 95 ad 95 dc | +00004600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00004600 95 dc 95 d3 95 e2 95 ea 95 ee 95 04 96 0d 96 02 | +00004610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00004610 91 7d 90 b0 90 4f 90 8a 90 90 92 90 94 67 94 3d | +00004620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00004620 93 1c 94 39 91 32 91 60 92 d6 94 4c d7 91 4c f0 | +00004630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00004630 91 4c 3a 92 4c f1 92 4c 75 90 4c a8 90 ea ea 60 | +00004640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00004640 ea ea 60 4c ef 93 4c f9 95 82 20 c3 90 20 7d 90 | +00004650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00004650 8a d0 17 ac 89 84 ad 03 82 99 b7 88 10 0c 20 d2 | +00004660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | | 00004660 90 20 7d 90 a9 06 8d 8c 84 60 a9 08 8d 8c 84 60 | +00004670 00 00 37 95 ad 95 dc 95 dc 95 d3 95 e2 95 ea 95 | | 00004670 a9 80 37 95 ad 95 dc 95 dc 95 d3 95 e2 95 ea 95 | diff --git a/apps/Configure V2.0/configure-reference.hex b/apps/Configure V2.0/configure-reference.hex new file mode 100644 index 00000000..ac4c12bd --- /dev/null +++ b/apps/Configure V2.0/configure-reference.hex @@ -0,0 +1,1241 @@ +00000000 83 0c 11 43 4f 4e 46 49 47 55 52 45 a0 a0 a0 a0 |...CONFIGURE....| +00000010 a0 a0 a0 0c 09 01 0e 58 08 14 0d 2d 4e 00 50 52 |.......X...-N.PR| +00000020 47 20 66 6f 72 6d 61 74 74 65 64 20 47 45 4f 53 |G formatted GEOS| +00000030 20 66 69 6c 65 20 56 31 2e 30 00 00 00 00 00 00 | file V1.0......| +00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00000070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00000080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +000000a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +000000b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +000000c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +000000d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +000000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +000000f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 15 |................| +00000100 bf ff ff ff 80 00 01 81 c1 81 88 22 41 9c c2 41 |..........."A..A| +00000110 89 02 41 81 e9 81 80 00 01 87 ff f9 88 00 09 90 |..A.............| +00000120 00 19 bf ff f9 a0 00 39 a7 ff 39 a0 f8 39 a0 00 |.......9..9..9..| +00000130 35 bf ff e9 95 55 51 8a aa a1 80 00 01 ff ff ff |5....UQ.........| +00000140 83 0e 01 06 04 05 04 0b 04 43 6f 6e 66 69 67 75 |.........Configu| +00000150 72 65 20 20 20 56 32 2e 30 00 00 00 80 42 65 72 |re V2.0....Ber| +00000160 6b 65 6c 65 79 20 53 6f 66 74 77 6f 72 6b 73 00 |keley Softworks.| +00000170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00000180 00 00 00 00 00 e1 e1 e1 ff 01 ff 01 ff 01 ff 01 |................| +00000190 aa 55 aa 55 aa 55 aa 55 aa 55 aa 55 41 6c 6c 6f |.U.U.U.U.U.UAllo| +000001a0 77 73 20 76 61 72 79 69 6e 67 20 64 69 73 6b 20 |ws varying disk | +000001b0 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 73 3a 20 |configurations: | +000001c0 20 31 35 34 31 2c 20 31 35 37 31 2c 20 31 35 38 | 1541, 1571, 158| +000001d0 31 20 26 20 52 41 4d 20 64 69 73 6b 73 20 73 75 |1 & RAM disks su| +000001e0 70 70 6f 72 74 65 64 2e 00 00 ff 00 ff 00 54 84 |pported.......T.| +000001f0 ff 00 ff 00 ff 00 00 00 ff 00 ff 00 0e 77 0d 5c |.............w.\| +00000200 0e 26 0e 76 0d 84 08 0f 00 00 00 00 00 00 00 00 |.&.v............| +00000210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00000220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00000230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00000240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00000250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00000260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00000270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00000280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00000290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +000002a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +000002b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +000002c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +000002d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +000002e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +000002f0 00 00 00 00 00 00 00 00 00 00 02 01 00 00 00 20 |............... | +00000300 7c 04 ad c5 88 c9 ff d0 03 4c ec 04 2c 13 c0 30 ||........L..,..0| +00000310 5c ad 89 84 8d c8 1d a8 b9 86 84 8d c9 1d 20 82 |\............. .| +00000320 0d 20 b7 c1 00 50 fc 1d 00 04 a9 01 8d 8d 84 20 |. ...P......... | +00000330 58 05 ad c8 1d 20 3d 07 20 32 0e 20 6f 0d ad c3 |X.... =. 2. o...| +00000340 88 d0 21 ad 8d 84 c9 02 90 1a ad 8e 84 cd 8f 84 |..!.............| +00000350 d0 04 c9 03 d0 0e 20 38 07 20 35 c2 20 38 07 a9 |...... 8. 5. 8..| +00000360 01 8d 8d 84 20 b7 c1 fc 1d 00 50 00 04 4c 2c c2 |.... .....P..L,.| +00000370 2c 13 c0 30 0d ad 0f c0 c9 14 b0 06 20 cc 04 20 |,..0........ .. | +00000380 8f 04 60 a9 c3 85 03 a9 10 85 02 a0 00 84 04 20 |..`............ | +00000390 a2 04 a9 05 85 04 a6 04 b1 02 dd c2 04 f0 08 e4 |................| +000003a0 04 d0 f3 c8 d0 f0 60 c8 d0 01 60 e8 bd c2 04 d0 |......`...`.....| +000003b0 e7 a9 34 91 02 60 ad 5c 81 c9 00 20 56 31 2e 00 |..4..`.\... V1..| +000003c0 ad 0f c0 c9 13 d0 18 ad b2 c2 85 03 ad b1 c2 85 |................| +000003d0 02 a0 00 b1 02 c9 ea f0 06 a0 03 a9 3d 91 02 60 |............=..`| +000003e0 20 22 05 8a d0 1c a9 01 20 80 c2 a9 11 85 11 a9 | "...... .......| +000003f0 62 85 10 a9 ff 85 06 85 07 20 8c c2 8a d0 03 4c |b........ .....L| +00000400 05 12 4c 2c c2 43 6f 6e 66 69 67 75 72 65 20 20 |..L,.Configure | +00000410 20 56 32 2e 30 00 a2 00 ad ac 06 d0 2e a9 1d 85 | V2.0...........| +00000420 0f a9 a5 85 0e a9 0e 85 10 a9 01 85 11 a9 05 85 |................| +00000430 17 a9 11 85 16 20 3b c2 8a d0 10 a9 1d 85 03 a9 |..... ;.........| +00000440 a5 85 02 20 74 c2 a9 ff 8d ac 06 60 20 32 c2 ad |... t......` 2..| +00000450 c3 88 f0 03 ad 0a 04 29 a0 8d c4 88 8d 12 c0 ad |.......)........| +00000460 c9 1d c9 02 b0 09 20 33 0c c9 ff d0 02 a9 01 8d |...... 3........| +00000470 ca 1d ad 89 84 49 01 20 b0 c2 20 33 0c c9 ff d0 |.....I. .. 3....| +00000480 02 a9 00 8d cb 1d ad c3 88 f0 0c a9 0a 20 b0 c2 |............. ..| +00000490 20 33 0c c9 ff d0 02 a9 00 8d cc 1d ad c8 1d 20 | 3............. | +000004a0 b0 c2 20 b1 06 20 4a 06 8a d0 40 20 35 c2 a0 03 |.. .. J...@ 5...| +000004b0 a9 00 8d 8d 84 99 8e 84 99 92 84 99 bf 88 99 c7 |................| +000004c0 88 88 10 f1 20 f8 05 ad ca 1d 20 68 07 ad cb 1d |.... ..... h....| +000004d0 f0 09 20 38 07 ad cb 1d 20 68 07 ad cc 1d f0 0b |.. 8.... h......| +000004e0 a9 0a 20 3d 07 ad cc 1d 20 68 07 60 ad c3 88 f0 |.. =.... h.`....| +000004f0 18 a9 08 8d ef 1d ad ca 1d 8d f3 1d 20 86 09 ee |............ ...| +00000500 ef 1d ad ef 1d c9 0c d0 f3 60 ac 89 84 b9 86 84 |.........`......| +00000510 f0 2b a8 20 32 0a b9 ad 06 d0 22 a9 ff 99 ad 06 |.+. 2.....".....| +00000520 b9 22 0a 85 04 b9 26 0a 85 05 a9 90 85 03 a9 00 |."....&.........| +00000530 85 02 a9 0d 85 07 a9 80 85 06 20 7e c1 60 ad ca |.......... ~.`..| +00000540 1d 20 72 06 d0 1f ad cb 1d 20 72 06 d0 17 ad cc |. r...... r.....| +00000550 1d 20 72 06 d0 0f a2 00 ad ac 06 f0 08 20 77 c2 |. r.......... w.| +00000560 a9 00 8d ac 06 60 a2 00 a8 f0 33 20 32 0a b9 ad |.....`....3 2...| +00000570 06 d0 2b 98 48 20 22 05 68 a8 8a d0 21 a9 ff 99 |..+.H ".h...!...| +00000580 ad 06 b9 22 0a 85 10 b9 26 0a 85 11 98 18 69 02 |..."....&.....i.| +00000590 20 80 c2 a9 0d 85 07 a9 80 85 06 20 8c c2 8a 60 | .......... ...`| +000005a0 00 00 00 00 00 a9 01 85 02 ad c8 1d 49 01 a8 b9 |............I...| +000005b0 fe 03 ae cb 1d 20 ea 06 8d cb 1d ac c8 1d b9 fe |..... ..........| +000005c0 03 29 7f ae ca 1d 20 ea 06 8d ca 1d ad c3 88 f0 |.).... .........| +000005d0 09 ad 08 04 ae cc 1d 20 ea 06 8d cc 1d 60 86 06 |....... .....`..| +000005e0 85 07 20 73 09 18 65 02 cd c3 88 90 0a f0 08 a5 |.. s..e.........| +000005f0 07 29 3f 85 07 a5 02 85 03 a5 07 10 07 a5 03 85 |.)?.............| +00000600 02 a5 07 60 29 0f c9 01 d0 0a a5 06 c9 02 d0 04 |...`)...........| +00000610 a9 01 85 06 a5 07 29 40 f0 0f a5 07 29 0f c5 06 |......)@....)...| +00000620 d0 07 a5 03 85 02 a5 07 60 a5 06 60 ad 89 84 49 |........`..`...I| +00000630 01 20 b0 c2 8a d0 24 ad c3 88 d0 16 ad f3 1d 48 |. ....$........H| +00000640 ac 89 84 b9 86 84 f0 06 8d f3 1d 20 86 09 68 8d |........... ..h.| +00000650 f3 1d ac 89 84 b9 86 84 8d c6 88 60 48 a9 00 8d |...........`H...| +00000660 f0 1d ad 89 84 8d ef 1d 68 f0 37 c9 01 d0 03 4c |........h.7....L| +00000670 af 07 c9 02 d0 03 4c d7 07 c9 03 d0 03 4c e7 07 |......L......L..| +00000680 c9 41 d0 06 20 af 07 4c f7 07 c9 43 d0 06 20 e7 |.A.. ..L...C.. .| +00000690 07 4c 18 08 c9 81 d0 03 4c 39 08 c9 82 d0 03 4c |.L......L9.....L| +000006a0 6b 08 60 ad f0 1d c9 01 f0 20 c9 41 d0 14 ac ef |k.`...... .A....| +000006b0 1d a9 01 99 86 84 99 fe 03 a9 00 99 bf 88 ce a6 |................| +000006c0 15 60 a9 01 8d f3 1d 4c 9d 08 60 ad f0 1d c9 02 |.`.....L..`.....| +000006d0 f0 08 a9 02 8d f3 1d 4c 9d 08 60 ad f0 1d c9 03 |.......L..`.....| +000006e0 f0 08 a9 03 8d f3 1d 4c 9d 08 60 ad f0 1d c9 41 |.......L..`....A| +000006f0 f0 19 a9 41 20 d7 08 ac ef 1d 99 bf 88 a9 41 99 |...A .........A.| +00000700 86 84 99 fe 03 20 e1 c1 ce a6 15 60 ad f0 1d c9 |..... .....`....| +00000710 43 f0 19 a9 43 20 d7 08 ac ef 1d 99 bf 88 a9 43 |C...C .........C| +00000720 99 86 84 99 fe 03 20 e1 c1 ce a6 15 60 ad f0 1d |...... .....`...| +00000730 c9 81 f0 2a a9 81 8d f3 1d 20 86 09 ee 8d 84 a9 |...*..... ......| +00000740 81 20 d7 08 ac ef 1d 99 bf 88 a9 81 99 86 84 99 |. ..............| +00000750 fe 03 ad ef 1d 20 3d 07 20 3e 0a ce a6 15 60 ad |..... =. >....`.| +00000760 f0 1d c9 82 f0 2a a9 82 8d f3 1d 20 86 09 ee 8d |.....*..... ....| +00000770 84 a9 82 20 d7 08 ac ef 1d 99 bf 88 a9 82 99 86 |... ............| +00000780 84 99 fe 03 ad ef 1d 20 3d 07 20 3e 0a ce a6 15 |....... =. >....| +00000790 60 20 86 09 ad ef 1d 20 3d 07 ad c5 88 c9 ff f0 |` ..... =.......| +000007a0 0f ac ef 1d ad f3 1d 99 86 84 ee 8d 84 b8 50 09 |..............P.| +000007b0 20 d1 1a ad ef 1d 20 3d 07 ce a6 15 ac ef 1d b9 | ..... =........| +000007c0 86 84 99 fe 03 a9 00 99 bf 88 60 48 20 3d 09 68 |..........`H =.h| +000007d0 85 02 ad f0 1d 29 c0 d0 0b a5 02 20 73 09 c9 01 |.....)..... s...| +000007e0 f0 0b d0 1b ac ef 1d b9 bf 88 a2 00 60 ac c3 88 |............`...| +000007f0 88 30 09 b9 f4 1d d0 f8 98 a2 00 60 a2 ff 60 85 |.0.........`..`.| +00000800 02 a0 00 a5 02 85 03 84 04 cc c3 88 b0 20 b9 f4 |............. ..| +00000810 1d c8 c9 00 d0 f1 c6 03 f0 0f cc c3 88 b0 0f b9 |................| +00000820 f4 1d c8 c9 00 d0 dc f0 ed a5 04 a2 00 60 a2 ff |.............`..| +00000830 60 a0 07 a9 00 99 f4 1d 88 10 fa a9 ff 8d f4 1d |`...............| +00000840 a9 08 85 02 a4 02 b9 86 84 20 73 09 aa f0 0f a4 |......... s.....| +00000850 02 b9 bf 88 a8 a9 ff 99 f4 1d c8 ca d0 f7 e6 02 |................| +00000860 a5 02 c9 0c 90 de 60 85 03 29 c0 f0 08 a5 03 29 |......`..).....)| +00000870 0f a8 b9 82 09 60 03 03 06 01 ad c3 88 d0 23 ad |.....`........#.| +00000880 c4 88 29 bf 8d c4 88 8d 12 c0 8d 0a 04 ac f3 1d |..).............| +00000890 ad ef 1d 20 fb 09 a9 90 85 05 a9 00 85 04 20 7e |... .......... ~| +000008a0 c1 60 ad c4 88 09 40 8d c4 88 8d 12 c0 8d 0a 04 |.`....@.........| +000008b0 ac 8e 84 f0 08 a9 08 20 fb 09 20 c8 c2 ac 8f 84 |....... .. .....| +000008c0 f0 08 a9 09 20 fb 09 20 c8 c2 ac 90 84 f0 08 a9 |.... .. ........| +000008d0 0a 20 fb 09 20 c8 c2 ac f3 1d ad ef 1d 20 fb 09 |. .. ........ ..| +000008e0 20 c8 c2 a9 90 85 05 a9 00 85 04 20 7e c1 60 48 | .......... ~.`H| +000008f0 20 32 0a b9 22 0a 85 02 b9 26 0a 85 03 68 a8 b9 | 2.."....&...h..| +00000900 22 0a 85 04 b9 26 0a 85 05 a9 0d 85 07 a9 80 85 |"....&..........| +00000910 06 a9 00 85 08 60 80 00 80 00 3c 4a 57 65 00 80 |.....`........| +00001090 42 4c 88 00 9a 00 50 5a 88 00 9a 00 18 22 1e 01 |BL....PZ....."..| +000010a0 30 01 26 30 1e 01 30 01 34 3e 1e 01 30 01 42 4c |0.&0..0.4>..0.BL| +000010b0 1e 01 30 01 50 5a 1e 01 30 01 7a 84 88 00 9a 00 |..0.PZ..0.z.....| +000010c0 88 92 88 00 9a 00 96 a0 88 00 9a 00 a4 ae 88 00 |................| +000010d0 9a 00 b2 bc 88 00 9a 00 a9 11 85 03 a9 62 69 c4 |.............bi.| +000010e0 b4 00 36 01 85 8f 1e 01 30 01 a1 ab 1e 01 30 01 |..6.....0.....0.| +000010f0 07 62 1e 00 a0 00 07 62 b4 00 36 01 69 c4 1e 00 |.b.....b..6.i...| +00001100 a0 00 18 22 88 00 9a 00 26 30 88 00 9a 00 34 3e |..."....&0....4>| +00001110 88 00 9a 00 42 4c 88 00 9a 00 50 5a 88 00 9a 00 |....BL....PZ....| +00001120 18 22 1e 01 30 01 26 30 1e 01 30 01 34 3e 1e 01 |."..0.&0..0.4>..| +00001130 30 01 42 4c 1e 01 30 01 50 5a 1e 01 30 01 7a 84 |0.BL..0.PZ..0.z.| +00001140 88 00 9a 00 88 92 88 00 9a 00 96 a0 88 00 9a 00 |................| +00001150 a4 ae 88 00 9a 00 b2 bc 88 00 9a 00 a9 11 85 03 |................| +00001160 a9 62 85 02 c0 00 f0 0e 18 a9 06 65 02 85 02 90 |.b.........e....| +00001170 02 e6 03 88 d0 f2 a0 05 b1 02 99 06 00 88 10 f8 |................| +00001180 60 ad 0f c0 c9 13 90 05 2c 13 c0 10 0d 20 77 c2 |`.......,.... w.| +00001190 a2 12 a9 dc 20 ee 1c 4c 2c c2 a9 80 85 2f ad 89 |.... ..L,..../..| +000011a0 84 8d c8 1d a8 b9 86 84 8d c9 1d 20 82 0d a9 01 |........... ....| +000011b0 8d 8d 84 20 9b 12 8a d0 de ad c4 88 8d 0a 04 a0 |... ............| +000011c0 03 b9 8e 84 99 06 04 88 10 f7 20 6f 0d 20 a8 c1 |.......... o. ..| +000011d0 05 02 01 00 00 00 03 3f 01 c7 00 a9 12 85 03 a9 |.......?........| +000011e0 8f 85 02 20 5a c1 a9 17 85 03 a9 36 85 02 a9 00 |... Z......6....| +000011f0 20 51 c1 20 2a 13 a9 15 8d aa 84 a9 7e 8d a9 84 | Q. *.......~...| +00001200 a9 1d 8d b2 84 a9 20 8d b1 84 60 01 05 00 05 00 |...... ...`.....| +00001210 00 27 00 01 01 00 00 20 16 06 ad c3 88 f0 14 ad |.'..... ........| +00001220 89 84 49 01 a8 b9 86 84 f0 09 20 38 07 20 16 06 |..I....... 8. ..| +00001230 20 38 07 a9 01 20 72 06 d0 1d a9 02 20 72 06 d0 | 8... r..... r..| +00001240 16 a9 03 20 72 06 d0 0f ad c3 88 f0 07 a9 81 20 |... r.......... | +00001250 72 06 d0 03 20 77 c2 60 81 0b 0c 20 eb 12 0b 0c |r... w.`... ....| +00001260 30 0a 13 01 01 48 00 18 22 43 4f 4e 46 49 47 55 |0....H.."CONFIGU| +00001270 52 45 22 20 69 73 20 6e 6f 74 20 61 70 70 6c 69 |RE" is not appli| +00001280 63 61 62 6c 65 00 18 74 6f 20 74 68 69 73 20 76 |cable..to this v| +00001290 65 72 73 69 6f 6e 20 6f 66 20 47 45 4f 53 20 4b |ersion of GEOS K| +000012a0 45 52 4e 41 4c 00 20 3c 14 20 66 14 ad c3 88 f0 |ERNAL. <. f.....| +000012b0 03 20 90 14 a0 00 20 44 13 20 ec 14 20 32 c2 60 |. .... D. .. 2.`| +000012c0 20 e0 11 a9 00 20 39 c1 20 24 c1 a9 ff 20 27 c1 | .... 9. $... '.| +000012d0 e6 07 e6 0a d0 02 e6 0b a9 ff 20 27 c1 c6 07 a2 |.......... '....| +000012e0 0a 20 75 c1 60 48 20 e0 11 68 20 39 c1 20 24 c1 |. u.`H ..h 9. $.| +000012f0 a9 ff 4c 27 c1 ad f2 1d 85 21 ad f1 1d 85 20 a0 |..L'.....!.... .| +00001300 00 b1 20 8d ef 1d 20 3d 07 ac ef 1d b9 86 84 8d |.. ... =........| +00001310 f0 1d 4c b6 13 ad f2 1d 85 21 ad f1 1d 85 20 a0 |..L......!.... .| +00001320 00 b1 20 8d ef 1d 20 3d 07 ac ef 1d b9 86 84 8d |.. ... =........| +00001330 f0 1d a0 01 b1 20 8d ee 1d 18 a9 02 65 20 85 20 |..... ......e . | +00001340 90 02 e6 21 a0 00 b1 20 85 1c c8 b1 20 85 1d f0 |...!... .... ...| +00001350 22 ac ee 1d 20 e0 11 20 b3 c2 f0 11 a0 03 b1 1c |"... .. ........| +00001360 85 02 c8 b1 1c 85 03 20 f8 13 b8 50 06 ee ee 1d |....... ...P....| +00001370 b8 50 c6 60 6c 02 00 18 44 72 69 76 65 20 41 00 |.P.`l...Drive A.| +00001380 18 44 72 69 76 65 20 42 00 18 44 72 69 76 65 20 |.Drive B..Drive | +00001390 43 00 a0 03 20 ba 14 a0 04 20 ba 14 ad c3 88 f0 |C... .... ......| +000013a0 05 a0 05 20 ba 14 20 58 14 20 82 14 ad c3 88 f0 |... .. X. ......| +000013b0 03 20 ac 14 20 32 c2 60 a0 03 20 44 13 a9 13 85 |. .. 2.`.. D....| +000013c0 03 a9 fb 85 02 a9 13 85 05 a9 00 85 19 a9 4f 85 |..............O.| +000013d0 18 20 48 c1 a9 18 8d f2 1d a9 74 8d f1 1d 20 75 |. H.......t... u| +000013e0 17 60 a0 04 20 44 13 a9 14 85 03 a9 04 85 02 a9 |.`.. D..........| +000013f0 13 85 05 a9 00 85 19 a9 e5 85 18 20 48 c1 a9 18 |........... H...| +00001400 8d f2 1d a9 82 8d f1 1d 20 75 17 60 a0 05 20 44 |........ u.`.. D| +00001410 13 a9 14 85 03 a9 0d 85 02 a9 75 85 05 a9 00 85 |..........u.....| +00001420 19 a9 4f 85 18 20 48 c1 a9 18 8d f2 1d a9 90 8d |..O.. H.........| +00001430 f1 1d 20 75 17 60 20 e0 11 18 a9 02 65 08 85 08 |.. u.` .....e...| +00001440 90 02 e6 09 38 a5 0a e9 02 85 0a a5 0b e9 00 85 |....8...........| +00001450 0b a5 06 18 69 0f 85 06 a5 07 38 e9 02 85 07 a9 |....i.....8.....| +00001460 00 20 39 c1 20 24 c1 60 20 0d 16 ad c3 88 f0 06 |. 9. $.` .......| +00001470 20 fb 14 20 4c 15 60 a9 15 85 03 a9 38 85 02 a9 | .. L.`.....8...| +00001480 a4 85 05 a9 00 85 19 a9 be 85 18 20 48 c1 a9 15 |........... H...| +00001490 85 03 a9 41 85 02 a9 b2 85 05 a9 00 85 19 a9 be |...A............| +000014a0 85 18 20 48 c1 ad c4 88 29 80 f0 02 a9 02 a0 01 |.. H....).......| +000014b0 20 69 13 60 18 44 4d 41 20 66 6f 72 00 22 4d 6f | i.`.DMA for."Mo| +000014c0 76 65 44 61 74 61 22 00 a9 15 85 03 a9 72 85 02 |veData"......r..| +000014d0 a9 8d 85 05 a9 00 85 19 a9 be 85 18 20 48 c1 ad |............ H..| +000014e0 c4 88 29 20 f0 02 a9 02 a0 02 20 69 13 60 18 52 |..) ...... i.`.R| +000014f0 41 4d 20 52 65 62 6f 6f 74 00 ad 05 85 10 01 60 |AM Reboot......`| +00001500 a9 00 8d a6 15 20 d1 15 20 a7 15 20 b5 15 ad c3 |..... .. .. ....| +00001510 88 f0 03 20 c3 15 ad a6 15 f0 06 20 6f 0d 20 16 |... ....... o. .| +00001520 14 60 00 a9 18 8d f2 1d a9 74 8d f1 1d 20 99 13 |.`.......t... ..| +00001530 60 a9 18 8d f2 1d a9 82 8d f1 1d 20 99 13 60 a9 |`.......... ..`.| +00001540 18 8d f2 1d a9 90 8d f1 1d 20 79 13 60 ad c3 88 |......... y.`...| +00001550 f0 36 a0 01 20 e0 11 20 b3 c2 f0 11 ad c4 88 49 |.6.. .. .......I| +00001560 80 8d c4 88 8d 12 c0 8d 0a 04 4c 29 15 a0 02 20 |..........L)... | +00001570 e0 11 20 b3 c2 f0 11 ad c4 88 49 20 8d c4 88 8d |.. .......I ....| +00001580 12 c0 8d 0a 04 4c 63 15 60 ad c3 88 0a 0a a8 a2 |.....Lc.`.......| +00001590 00 b9 4e 16 9d 49 16 c8 e8 e0 04 d0 f4 a9 16 85 |..N..I..........| +000015a0 03 a9 39 85 02 a9 75 85 05 a9 00 85 19 a9 be 85 |..9...u.........| +000015b0 18 20 48 c1 60 18 52 41 4d 20 65 78 70 61 6e 73 |. H.`.RAM expans| +000015c0 69 6f 6e 3a 20 30 30 30 30 00 4e 4f 4e 45 20 36 |ion: 0000.NONE 6| +000015d0 34 4b 31 32 38 4b 31 37 32 4b 32 35 36 4b 33 32 |4K128K172K256K32| +000015e0 30 4b 33 38 34 4b 34 34 38 4b 35 31 32 4b 20 90 |0K384K448K512K .| +000015f0 c1 ad 8e 84 f0 02 10 08 ad 8f 84 f0 02 10 01 60 |...............`| +00001600 ac c8 1d b9 86 84 d0 06 98 49 01 8d c8 1d 4c 3e |.........I....L>| +00001610 04 a2 16 a9 9c 4c ee 1c 81 0c 10 20 0c 01 01 48 |.....L..... ...H| +00001620 00 20 90 c1 ad c8 1d 20 3d 07 a9 1d 85 03 a9 a5 |. ..... =.......| +00001630 85 02 20 74 c2 8a d0 27 a9 00 20 80 c2 a9 80 85 |.. t...'.. .....| +00001640 0b a9 00 85 0a 20 e4 c1 8a d0 14 a0 04 b9 06 04 |..... ..........| +00001650 99 02 80 88 10 f7 20 e7 c1 8a d0 03 4c 77 c2 a2 |...... .....Lw..| +00001660 16 a9 ea 4c ee 1c 81 0b 0c 20 f9 16 0b 0c 30 18 |...L..... ....0.| +00001670 17 01 01 48 00 18 55 6e 61 62 6c 65 20 74 6f 20 |...H..Unable to | +00001680 73 61 76 65 20 63 6f 6e 66 69 67 75 72 61 74 69 |save configurati| +00001690 6f 6e 3a 00 18 43 61 6e 27 74 20 66 69 6e 64 20 |on:..Can't find | +000016a0 22 43 4f 4e 46 49 47 55 52 45 22 20 66 69 6c 65 |"CONFIGURE" file| +000016b0 2e 00 00 0e 00 00 16 00 01 42 17 40 09 1d 66 69 |.........B.@..fi| +000016c0 6c 65 00 64 69 73 6b 00 0e 2a 00 00 62 00 82 5d |le.disk..*..b..]| +000016d0 17 00 a5 16 70 17 00 72 16 73 61 76 65 20 63 6f |....p..r.save co| +000016e0 6e 66 69 67 75 72 61 74 69 6f 6e 00 71 75 69 74 |nfiguration.quit| +000016f0 00 ad f2 1d 85 21 ad f1 1d 85 20 a0 00 b1 20 8d |.....!.... ... .| +00001700 ef 1d a8 b9 86 84 8d f0 1d a0 01 b1 20 8d ee 1d |............ ...| +00001710 18 a9 02 65 20 85 20 90 02 e6 21 a0 0b a9 00 91 |...e . ...!.....| +00001720 20 88 10 f9 20 1e 19 20 56 18 20 26 19 20 56 18 | ... .. V. &. V.| +00001730 20 3b 19 20 56 18 20 6d 19 20 56 18 20 7e 19 20 | ;. V. m. V. ~. | +00001740 56 18 20 8f 19 20 56 18 20 54 19 20 56 18 20 a8 |V. .. V. T. V. .| +00001750 19 20 56 18 ad f2 1d 85 21 ad f1 1d 85 20 18 a9 |. V.....!.... ..| +00001760 02 65 20 85 20 90 02 e6 21 a0 00 b1 20 85 1c c8 |.e . ...!... ...| +00001770 b1 20 85 1d f0 5b ac ee 1d 20 e0 11 a5 06 18 69 |. ...[... .....i| +00001780 08 85 05 38 a5 08 e9 5a 85 18 a5 09 e9 00 85 19 |...8...Z........| +00001790 a0 00 b1 1c 48 c8 b1 1c 85 02 c8 b1 1c 85 03 a5 |....H...........| +000017a0 21 48 a5 20 48 20 48 c1 68 85 20 68 85 21 ac ee |!H. H H.h. h.!..| +000017b0 1d 68 cd f0 1d d0 04 a9 02 d0 02 a9 00 20 69 13 |.h........... i.| +000017c0 18 a9 02 65 20 85 20 90 02 e6 21 ee ee 1d b8 50 |...e . ...!....P| +000017d0 98 60 88 30 1a b9 a6 18 aa b9 9e 18 a0 00 91 20 |.`.0........... | +000017e0 c8 8a 91 20 18 a9 02 65 20 85 20 90 02 e6 21 60 |... ...e . ...!`| +000017f0 08 06 00 00 00 00 00 00 00 00 00 00 00 00 09 0b |................| +00001800 00 00 00 00 00 00 00 00 00 00 00 00 0a 10 00 00 |................| +00001810 00 00 00 00 00 00 00 00 00 00 ae bc c6 d9 e7 f1 |................| +00001820 fb 10 18 18 18 18 18 18 18 19 00 b3 18 c1 19 4e |...............N| +00001830 6f 20 44 72 69 76 65 00 01 c1 18 af 07 31 35 34 |o Drive......154| +00001840 31 00 41 cb 18 f7 07 53 68 61 64 6f 77 65 64 20 |1.A....Shadowed | +00001850 31 35 34 31 00 81 de 18 39 08 52 41 4d 20 31 35 |1541....9.RAM 15| +00001860 34 31 00 02 ec 18 d7 07 31 35 37 31 00 03 f6 18 |41......1571....| +00001870 e7 07 31 35 38 31 00 43 00 19 18 08 44 69 72 20 |..1581.C....Dir | +00001880 53 68 61 64 6f 77 20 31 35 38 31 00 82 15 19 6b |Shadow 1581....k| +00001890 08 52 41 4d 20 31 35 37 31 00 ac f0 1d f0 02 a0 |.RAM 1571.......| +000018a0 01 60 ad f0 1d c9 01 f0 08 c9 41 f0 04 c9 00 d0 |.`........A.....| +000018b0 03 a0 02 60 a0 00 60 ad f0 1d c9 41 f0 0c c9 01 |...`..`....A....| +000018c0 d0 0b a9 41 20 d7 08 8a d0 03 a0 03 60 a0 00 60 |...A .......`..`| +000018d0 ad f0 1d c9 81 f0 0c c9 00 d0 0b a9 81 20 d7 08 |............. ..| +000018e0 8a d0 03 a0 04 60 a0 00 60 ad f0 1d c9 02 f0 04 |.....`..`.......| +000018f0 c9 00 d0 03 a0 05 60 a0 00 60 ad f0 1d c9 03 f0 |......`..`......| +00001900 04 c9 00 d0 03 a0 06 60 a0 00 60 ad f0 1d c9 43 |.......`..`....C| +00001910 f0 0c c9 03 d0 0b a9 43 20 d7 08 8a d0 03 a0 07 |.......C .......| +00001920 60 a0 00 60 ad f0 1d c9 82 f0 0c c9 00 d0 0b a9 |`..`............| +00001930 82 20 d7 08 8a d0 03 a0 08 60 a0 00 60 ad f0 1d |. .......`..`...| +00001940 f0 2d 20 35 c2 ad f0 1d 30 19 ad ef 1d 18 69 39 |.- 5....0.....i9| +00001950 8d 66 1a a2 1a a9 69 20 ee 1c a5 02 c9 02 f0 0f |.f....i ........| +00001960 20 f4 19 ad ef 1d 20 be 1a 20 7c 1a ce a6 15 60 | ..... .. |....`| +00001970 08 78 a9 1a 8d a0 84 a9 1f 8d 9f 84 a9 00 8d 2c |.x.............,| +00001980 1a a9 78 8d 2b 1a 28 ad 2b 1a 0d 2c 1a d0 f8 08 |..x.+.(.+..,....| +00001990 78 a9 00 8d 9f 84 8d a0 84 28 60 ad 2b 1a d0 03 |x........(`.+...| +000019a0 ce 2c 1a ce 2b 1a 60 00 00 18 49 66 20 79 6f 75 |.,..+.`...If you| +000019b0 20 61 72 65 20 61 62 6c 65 20 74 6f 2c 20 70 6c | are able to, pl| +000019c0 65 61 73 65 00 74 75 72 6e 20 4f 46 46 20 61 6e |ease.turn OFF an| +000019d0 64 2f 6f 72 20 75 6e 70 6c 75 67 20 64 72 69 76 |d/or unplug driv| +000019e0 65 20 78 2e 00 81 0b 0c 20 2d 1a 0b 0c 30 49 1a |e x..... -...0I.| +000019f0 01 01 48 02 11 48 00 00 a9 00 8d 7b 1a a9 08 20 |..H..H.....{... | +00001a00 97 1a a9 09 20 97 1a a9 0a 20 97 1a ad 7b 1a 8d |.... .... ...{..| +00001a10 8d 84 60 a8 b9 86 84 f0 0f 30 0a 98 20 ad 1a d0 |..`......0.. ...| +00001a20 04 20 be 1a 60 ee 7b 1a 60 20 3d 07 ad 8d 84 d0 |. ..`.{.` =.....| +00001a30 03 ee 8d 84 20 e1 c1 e0 0d 60 ac 89 84 a9 00 99 |.... ....`......| +00001a40 86 84 99 bf 88 99 fe 03 99 8a 84 60 00 a9 00 8d |...........`....| +00001a50 d0 1a ad ef 1d c9 0a 90 03 4c 80 1b a9 00 8d d0 |.........L......| +00001a60 1a ac ef 1d ad f3 1d 99 86 84 ee 8d 84 ad ef 1d |................| +00001a70 20 ad 1a d0 1b ad ef 1d 49 01 a8 b9 86 84 f0 21 | .......I......!| +00001a80 98 a0 0b 2c c4 88 70 03 49 02 a8 b9 86 84 f0 02 |...,..p.I.......| +00001a90 d0 66 8c d0 1a 20 38 07 ad d0 1a 20 91 1c 20 35 |.f... 8.... .. 5| +00001aa0 c2 a2 1c a9 6d 20 ee 1c a5 02 c9 02 f0 32 ad ef |....m .......2..| +00001ab0 1d 20 ad 1a d0 2a ad ef 1d 49 01 85 ba 8d 89 84 |. ...*...I......| +00001ac0 a8 ad f3 1d 99 86 84 ad ef 1d 20 91 1c ad ef 1d |.......... .....| +00001ad0 85 ba 8d 89 84 49 01 a8 a9 00 99 86 84 8a d0 c1 |.....I..........| +00001ae0 ad d0 1a f0 13 20 ad 1a d0 06 20 be 1a b8 50 08 |..... .... ...P.| +00001af0 ad ef 1d 49 01 20 91 1c 20 7c 1a 60 a9 00 8d d0 |...I. .. |.`....| +00001b00 1a ac ef 1d ad f3 1d 99 86 84 ee 8d 84 ad ef 1d |................| +00001b10 20 ad 1a d0 0e a0 08 b9 86 84 f0 1a a0 0b b9 86 | ...............| +00001b20 84 f0 02 d0 61 8c d0 1a a9 08 20 3d 07 ad d0 1a |....a..... =....| +00001b30 20 91 1c 20 35 c2 a2 1c a9 7f 20 ee 1c a5 02 c9 | .. 5..... .....| +00001b40 02 f0 2e ad ef 1d 20 ad 1a d0 26 a9 08 85 ba 8d |...... ...&.....| +00001b50 89 84 a8 ad f3 1d 99 86 84 ad ef 1d 20 91 1c ad |............ ...| +00001b60 ef 1d 85 ba 8d 89 84 a0 08 a9 00 99 86 84 8a d0 |................| +00001b70 c5 ad d0 1a f0 10 20 ad 1a d0 06 20 be 1a b8 50 |...... .... ...P| +00001b80 05 a9 08 20 91 1c 20 7c 1a 60 18 50 6c 75 67 20 |... .. |.`.Plug | +00001b90 69 6e 20 26 20 74 75 72 6e 20 4f 4e 20 6e 65 77 |in & turn ON new| +00001ba0 20 64 72 69 76 65 2e 00 18 28 4d 75 73 74 20 62 | drive...(Must b| +00001bb0 65 20 73 65 74 20 74 6f 20 64 65 76 69 63 65 20 |e set to device | +00001bc0 38 20 6f 72 20 39 29 00 18 28 4d 75 73 74 20 62 |8 or 9)..(Must b| +00001bd0 65 20 73 65 74 20 74 6f 20 64 65 76 69 63 65 20 |e set to device | +00001be0 38 20 6f 72 20 31 30 29 00 81 0b 0c 10 0e 1c 0b |8 or 10)........| +00001bf0 0c 20 2c 1c 01 01 48 02 11 48 00 81 0b 0c 10 0e |. ,...H..H......| +00001c00 1c 0b 0c 20 4c 1c 01 01 48 02 11 48 00 2c c4 88 |... L...H..H.,..| +00001c10 50 24 48 a8 b9 22 0a 85 04 b9 26 0a 85 05 a9 90 |P$H.."....&.....| +00001c20 85 03 a9 00 85 02 a9 0d 85 07 a9 80 85 06 a9 00 |................| +00001c30 85 08 20 c8 c2 68 85 02 ad 89 84 48 a8 b9 bf 88 |.. ..h.....H....| +00001c40 48 b9 86 84 48 10 08 a5 02 20 3d 07 b8 50 05 a5 |H...H.... =..P..| +00001c50 02 20 bc c2 ac 89 84 68 99 86 84 68 99 bf 88 68 |. .....h...h...h| +00001c60 a8 a9 00 99 bf 88 99 86 84 60 86 03 85 02 a2 00 |.........`......| +00001c70 8e fc 21 a5 0d 48 a5 0c 48 20 27 1d 68 85 0c 68 |..!..H..H '.h..h| +00001c80 85 0d 4c 56 c2 a2 04 20 17 1d a9 17 85 03 a9 4c |..LV... .......L| +00001c90 85 02 60 8e fc 21 ae fc 21 4c 27 1d ae fc 21 20 |..`..!..!L'...! | +00001ca0 2c 1d 60 a9 00 b8 50 02 a9 ff 85 0b 20 86 1d a6 |,.`...P..... ...| +00001cb0 07 20 3c c1 a5 06 0a 0a 0a 90 02 e6 0d a8 a5 08 |. <.............| +00001cc0 85 0a 24 0b 10 06 20 78 1d b8 50 03 20 6c 1d e6 |..$... x..P. l..| +00001cd0 04 d0 02 e6 05 18 69 08 90 02 e6 0d a8 c6 0a d0 |......i.........| +00001ce0 e1 e6 07 c6 09 d0 c8 60 b1 0c aa 98 48 a0 00 8a |.......`....H...| +00001cf0 91 04 68 60 98 48 a0 00 b1 04 aa 68 a8 8a 91 0c |..h`.H.....h....| +00001d00 98 60 a9 21 85 05 a9 fd 85 04 a0 00 bd 9d 1d 99 |.`.!............| +00001d10 06 00 e8 c8 c0 04 d0 f4 60 08 20 19 68 00 0e 0e |........`. .h...| +00001d20 1e c2 02 c0 4f 79 94 04 95 4b 97 68 97 68 96 a6 |....Oy...K.h.h..| +00001d30 97 77 97 d4 97 1f 98 48 98 ba 90 5b 90 78 90 4e |.w.....H...[.x.N| +00001d40 90 6b 90 6f 92 f5 93 dd 93 1c 93 b6 93 1c 91 15 |.k.o............| +00001d50 91 3f 92 1e 94 4c b6 91 4c cf 91 4c 19 92 4c d0 |.?...L..L..L..L.| +00001d60 92 4c 53 90 4c 70 90 4c 2e 96 4c 87 98 4c 9c 93 |.LS.Lp.L..L..L..| +00001d70 4c d4 97 20 8e 90 d0 08 a9 80 85 0b a9 00 85 0a |L.. ............| +00001d80 20 14 c2 8a d0 09 20 5c c2 20 1a c2 20 5f c2 60 | ..... \. .. _.`| +00001d90 20 8e 90 d0 08 a9 80 85 0b a9 00 85 0a 20 14 c2 | ............ ..| +00001da0 8a d0 0f 20 5c c2 20 20 c2 8a d0 03 20 23 c2 20 |... \. .... #. | +00001db0 5f c2 60 a9 12 85 04 a9 00 85 05 85 0a a9 82 85 |_.`.............| +00001dc0 0b 60 2c c6 79 94 04 95 4b 97 68 97 68 96 a6 97 |.`,.y...K.h.h...| +00001dd0 77 97 d4 97 1f 98 48 98 ba 90 5b 90 78 90 4e 90 |w.....H...[.x.N.| +00001de0 6b 90 6f 92 f5 93 dd 93 1c 93 b6 93 1c 91 15 91 |k.o.............| +00001df0 3f 92 1e 94 4c b6 91 4c cf 91 4c 19 92 4c d0 92 |?...L..L..L..L..| +00001e00 4c 53 90 4c 70 90 4c 2e 96 4c 87 98 4c 9c 93 4c |LS.Lp.L..L..L..L| +00001e10 d4 97 20 8e 90 d0 08 a9 80 85 0b a9 00 85 0a 20 |.. ............ | +00001e20 14 c2 8a d0 09 20 5c c2 20 1a c2 20 5f c2 60 20 |..... \. .. _.` | +00001e30 8e 90 d0 08 a9 80 85 0b a9 00 85 0a 20 14 c2 8a |............ ...| +00001e40 d0 0f 20 5c c2 20 20 c2 8a d0 03 20 23 c2 20 5f |.. \. .... #. _| +00001e50 c2 60 a9 12 85 04 a9 00 85 05 85 0a a9 82 85 0b |.`..............| +00001e60 60 2c c6 88 50 05 20 4c 9c f0 11 a9 00 8d 07 9d |`,..P. L........| +00001e70 a2 02 a5 04 f0 06 c9 24 b0 02 38 60 18 60 ac 89 |.......$..8`.`..| +00001e80 84 b9 86 84 8d 14 91 29 bf 99 86 84 20 e1 c1 8a |.......).... ...| +00001e90 d0 3c 20 47 c2 8a d0 36 2c 14 91 50 0e 20 4c 9c |.< G...6,..P. L.| +00001ea0 f0 09 20 0f 9c 20 8e 90 20 54 9c a9 82 85 0d a9 |.. .. .. T......| +00001eb0 00 85 0c 20 de c1 a9 82 85 0b a9 90 85 0a a2 0c |... ............| +00001ec0 20 98 c2 a2 0a a0 0c a9 12 20 68 c2 a2 00 ad 14 | ........ h.....| +00001ed0 91 ac 89 84 99 86 84 60 00 a0 01 84 08 88 84 09 |.......`........| +00001ee0 a5 15 48 a5 14 48 a5 09 48 a5 08 48 a9 00 85 09 |..H..H..H..H....| +00001ef0 a9 fe 85 08 a2 06 a0 08 20 69 c1 a5 12 f0 06 e6 |........ i......| +00001f00 06 d0 02 e6 07 a9 82 85 0d a9 00 85 0c 20 db c1 |............. ..| +00001f10 68 85 08 68 85 09 a2 03 a5 07 c5 0b d0 04 a5 06 |h..h............| +00001f20 c5 0a f0 02 b0 4d a5 0f 85 0b a5 0e 85 0a a5 07 |.....M..........| +00001f30 85 0d a5 06 85 0c 20 92 c2 8a d0 37 a0 00 a5 08 |...... ....7....| +00001f40 91 0a c8 a5 09 91 0a 18 a9 02 65 0a 85 0a 90 02 |..........e.....| +00001f50 e6 0b a5 0c d0 02 c6 0d c6 0c a5 0c 05 0d d0 d6 |................| +00001f60 a0 00 98 91 0a c8 a5 12 d0 02 a9 fe 18 69 01 91 |.............i..| +00001f70 0a a2 00 68 85 14 68 85 15 60 a9 12 85 04 a9 01 |...h..h..`......| +00001f80 85 05 20 3c 90 a9 80 85 0d a9 02 85 0c a9 00 8d |.. <............| +00001f90 0a 9d 60 a2 00 a0 00 18 a9 20 65 0c 85 0c 90 02 |..`...... e.....| +00001fa0 e6 0d a5 0d c9 80 d0 04 a5 0c c9 ff 90 2e a0 ff |................| +00001fb0 ad 01 80 85 05 ad 00 80 85 04 d0 13 ad 0a 9d d0 |................| +00001fc0 1b a9 ff 8d 0a 9d 20 36 90 8a d0 10 98 d0 0d 20 |...... 6....... | +00001fd0 3c 90 a0 00 a9 80 85 0d a9 02 85 0c 60 20 47 c2 |<...........` G.| +00001fe0 8a d0 1f a9 82 85 0d a9 00 85 0c 20 de c1 d0 04 |........... ....| +00001ff0 a0 ff d0 0c ad ac 82 85 05 ad ab 82 85 04 a0 00 |................| +00002000 a2 00 60 a0 ad a2 00 a9 00 8d 8b 84 b1 0c dd 5e |..`............^| +00002010 92 d0 0b c8 e8 e0 0b d0 f3 a9 ff 8d 8b 84 ad 8b |................| +00002020 84 60 47 45 4f 53 20 66 6f 72 6d 61 74 20 56 31 |.`GEOS format V1| +00002030 2e 30 00 08 78 a5 0e 48 a5 07 48 a5 06 48 a6 16 |.0..x..H..H..H..| +00002040 e8 86 0e a9 12 85 04 a9 01 85 05 20 3c 90 8a d0 |........... <...| +00002050 38 c6 0e f0 15 ad 00 80 d0 06 20 39 90 b8 50 ee |8......... 9..P.| +00002060 85 04 ad 01 80 85 05 b8 50 e1 a0 02 a2 00 b9 00 |........P.......| +00002070 80 f0 16 98 18 69 20 a8 90 f4 a9 01 85 0e a2 04 |.....i .........| +00002080 a4 16 c8 84 16 c0 12 90 cc 68 85 06 68 85 07 68 |.........h..h..h| +00002090 85 0e 28 60 a5 0f 48 a5 0e 48 a0 48 a2 04 b9 00 |..(`..H..H.H....| +000020a0 82 f0 26 a5 05 85 09 a5 04 85 08 20 92 c2 a5 09 |..&........ ....| +000020b0 8d 01 80 a5 08 8d 00 80 20 3f 90 8a d0 0b a5 09 |........ ?......| +000020c0 85 05 a5 08 85 04 20 0c 93 68 85 0e 68 85 0f 60 |...... ..h..h..`| +000020d0 a9 00 a8 99 00 80 c8 d0 fa 88 8c 01 80 4c 3f 90 |.............L?.| +000020e0 a5 09 18 6d 8c 84 85 0f a5 08 85 0e c9 19 90 02 |...m............| +000020f0 c6 0f c9 12 f0 06 a5 0e c9 12 f0 1d 0a 0a aa bd |................| +00002100 00 82 f0 15 a5 0e 20 7b 93 bd 8a 93 85 10 a8 20 |...... {....... | +00002110 8e 93 f0 1d e6 0f 88 d0 f6 e6 0e a5 0e c9 24 b0 |..............$.| +00002120 1b 38 e5 08 85 0f 0a 69 04 6d 8c 84 85 0f b8 50 |.8.....i.m.....P| +00002130 c5 a5 0e 85 08 a5 0f 85 09 a2 00 60 a2 03 60 a2 |...........`..`.| +00002140 00 dd 86 93 90 03 e8 d0 f8 60 12 19 1f 24 15 13 |.........`...$..| +00002150 12 11 a5 0f c5 10 90 06 38 e5 10 b8 50 f6 85 0f |........8...P...| +00002160 20 ad c2 f0 12 a5 13 49 ff 3d 00 82 9d 00 82 a6 | ......I.=......| +00002170 11 de 00 82 a2 00 60 a2 06 60 a5 0e 0a 0a 85 11 |......`..`......| +00002180 a5 0f 29 07 aa bd d5 93 85 13 a5 0f 4a 4a 4a 38 |..).........JJJ8| +00002190 65 11 aa bd 00 82 25 13 60 01 02 04 08 10 20 40 |e.....%.`..... @| +000021a0 80 20 ad c2 d0 10 a5 13 5d 00 82 9d 00 82 a6 11 |. ......].......| +000021b0 fe 00 82 a2 00 60 a2 06 60 a9 00 85 0a 85 0b a0 |.....`..`.......| +000021c0 04 b1 0c 18 65 0a 85 0a 90 02 e6 0b 98 18 69 04 |....e.........i.| +000021d0 a8 c0 48 f0 f7 c0 90 d0 e8 a9 02 85 09 a9 98 85 |..H.............| +000021e0 08 60 20 47 c2 8a d0 54 a9 82 85 0d a9 00 85 0c |.` G...T........| +000021f0 20 db c1 a2 03 a5 0a 05 0b f0 41 a9 13 85 08 a9 | .........A.....| +00002200 00 85 09 20 92 c2 8a f0 0a a9 01 85 08 20 92 c2 |... ......... ..| +00002210 8a d0 29 a5 09 85 05 a5 08 85 04 20 0c 93 8a d0 |..)........ ....| +00002220 1b a5 05 8d ac 82 a5 04 8d ab 82 a0 bc a2 0f bd |................| +00002230 5e 92 99 00 82 88 ca 10 f6 20 4a c2 60 08 68 8d |^........ J.`.h.| +00002240 fc 9c 78 a5 01 8d fe 9c a9 36 85 01 ad 1a d0 8d |..x......6......| +00002250 fd 9c ad 30 d0 8d fb 9c a0 00 8c 30 d0 8c 1a d0 |...0.......0....| +00002260 a9 7f 8d 19 d0 8d 0d dc 8d 0d dd a9 94 8d 15 03 |................| +00002270 a9 fe 8d 14 03 a9 95 8d 19 03 a9 03 8d 18 03 a9 |................| +00002280 3f 8d 02 dd ad 15 d0 8d ff 9c 8c 15 d0 8c 05 dd |?...............| +00002290 c8 8c 04 dd a9 81 8d 0d dd a9 09 8d 0e dd a0 2c |...............,| +000022a0 ad 12 d0 c5 8f f0 f9 85 8f 88 d0 f4 ad 00 dd 29 |...............)| +000022b0 07 85 8e 8d 05 9d 09 30 85 8f a5 8e 09 10 8d 06 |.......0........| +000022c0 9d 60 68 a8 68 aa 68 40 78 ad fb 9c 8d 30 d0 ad |.`h.h.h@x....0..| +000022d0 ff 9c 8d 15 d0 a9 7f 8d 0d dd ad 0d dd ad fd 9c |................| +000022e0 8d 1a d0 ad fe 9c 85 01 ad fc 9c 48 28 60 0f 07 |...........H(`..| +000022f0 0d 05 0b 03 09 01 0e 06 0c 04 0a 02 08 00 80 20 |............... | +00002300 a0 40 c0 60 e0 10 90 30 b0 50 d0 70 f0 20 5c 96 |.@.`...0.P.p. \.| +00002310 48 68 48 68 84 8d 38 ad 12 d0 e9 31 90 04 29 06 |HhHh..8....1..).| +00002320 f0 f5 a5 8f 8d 00 dd a5 8b a5 8e 8d 00 dd c6 8d |................| +00002330 ea ea ea ad 00 dd 4a 4a ea 0d 00 dd 4a 4a 4a 4a |......JJ....JJJJ| +00002340 ac 00 dd aa 98 4a 4a 0d 00 dd 29 f0 1d 2a 95 a4 |.....JJ...)..*..| +00002350 8d 91 8b d0 c1 ae 06 9d 8e 00 dd 60 20 5c 96 98 |...........` \..| +00002360 48 a0 00 20 af 95 68 a8 20 5c 96 88 b1 8b a6 8e |H.. ..h. \......| +00002370 8e 00 dd aa 29 0f 85 8d 38 ad 12 d0 e9 31 90 04 |....)...8....1..| +00002380 29 06 f0 f5 8a a6 8f 8e 00 dd 29 f0 05 8e 8d 00 |).........).....| +00002390 dd 6a 6a 29 f0 0d 05 9d 8d 00 dd a6 8d bd 39 95 |.jj)..........9.| +000023a0 05 8e 8d 00 dd 6a 6a 29 f0 05 8e c0 00 8d 00 dd |.....jj)........| +000023b0 d0 b9 ea ea f0 9f 86 8c 85 8b a9 00 85 90 ad 89 |................| +000023c0 84 20 b1 ff 24 90 30 18 a9 ff 20 93 ff 24 90 30 |. ..$.0... ..$.0| +000023d0 0f a0 00 b1 8b 20 a8 ff c8 c0 05 90 f6 a2 00 60 |..... .........`| +000023e0 20 ae ff a2 0d 60 86 8c 85 8b a0 02 d0 10 86 8c | ....`..........| +000023f0 85 8b a0 04 a5 05 8d 04 9d a5 04 8d 03 9d a5 8c |................| +00002400 8d 02 9d a5 8b 8d 01 9d a9 9d 85 8c a9 01 85 8b |................| +00002410 4c 98 95 a0 01 20 49 95 48 a8 20 49 95 68 a8 60 |L.... I.H. I.h.`| +00002420 78 a5 8e 8d 00 dd 2c 00 dd 10 fb 60 ad 89 84 20 |x.....,....`... | +00002430 b0 c2 ae 89 84 bd 8a 84 30 0e 20 df 96 8a d0 3f |........0. ....?| +00002440 ae 89 84 a9 80 9d 8a 84 29 40 d0 2c 20 5c c2 a2 |........)@., \..| +00002450 96 a9 bc 20 f2 95 8a d0 23 20 ae ff 78 a0 21 88 |... ....# ..x.!.| +00002460 d0 fd 20 91 95 2c 00 dd 30 fb 20 5f c2 ae 89 84 |.. ..,..0. _....| +00002470 bd 8a 84 09 40 9d 8a 84 a2 00 f0 03 20 5f c2 60 |....@....... _.`| +00002480 4d 2d 45 e2 03 20 5c c2 a2 04 a9 20 20 22 96 20 |M-E.. \.... ". | +00002490 5c 96 ad 89 84 20 b1 ff a9 ef 20 93 ff 20 ae ff |\.... .... .. ..| +000024a0 4c 5f c2 20 5c c2 a9 98 85 8e a9 bb 85 8d a9 03 |L_. \...........| +000024b0 8d 4a 97 a9 00 8d 49 97 a9 1a 85 8f 20 1e 97 8a |.J....I..... ...| +000024c0 d0 1d 18 a9 20 65 8d 85 8d 90 02 e6 8e 18 a9 20 |.... e......... | +000024d0 6d 49 97 8d 49 97 90 03 ee 4a 97 c6 8f 10 dd 4c |mI..I....J.....L| +000024e0 5f c2 a5 8f 0d 8d 84 f0 1e a2 97 a9 46 20 f2 95 |_...........F ..| +000024f0 8a d0 16 a9 20 20 a8 ff a0 00 b1 8d 20 a8 ff c8 |.... ...... ...| +00002500 c0 20 90 f6 20 ae ff a2 00 60 4d 2d 57 00 00 8a |. .. ....`M-W...| +00002510 48 ae 89 84 bd 8a 84 29 40 f0 0e 20 c1 96 ae 89 |H......)@.. ....| +00002520 84 bd 8a 84 29 bf 9d 8a 84 68 aa 60 20 09 9c 20 |....)....h.` .. | +00002530 32 c2 ac 89 84 a9 00 99 8a 84 60 20 14 c2 8a d0 |2.........` ....| +00002540 28 20 09 9c 20 5c c2 a9 00 8d 07 9d a9 04 85 8c |( .. \..........| +00002550 a9 dc 85 8b 20 2e 96 20 87 98 f0 0a ee 07 9d cc |.... .. ........| +00002560 07 9d f0 02 b0 e6 20 5f c2 60 48 20 14 c2 8a d0 |...... _.`H ....| +00002570 25 68 48 09 20 85 04 20 5c c2 a2 04 a9 39 20 2a |%hH. .. \....9 *| +00002580 96 20 5f c2 20 6e 97 68 aa a9 c0 9d 8a 84 8e 89 |. _. n.h........| +00002590 84 86 ba a2 00 60 68 60 20 a7 90 90 43 2c c6 88 |.....`h` ...C,..| +000025a0 50 05 20 3c 9c d0 39 a2 05 a9 8e 20 2a 96 a2 03 |P. <..9.... *...| +000025b0 a9 20 20 22 96 a5 0b 85 8c a5 0a 85 8b a0 00 20 |. "........... | +000025c0 49 95 20 8e 98 8a f0 0a ee 07 9d cc 07 9d f0 02 |I. .............| +000025d0 b0 d5 8a d0 0b 2c c6 88 50 06 20 54 9c b8 50 00 |.....,..P. T..P.| +000025e0 a0 00 60 20 9d 90 90 23 a2 05 a9 7c 20 2a 96 a5 |..` ...#...| *..| +000025f0 0b 85 8c a5 0a 85 8b a0 00 20 98 95 20 87 98 f0 |......... .. ...| +00002600 0a ee 07 9d cc 07 9d f0 02 b0 dd 60 20 9d 90 90 |...........` ...| +00002610 39 a9 03 8d 09 9d a2 05 a9 8e 20 2a 96 20 87 98 |9......... *. ..| +00002620 8a f0 1c ce 09 9d d0 ee a2 25 ee 07 9d ad 07 9d |.........%......| +00002630 c9 05 f0 0b 48 20 20 c2 68 8d 07 9d 8a f0 d2 8a |....H .h.......| +00002640 d0 08 2c c6 88 50 03 4c 54 9c 60 a2 03 a9 25 20 |..,..P.LT.`...% | +00002650 22 96 a9 9d 85 8c a9 08 85 8b 20 4f 96 ad 08 9d |"......... O....| +00002660 48 a8 b9 af 98 a8 68 c9 01 f0 05 18 69 1e d0 02 |H.....h.....i...| +00002670 a9 00 aa 60 01 05 02 08 08 01 05 01 05 05 05 0f |...`............| +00002680 07 0d 05 0b 03 09 01 0e 06 0c 04 0a 02 08 00 00 |................| +00002690 80 20 a0 40 c0 60 e0 10 90 30 b0 50 d0 70 f0 a0 |. .@.`...0.P.p..| +000026a0 00 20 3a 03 a0 00 84 73 84 74 c8 84 71 a0 00 20 |. :....s.t..q.. | +000026b0 cb 03 a5 71 20 40 03 a4 71 20 cb 03 88 b1 73 aa |...q @..q ....s.| +000026c0 4a 4a 4a 4a 85 70 8a 29 0f aa a9 04 8d 00 18 2c |JJJJ.p.).......,| +000026d0 00 18 f0 fb 2c 00 18 d0 00 d0 00 8e 00 18 8a 2a |....,..........*| +000026e0 29 0f 8d 00 18 a6 70 bd 00 03 8d 00 18 ea 2a 29 |).....p.......*)| +000026f0 0f c0 00 8d 00 18 d0 c4 f0 43 a0 01 20 89 03 85 |.........C.. ...| +00002700 71 a8 20 89 03 a4 71 60 20 cb 03 48 68 a9 04 2c |q. ...q` ..Hh..,| +00002710 00 18 f0 fb ea ea ea ad 00 18 0a ea ea ea ea 0d |................| +00002720 00 18 29 0f aa ea ea ea ad 00 18 0a 48 a5 70 68 |..).........H.ph| +00002730 0d 00 18 29 0f 1d 10 03 88 91 73 d0 ce a2 02 8e |...)......s.....| +00002740 00 18 60 c6 48 d0 03 20 34 05 a9 c0 8d 05 18 2c |..`.H.. 4......,| +00002750 05 18 10 ef a9 04 2c 00 18 d0 f4 a9 00 8d 00 18 |......,.........| +00002760 60 08 78 a5 49 48 ad 0f 18 29 df 8d 0f 18 a0 00 |`.x.IH...)......| +00002770 88 d0 fd 20 be 03 a9 04 2c 00 18 f0 fb 20 29 05 |... ....,.... ).| +00002780 a9 06 85 74 a9 4a 85 73 20 7b 03 20 2d 05 a9 07 |...t.J.s {. -...| +00002790 85 74 a9 00 85 73 a9 03 48 a9 fd 48 6c 4a 06 20 |.t...s..H..HlJ. | +000027a0 cb 03 a9 00 85 33 8d 00 18 20 8f f9 a9 ec 8d 0c |.....3... ......| +000027b0 1c 68 68 68 85 49 28 60 ad 4c 06 85 77 49 60 85 |.hhh.I(`.L..wI`.| +000027c0 78 60 20 32 06 a5 22 f0 05 a6 00 ca f0 20 a5 12 |x` 2.."...... ..| +000027d0 48 a5 13 48 20 df 04 68 85 13 aa 68 85 12 a4 00 |H..H ..h...h....| +000027e0 c0 01 d0 29 e4 17 d0 26 c5 16 d0 22 a9 00 48 a5 |...)...&..."..H.| +000027f0 22 a2 ff 38 ed 4c 06 f0 13 b0 06 49 ff 69 01 a2 |"..8.L.....I.i..| +00002800 01 20 94 04 ad 4c 06 85 22 20 18 05 68 60 a9 0b |. ...L.." ..h`..| +00002810 85 00 60 86 4a 0a a8 ad 00 1c 29 fe 85 70 a9 1e |..`.J.....)..p..| +00002820 85 71 a5 70 18 65 4a 45 70 29 03 45 70 85 70 8d |.q.p.eJEp).Ep.p.| +00002830 00 1c a5 71 20 d3 04 a5 71 c0 05 90 08 c9 11 90 |...q ...q.......| +00002840 0a e9 02 d0 06 c9 1c b0 02 69 04 85 71 88 d0 d2 |.........i..q...| +00002850 a9 4b 8d 05 18 ad 05 18 d0 fb 60 20 32 06 a6 00 |.K........` 2...| +00002860 ca f0 12 a2 ff a9 01 20 94 04 a2 01 8a 20 94 04 |....... ..... ..| +00002870 a9 ff 20 d3 04 a9 04 85 70 20 99 05 a6 18 86 22 |.. .....p ....."| +00002880 a4 00 88 f0 11 c6 70 30 08 a6 70 20 1d 05 38 b0 |......p0..p ..8.| +00002890 e8 a9 00 85 22 60 8a 20 4b f2 85 43 ad 00 1c 29 |...."`. K..C...)| +000028a0 9f 1d 44 05 8d 00 1c 60 a9 f7 d0 11 a9 08 0d 00 |..D....`........| +000028b0 1c d0 f1 a9 00 85 20 a9 ff 85 3e a9 fb 2d 00 1c |...... ...>..-..| +000028c0 4c 25 05 00 20 40 60 aa 24 20 10 09 20 3b 06 a9 |L%.. @`.$ .. ;..| +000028d0 20 85 20 a2 00 e4 22 f0 21 20 f6 04 c9 01 d0 1a | . ...".! ......| +000028e0 a4 19 c8 c4 43 90 02 a0 00 84 19 a9 00 85 45 a9 |....C.........E.| +000028f0 00 85 33 a9 18 85 32 20 a5 05 60 20 43 04 a6 00 |..3...2 ..` C...| +00002900 ca d0 03 20 48 05 20 7b 03 a9 10 d0 05 20 43 04 |... H. {..... C.| +00002910 a9 00 a6 00 ca f0 03 60 a9 30 85 45 a9 06 85 33 |.......`.0.E...3| +00002920 a9 4c 85 32 a9 07 85 31 ba 86 49 a2 01 86 00 ca |.L.2...1..I.....| +00002930 86 3f a9 ee 8d 0c 1c a5 45 c9 10 f0 0a c9 30 f0 |.?......E.....0.| +00002940 03 4c ca f4 4c b1 f3 20 e9 f5 85 3a ad 00 1c 29 |.L..L.. ...:...)| +00002950 10 d0 04 a9 08 d0 57 20 8f f7 20 10 f5 a2 09 50 |......W .. ....P| +00002960 fe b8 ca d0 fa a9 ff 8d 03 1c ad 0c 1c 29 1f 09 |.............)..| +00002970 c0 8d 0c 1c a9 ff a2 05 8d 01 1c b8 50 fe b8 ca |............P...| +00002980 d0 fa a0 bb b9 00 01 50 fe b8 8d 01 1c c8 d0 f4 |.......P........| +00002990 b1 30 50 fe b8 8d 01 1c c8 d0 f5 50 fe ad 0c 1c |.0P........P....| +000029a0 09 e0 8d 0c 1c a9 00 8d 03 1c 85 50 a9 01 85 00 |...........P....| +000029b0 60 a5 20 29 20 d0 0d 20 7e f9 a0 80 ca d0 fd 88 |`. ) .. ~.......| +000029c0 d0 fa 84 3e a9 ff 85 48 60 00 00 00 00 2c c6 88 |...>...H`....,..| +000029d0 70 01 60 a9 9c 85 03 a9 07 85 02 a0 00 84 04 84 |p.`.............| +000029e0 05 84 07 c8 c8 84 06 c8 84 09 ac 89 84 b9 bf 88 |................| +000029f0 85 08 20 c8 c2 e6 05 d0 f9 e6 08 c6 09 d0 f3 60 |.. ............`| +00002a00 a0 91 20 56 9c a0 00 b1 0a c8 11 0a 60 a2 00 60 |.. V........`..`| +00002a10 a0 93 20 56 9c 29 20 60 a0 90 a5 03 48 a5 02 48 |.. V.) `....H..H| +00002a20 a5 05 48 a5 04 48 a5 07 48 a5 06 48 a5 08 48 98 |..H..H..H..H..H.| +00002a30 48 a4 04 88 b9 b3 9c 18 65 05 85 05 b9 d7 9c ac |H.......e.......| +00002a40 89 84 79 bf 88 85 08 a0 00 84 04 84 06 c8 84 07 |..y.............| +00002a50 a5 0b 85 03 a5 0a 85 02 68 a8 20 d4 c2 aa 68 85 |........h. ...h.| +00002a60 08 68 85 06 68 85 07 68 85 04 68 85 05 68 85 02 |.h..h..h..h..h..| +00002a70 68 85 03 8a a2 00 60 00 15 2a 3f 54 69 7e 93 a8 |h.....`..*?Ti~..| +00002a80 bd d2 e7 fc 11 26 3b 50 65 78 8b 9e b1 c4 d7 ea |.....&;Pex......| +00002a90 fc 0e 20 32 44 56 67 78 89 9a ab 00 00 00 00 00 |.. 2DVgx........| +00002aa0 00 00 00 00 00 00 00 00 01 01 01 01 01 01 01 01 |................| +00002ab0 01 01 01 01 01 02 02 02 02 02 02 02 02 02 02 00 |................| +00002ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c2 |................| +00002ad0 03 1f 5d 0e 95 a5 95 b3 97 d5 97 fb 95 27 98 54 |..]..........'.T| +00002ae0 98 7b 98 99 98 b8 98 19 91 7a 90 ce 90 4e 90 89 |.{.......z...N..| +00002af0 90 90 92 76 94 23 94 3d 93 2b 94 4b 91 44 91 62 |...v.#.=.+.K.D.b| +00002b00 92 b8 94 4c e9 91 4c f7 91 4c 41 92 4c f1 92 4c |...L..L..LA.L..L| +00002b10 72 90 4c c6 90 4c ed 97 4c 1d 99 4c f0 93 4c 7b |r.L..L..L..L..L{| +00002b20 98 20 e3 90 20 7a 90 8a d0 15 ac 89 84 ad 03 82 |. .. z..........| +00002b30 99 b7 88 10 0a 20 e9 90 20 7a 90 a9 06 d0 02 a9 |..... .. z......| +00002b40 08 8d 8c 84 60 a9 80 85 0b a9 00 85 0a 20 14 c2 |....`........ ..| +00002b50 d0 09 20 5c c2 20 1a c2 20 5f c2 60 20 14 c2 20 |.. \. .. _.` .. | +00002b60 5c c2 20 e3 90 20 20 c2 8a d0 2b ac 89 84 ad 03 |\. .. ...+.....| +00002b70 82 99 b7 88 10 09 20 e9 90 20 20 c2 8a d0 17 20 |...... .. .... | +00002b80 e3 90 20 23 c2 8a d0 0e 2c 03 82 10 09 20 e9 90 |.. #....,.... ..| +00002b90 20 23 c2 8a d0 00 4c 5f c2 a9 80 85 0b a9 00 85 | #....L_........| +00002ba0 0a 20 14 c2 d0 0f 20 5c 0e 95 a5 95 b3 97 d5 97 |. .... \........| +00002bb0 fb 95 27 98 54 98 7b 98 99 98 b8 98 19 91 7a 90 |..'.T.{.......z.| +00002bc0 ce 90 4e 90 89 90 90 92 76 94 23 94 3d 93 2b 94 |..N.....v.#.=.+.| +00002bd0 4b 91 44 91 62 92 b8 94 4c e9 91 4c f7 91 4c 41 |K.D.b...L..L..LA| +00002be0 92 4c f1 92 4c 72 90 4c c6 90 4c ed 97 4c 1d 99 |.L..Lr.L..L..L..| +00002bf0 4c f0 93 4c 7b 98 20 e3 90 20 7a 90 8a d0 15 ac |L..L{. .. z.....| +00002c00 89 84 ad 03 82 99 b7 88 10 0a 20 e9 90 20 7a 90 |.......... .. z.| +00002c10 a9 06 d0 02 a9 08 8d 8c 84 60 a9 80 85 0b a9 00 |.........`......| +00002c20 85 0a 20 14 c2 d0 09 20 5c c2 20 1a c2 20 5f c2 |.. .... \. .. _.| +00002c30 60 20 14 c2 20 5c c2 20 e3 90 20 20 c2 8a d0 2b |` .. \. .. ...+| +00002c40 ac 89 84 ad 03 82 99 b7 88 10 09 20 e9 90 20 20 |........... .. | +00002c50 c2 8a d0 17 20 e3 90 20 23 c2 8a d0 0e 2c 03 82 |.... .. #....,..| +00002c60 10 09 20 e9 90 20 23 c2 8a d0 00 4c 5f c2 a9 80 |.. .. #....L_...| +00002c70 85 0b a9 00 85 0a 20 14 c2 d0 0f 20 5c c2 20 20 |...... .... \. | +00002c80 c2 8a d0 03 20 23 c2 20 5f c2 60 a0 12 a9 82 d0 |.... #. _.`.....| +00002c90 04 a0 35 a9 89 84 04 85 0b a9 00 85 05 85 0a 60 |..5............`| +00002ca0 a9 00 8d 57 9d a2 02 a5 04 f0 14 c9 24 90 0e ac |...W........$...| +00002cb0 89 84 b9 b7 88 10 08 a5 04 c9 47 b0 02 38 60 18 |..........G..8`.| +00002cc0 60 20 e1 c1 8a d0 24 20 47 c2 8a d0 1e 20 e0 91 |` ....$ G.... ..| +00002cd0 20 de c1 a9 82 85 0b a9 90 85 0a a2 0c 20 98 c2 | ............ ..| +00002ce0 a2 0a a0 0c a9 12 20 68 c2 a2 00 60 a0 01 84 08 |...... h...`....| +00002cf0 88 84 09 a5 15 48 a5 14 48 a5 09 48 a5 08 48 a9 |.....H..H..H..H.| +00002d00 00 85 09 a9 fe 85 08 a2 06 a0 08 20 69 c1 a5 12 |........... i...| +00002d10 f0 06 e6 06 d0 02 e6 07 20 e0 91 20 db c1 68 85 |........ .. ..h.| +00002d20 08 68 85 09 a2 03 a5 07 c5 0b d0 04 a5 06 c5 0a |.h..............| +00002d30 f0 02 b0 4d a5 0f 85 0b a5 0e 85 0a a5 07 85 0d |...M............| +00002d40 a5 06 85 0c 20 92 c2 8a d0 37 a0 00 a5 08 91 0a |.... ....7......| +00002d50 c8 a5 09 91 0a 18 a9 02 65 0a 85 0a 90 02 e6 0b |........e.......| +00002d60 a5 0c d0 02 c6 0d c6 0c a5 0c 05 0d d0 d6 a0 00 |................| +00002d70 98 91 0a c8 a5 12 d0 02 a9 fe 18 69 01 91 0a a2 |...........i....| +00002d80 00 68 85 14 68 85 15 60 a9 82 85 0d a9 00 85 0c |.h..h..`........| +00002d90 60 a9 12 85 04 a0 01 84 05 88 8c 5a 9d f0 3c a2 |`..........Z..<.| +00002da0 00 a0 00 18 a9 20 65 0c 85 0c 90 02 e6 0d a5 0d |..... e.........| +00002db0 c9 80 d0 04 a5 0c c9 ff 90 2e a0 ff ad 01 80 85 |................| +00002dc0 05 ad 00 80 85 04 d0 13 ad 5a 9d d0 1b a9 ff 8d |.........Z......| +00002dd0 5a 9d 20 36 90 8a d0 10 98 d0 0d 20 3c 90 a0 00 |Z. 6....... <...| +00002de0 a9 80 85 0d a9 02 85 0c 60 20 47 c2 8a d0 1a 20 |........` G.... | +00002df0 e0 91 20 de c1 d0 04 a0 ff d0 0c ad ac 82 85 05 |.. .............| +00002e00 ad ab 82 85 04 a0 00 a2 00 60 a0 ad a2 00 8e 8b |.........`......| +00002e10 84 b1 0c dd 7f 92 d0 0b c8 e8 e0 0b d0 f3 a9 ff |................| +00002e20 8d 8b 84 ad 8b 84 60 47 45 4f 53 20 66 6f 72 6d |......`GEOS form| +00002e30 61 74 20 56 31 2e 30 00 08 78 a5 0e 48 a5 07 48 |at V1.0..x..H..H| +00002e40 a5 06 48 a6 16 e8 86 0e a9 12 85 04 a9 01 85 05 |..H.............| +00002e50 20 3c 90 8a d0 38 c6 0e f0 15 ad 00 80 d0 06 20 | <...8......... | +00002e60 39 90 b8 50 ee 85 04 ad 01 80 85 05 b8 50 e1 a0 |9..P.........P..| +00002e70 02 a2 00 b9 00 80 f0 16 98 18 69 20 a8 90 f4 a9 |..........i ....| +00002e80 01 85 0e a2 04 a4 16 c8 84 16 c0 12 90 cc 68 85 |..............h.| +00002e90 06 68 85 07 68 85 0e 28 60 a5 0f 48 a5 0e 48 a0 |.h..h..(`..H..H.| +00002ea0 48 a2 04 b9 00 82 f0 26 a5 05 85 09 a5 04 85 08 |H......&........| +00002eb0 20 92 c2 a5 09 8d 01 80 a5 08 8d 00 80 20 3f 90 | ............ ?.| +00002ec0 8a d0 0b a5 09 85 05 a5 08 85 04 20 2d 93 68 85 |........... -.h.| +00002ed0 0e 68 85 0f 60 a9 00 a8 99 00 80 c8 d0 fa 88 8c |.h..`...........| +00002ee0 01 80 4c 3f 90 a5 09 18 6d 8c 84 85 0f a5 08 85 |..L?....m.......| +00002ef0 0e c9 12 f0 0e c9 35 f0 0a a5 0e c9 12 f0 30 c9 |......5.......0.| +00002f00 35 f0 2c c9 24 90 0b 18 69 b9 aa bd 00 82 d0 0a |5.,.$...i.......| +00002f10 f0 1d 0a 0a aa bd 00 82 f0 15 a5 0e 20 c6 93 bd |............ ...| +00002f20 de 93 85 10 a8 20 e2 93 f0 36 e6 0f 88 d0 f6 2c |..... ...6.....,| +00002f30 03 82 10 14 a5 0e c9 24 b0 07 18 69 23 85 0e d0 |.......$...i#...| +00002f40 0f 38 e9 22 85 0e d0 04 e6 0e a5 0e c9 24 b0 1b |.8.".........$..| +00002f50 38 e5 08 85 0f 0a 69 04 6d 8c 84 85 0f b8 50 99 |8.....i.m.....P.| +00002f60 a5 0e 85 08 a5 0f 85 09 a2 00 60 a2 03 60 48 c9 |..........`..`H.| +00002f70 24 90 03 38 e9 23 a2 00 dd da 93 90 03 e8 d0 f8 |$..8.#..........| +00002f80 68 60 12 19 1f 24 15 13 12 11 a5 0f c5 10 90 06 |h`...$..........| +00002f90 38 e5 10 b8 50 f6 85 0f 20 ad c2 d0 03 a2 06 60 |8...P... ......`| +00002fa0 08 a5 0e c9 24 90 0b a5 13 5d 00 89 9d 00 89 b8 |....$....]......| +00002fb0 50 08 a5 13 5d 00 82 9d 00 82 a6 11 28 f0 06 de |P...].......(...| +00002fc0 00 82 b8 50 03 fe 00 82 a2 00 60 20 ad c2 f0 d0 |...P......` ....| +00002fd0 a2 06 60 a5 0f 29 07 aa bd 6e 94 85 13 a5 0e c9 |..`..)...n......| +00002fe0 24 90 20 38 e9 24 85 11 a5 0f 4a 4a 4a 18 65 11 |$. 8.$....JJJ.e.| +00002ff0 06 11 18 65 11 aa a5 0e 18 69 b9 85 11 bd 00 89 |...e.....i......| +00003000 25 13 60 0a 0a 85 11 a5 0f 4a 4a 4a 38 65 11 aa |%.`......JJJ8e..| +00003010 bd 00 82 25 13 60 01 02 04 08 10 20 40 80 a9 00 |...%.`..... @...| +00003020 85 0a 85 0b a0 04 b1 0c 18 65 0a 85 0a 90 02 e6 |.........e......| +00003030 0b 98 18 69 04 a8 c0 48 f0 f7 c0 90 d0 e8 a9 02 |...i...H........| +00003040 85 09 a9 98 85 08 2c 03 82 10 14 a0 dd b1 0c 18 |......,.........| +00003050 65 0a 85 0a 90 02 e6 0b c8 d0 f2 06 08 26 09 60 |e............&.`| +00003060 20 47 c2 8a d0 4f 20 e0 91 20 db c1 a2 03 a5 0a | G...O .. ......| +00003070 05 0b f0 41 a9 00 85 09 a9 13 85 08 20 92 c2 8a |...A........ ...| +00003080 f0 0a a9 01 85 08 20 92 c2 8a d0 29 a5 09 85 05 |...... ....)....| +00003090 a5 08 85 04 20 2d 93 8a d0 1b a5 05 8d ac 82 a5 |.... -..........| +000030a0 04 8d ab 82 a0 bc a2 0f bd 7f 92 99 00 82 88 ca |................| +000030b0 10 f6 20 4a c2 60 08 68 8d 4d 9d 78 a5 01 8d 4f |.. J.`.h.M.x...O| +000030c0 9d a9 36 85 01 ad 1a d0 8d 4e 9d ad 30 d0 8d 4c |..6......N..0..L| +000030d0 9d a0 00 8c 30 d0 8c 1a d0 a9 7f 8d 19 d0 8d 0d |....0...........| +000030e0 dc 8d 0d dd a9 95 8d 15 03 a9 9f 8d 14 03 a9 95 |................| +000030f0 8d 19 03 a9 a4 8d 18 03 a9 3f 8d 02 dd ad 15 d0 |.........?......| +00003100 8d 50 9d 8c 15 d0 8c 05 dd c8 8c 04 dd a9 81 8d |.P..............| +00003110 0d dd a9 09 8d 0e dd a0 2c ad 12 d0 c5 8f f0 f9 |........,.......| +00003120 85 8f 88 d0 f4 ad 00 dd 29 07 85 8e 09 30 85 8f |........)....0..| +00003130 a5 8e 09 10 8d 56 9d a0 1f b9 e8 96 29 f0 05 8e |.....V......)...| +00003140 99 e8 96 88 10 f3 60 68 a8 68 aa 68 40 78 ad 4c |......`h.h.h@x.L| +00003150 9d 8d 30 d0 ad 50 9d 8d 15 d0 a9 7f 8d 0d dd ad |..0..P..........| +00003160 0d dd ad 4e 9d 8d 1a d0 ad 4f 9d 85 01 ad 4d 9d |...N.....O....M.| +00003170 48 28 60 86 8c 85 8b a9 00 85 90 ad 89 84 20 b1 |H(`........... .| +00003180 ff 24 90 30 18 a9 ff 20 93 ff 24 90 30 0f a0 00 |.$.0... ..$.0...| +00003190 b1 8b 20 a8 ff c8 c0 05 90 f6 a2 00 60 20 ae ff |.. .........` ..| +000031a0 a2 0d 60 ad 89 84 20 b0 c2 ae 89 84 bd 8a 84 30 |..`... ........0| +000031b0 0e 20 73 96 8a d0 3f ae 89 84 a9 80 9d 8a 84 29 |. s...?........)| +000031c0 40 d0 2c 20 5c c2 a2 96 a9 50 20 cb 95 8a d0 23 |@., \....P ....#| +000031d0 20 ae ff 78 a0 21 88 d0 fd 20 58 97 2c 00 dd 30 | ..x.!... X.,..0| +000031e0 fb 20 5f c2 ae 89 84 bd 8a 84 09 40 9d 8a 84 a2 |. _........@....| +000031f0 00 f0 03 20 5f c2 8a 60 4d 2d 45 ff 03 20 5c c2 |... _..`M-E.. \.| +00003200 a2 04 a9 75 20 e1 97 20 1b 98 ad 89 84 20 b1 ff |...u .. ..... ..| +00003210 a9 ef 20 93 ff 20 ae ff 4c 5f c2 20 5c c2 a9 99 |.. .. ..L_. \...| +00003220 85 8e a9 51 85 8d a9 03 8d d7 96 a9 00 8d d6 96 |...Q............| +00003230 a9 1f 85 8f 20 b2 96 8a d0 1d 18 a9 20 65 8d 85 |.... ....... e..| +00003240 8d 90 02 e6 8e 18 a9 20 6d d6 96 8d d6 96 90 03 |....... m.......| +00003250 ee d7 96 c6 8f 10 dd 4c 5f c2 a2 96 a9 d3 20 cb |.......L_..... .| +00003260 95 8a d0 16 a9 20 20 a8 ff a0 00 b1 8d 20 a8 ff |..... ...... ..| +00003270 c8 c0 20 90 f6 20 ae ff a2 00 60 4d 2d 57 00 00 |.. .. ....`M-W..| +00003280 0f 07 0d 05 0b 03 09 01 0e 06 0c 04 0a 02 08 00 |................| +00003290 00 80 20 a0 40 c0 60 e0 10 90 30 b0 50 d0 70 f0 |.. .@.`...0.P.p.| +000032a0 00 20 00 20 10 30 10 30 00 20 00 20 10 30 10 30 |. . .0.0. . .0.0| +000032b0 a5 02 48 20 1b 98 84 02 38 ad 12 d0 e9 31 90 04 |..H ....8....1..| +000032c0 29 06 f0 f5 a5 8f 8d 00 dd a5 8e 8d 00 dd c6 02 |)...............| +000032d0 ad 00 dd 4a 4a ea 0d 00 dd 4a 4a 4a 4a ac 00 dd |...JJ....JJJJ...| +000032e0 aa 98 4a 4a 0d 00 dd 29 f0 1d d8 96 a4 02 91 8b |..JJ...)........| +000032f0 05 8d 05 8d 98 d0 c1 20 58 97 68 85 02 b1 8b 60 |....... X.h....`| +00003300 ae 56 9d 8e 00 dd 60 20 1b 98 98 48 a0 00 20 76 |.V....` ...H.. v| +00003310 97 68 a8 20 1b 98 88 b1 8b a6 8e 8e 00 dd aa 29 |.h. ...........)| +00003320 0f 85 8d 38 ad 12 d0 e9 31 90 04 29 06 f0 f5 8a |...8....1..)....| +00003330 a6 8f 8e 00 dd 29 f0 05 8e 8d 00 dd 6a 6a 29 f0 |.....)......jj).| +00003340 05 8e 8d 00 dd a6 8d bd e8 96 8d 00 dd bd f8 96 |................| +00003350 c0 00 8d 00 dd d0 bf ea ea f0 a5 a9 08 8d 8c 84 |................| +00003360 8a 48 ae 89 84 bd 8a 84 29 40 f0 0e 20 55 96 ae |.H......)@.. U..| +00003370 89 84 bd 8a 84 29 bf 9d 8a 84 68 aa 60 20 32 c2 |.....)....h.` 2.| +00003380 ac 89 84 a9 00 99 8a 84 60 86 8c 85 8b a0 02 d0 |........`.......| +00003390 10 86 8c 85 8b a0 04 a5 05 8d 55 9d a5 04 8d 54 |..........U....T| +000033a0 9d a5 8c 8d 53 9d a5 8b 8d 52 9d a9 9d 85 8c a9 |....S....R......| +000033b0 52 85 8b 4c 5f 97 a0 01 20 08 97 48 a8 20 08 97 |R..L_... ..H. ..| +000033c0 68 a8 60 78 a5 8e 8d 00 dd 2c 00 dd 10 fb 60 48 |h.`x.....,....`H| +000033d0 20 14 c2 d0 25 68 48 09 20 85 04 20 5c c2 a2 04 | ...%hH. .. \...| +000033e0 a9 a5 20 e9 97 20 5f c2 20 d8 97 68 aa a9 c0 9d |.. .. _. ..h....| +000033f0 8a 84 8e 89 84 86 ba a2 00 60 68 60 20 14 c2 d0 |.........`h` ...| +00003400 21 8d 57 9d 85 04 20 5c c2 a2 05 a9 7e 20 e9 97 |!.W... \....~ ..| +00003410 20 1d 99 f0 0a ee 57 9d cc 57 9d f0 02 b0 ea 20 | .....W..W..... | +00003420 5f c2 60 20 f8 90 90 16 20 0b 99 20 08 97 20 24 |_.` .... .. .. $| +00003430 99 8a f0 0a ee 57 9d cc 57 9d f0 02 b0 ea a0 00 |.....W..W.......| +00003440 60 20 f8 90 90 19 a2 05 a9 fe 20 0f 99 20 6b 97 |` ........ .. k.| +00003450 20 24 99 f0 0a ee 57 9d cc 57 9d f0 02 b0 e7 60 | $....W..W.....`| +00003460 20 f8 90 90 4d a2 00 a9 03 8d 59 9d 20 0b 99 84 | ...M.....Y. ...| +00003470 8d a9 51 8d 46 97 a9 85 8d 4a 97 20 08 97 a9 91 |..Q.F....J. ....| +00003480 8d 46 97 a9 05 8d 4a 97 a5 8d 48 20 24 99 68 e0 |.F....J...H $.h.| +00003490 00 d0 05 aa f0 1c a2 25 ce 59 9d d0 cf ee 57 9d |.......%.Y....W.| +000034a0 ad 57 9d c9 05 f0 0b 48 20 20 c2 68 8d 57 9d 8a |.W.....H .h.W..| +000034b0 f0 b5 60 a2 04 a9 af 20 e9 97 a5 0b 85 8c a5 0a |..`.... ........| +000034c0 85 8b a0 00 60 a2 03 a9 1f 20 e1 97 a9 9d 85 8c |....`.... ......| +000034d0 a9 58 85 8b 20 0e 98 ad 58 9d 48 a8 b9 45 99 a8 |.X.. ...X.H..E..| +000034e0 68 c9 01 f0 05 18 69 1e d0 02 a9 00 aa 60 01 05 |h.....i......`..| +000034f0 02 08 08 01 05 01 05 05 05 0f 07 0d 05 0b 03 09 |................| +00003500 01 0e 06 0c 04 0a 02 08 00 80 20 a0 40 c0 60 e0 |.......... .@.`.| +00003510 10 90 30 b0 50 d0 70 f0 a0 00 84 73 84 74 c8 84 |..0.P.p....s.t..| +00003520 71 a0 00 20 e8 03 a5 71 20 3a 03 a4 71 20 e8 03 |q.. ...q :..q ..| +00003530 88 b1 73 aa 4a 4a 4a 4a 85 70 8a 29 0f aa a9 04 |..s.JJJJ.p.)....| +00003540 8d 00 18 2c 00 18 f0 fb ea ea ea ea 8e 00 18 20 |...,........... | +00003550 e0 03 8a 2a 29 0f 8d 00 18 08 28 ea ea ea a6 70 |...*).....(....p| +00003560 bd 00 03 8d 00 18 20 df 03 2a 29 0f c0 00 8d 00 |...... ..*).....| +00003570 18 20 de 03 d0 ba 20 da 03 f0 4e a0 01 20 90 03 |. .... ...N.. ..| +00003580 85 71 a8 20 90 03 a4 71 60 20 e8 03 20 db 03 a9 |.q. ...q` .. ...| +00003590 00 85 70 45 70 85 70 20 db 03 a9 04 2c 00 18 f0 |..pEp.p ....,...| +000035a0 fb 20 dc 03 ad 00 18 20 db 03 0a 0d 00 18 08 28 |. ..... .......(| +000035b0 ea ea 29 0f aa ad 00 18 20 de 03 0a 0d 00 18 29 |..)..... ......)| +000035c0 0f 1d 0f 03 88 91 73 d0 ca a2 02 8e 00 18 20 d9 |......s....... .| +000035d0 03 ea ea ea ea ea ea ea ea 60 c6 48 d0 03 20 c5 |.........`.H.. .| +000035e0 04 a9 c0 8d 05 18 2c 05 18 10 ef a9 04 2c 00 18 |......,......,..| +000035f0 d0 f4 a9 00 8d 00 18 60 08 78 a5 49 48 a0 00 88 |.......`.x.IH...| +00003600 d0 fd a0 00 88 d0 fd 20 8e 04 ad 0f 18 09 20 8d |....... ...... .| +00003610 0f 18 20 83 a4 a9 00 8d 00 18 a9 1a 8d 02 18 20 |.. ............ | +00003620 d0 03 a9 04 2c 00 18 f0 fb 20 ba 04 a9 06 85 74 |....,.... .....t| +00003630 a9 f7 85 73 20 82 03 ad f9 06 8d f6 06 c9 24 b0 |...s .........$.| +00003640 0b ad 0f 18 29 fb 8d 0f 18 4c 61 04 38 e9 23 8d |....)....La.8.#.| +00003650 f6 06 ad 0f 18 09 04 8d 0f 18 20 be 04 a9 07 85 |.......... .....| +00003660 74 a9 00 85 73 a9 04 48 a9 2f 48 6c f7 06 20 e8 |t...s..H./Hl.. .| +00003670 03 a9 00 85 33 20 8f f9 a9 ec 8d 0c 1c 20 8e 04 |....3 ....... ..| +00003680 68 68 68 85 49 28 60 ad 0f 18 29 df 8d 0f 18 20 |hhh.I(`...).... | +00003690 83 a4 20 82 ff ad af 02 09 80 8d af 02 60 ad f9 |.. ..........`..| +000036a0 06 85 77 49 60 85 78 60 20 2a 06 a0 00 20 34 03 |..wI`.x` *... 4.| +000036b0 4c 1f 03 a9 f7 d0 11 a9 08 0d 00 1c d0 18 a9 00 |L...............| +000036c0 85 20 a9 ff 85 3e a9 fb 2d 00 1c 4c dd 04 ad 00 |. ...>..-..L....| +000036d0 1c 29 9f 1d e1 04 8d 00 1c 60 00 20 40 60 20 d4 |.).......`. @` .| +000036e0 06 a5 22 f0 05 a6 00 ca f0 20 a5 12 48 a5 13 48 |.."...... ..H..H| +000036f0 20 81 05 68 85 13 aa 68 85 12 a4 00 c0 01 d0 29 | ..h...h.......)| +00003700 e4 17 d0 26 c5 16 d0 22 a9 00 48 a5 22 a2 ff 38 |...&..."..H."..8| +00003710 ed f6 06 f0 13 b0 06 49 ff 69 01 a2 01 20 36 05 |.......I.i... 6.| +00003720 ad f6 06 85 22 20 c2 05 68 60 a9 0b 85 00 60 86 |...." ..h`....`.| +00003730 4a 0a a8 ad 00 1c 29 fe 85 70 a9 2f 85 71 a5 70 |J.....)..p./.q.p| +00003740 18 65 4a 45 70 29 03 45 70 85 70 8d 00 1c a5 71 |.eJEp).Ep.p....q| +00003750 20 73 05 c0 06 90 08 c9 1b 90 0a e9 03 d0 06 c9 | s..............| +00003760 2f b0 02 69 04 85 71 88 d0 d4 a9 96 48 8d 05 18 |/..i..q.....H...| +00003770 ad 05 18 d0 fb 68 60 20 d4 06 a6 00 ca f0 15 a2 |.....h` ........| +00003780 ff a9 01 20 36 05 a2 01 8a 20 36 05 a9 ff 20 73 |... 6.... 6... s| +00003790 05 20 73 05 a9 04 85 70 20 35 06 a5 18 c9 24 90 |. s....p 5....$.| +000037a0 02 e9 23 85 22 a4 00 88 f0 11 c6 70 30 08 a6 70 |..#."......p0..p| +000037b0 20 d5 04 38 b0 e2 a9 00 85 22 60 20 4b f2 85 43 | ..8....."` K..C| +000037c0 4c d5 04 aa 2c f5 06 10 08 20 e2 06 a2 00 8e f5 |L...,.... ......| +000037d0 06 e4 22 f0 21 20 9b 05 c9 01 d0 1a a4 19 c8 c4 |..".! ..........| +000037e0 43 90 02 a0 00 84 19 a9 00 85 45 a9 00 85 33 a9 |C.........E...3.| +000037f0 18 85 32 20 41 06 60 20 e5 04 a6 00 ca d0 03 20 |..2 A.` ....... | +00003800 ca 05 a0 00 20 90 03 45 70 85 3a a4 00 88 d0 0b |.... ..Ep.:.....| +00003810 ad 00 1c 29 10 d0 04 a9 08 85 00 20 1f 03 a9 10 |...)....... ....| +00003820 4c 2f 06 20 e5 04 a9 00 a6 00 ca f0 03 60 a9 30 |L/. .........`.0| +00003830 85 45 a9 06 85 33 a9 f9 85 32 a9 07 85 31 ba 86 |.E...3...2...1..| +00003840 49 a2 01 86 00 ca 8e ab 02 8e fe 02 86 3f a9 ee |I............?..| +00003850 8d 0c 1c a5 45 c9 10 f0 0a c9 30 f0 03 4c 06 96 |....E.....0..L..| +00003860 4c 4f 94 20 8f f7 20 0f 97 a0 09 2c 0f 18 30 fb |LO. .. ....,..0.| +00003870 2c 00 1c 88 d0 f5 a9 ff 8d 03 1c ad 0c 1c 29 1f |,.............).| +00003880 09 c0 8d 0c 1c a9 ff a0 05 8d 01 1c 2c 0f 18 30 |............,..0| +00003890 fb 2c 00 1c 88 d0 f5 a0 bb b9 00 01 2c 0f 18 30 |.,..........,..0| +000038a0 fb 8d 01 1c c8 d0 f2 b1 30 2c 0f 18 30 fb 8d 01 |........0,..0...| +000038b0 1c c8 d0 f3 2c 0f 18 30 fb ad 0c 1c 09 e0 8d 0c |....,..0........| +000038c0 1c a9 00 8d 03 1c 85 50 a9 01 85 00 60 a5 20 29 |.......P....`. )| +000038d0 20 d0 16 20 7e f9 a9 ff 8d f5 06 a0 c8 ca d0 fd | .. ~...........| +000038e0 88 d0 fa 84 3e a9 20 85 20 a9 ff 85 48 60 00 00 |....>. . ...H`..| +000038f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00003900 00 00 00 c2 04 8e 69 2a 95 c1 95 fd 96 4e 97 17 |......i*.....N..| +00003910 96 a3 97 ce 97 e4 98 60 99 8f 99 ef 90 6d 90 9b |.......`.....m..| +00003920 90 4f 90 7d 90 de 92 9f 94 55 94 89 93 5d 94 88 |.O.}.....U...]..| +00003930 91 5b 91 b0 92 de 94 4c 39 92 4c 45 92 4c 8f 92 |.[.....L9.LE.L..| +00003940 4c 3f 93 4c 65 90 4c 93 90 4c 69 97 4c 9a 99 4c |L?.Le.L..Li.L..L| +00003950 14 94 4c cf 98 03 20 b1 90 20 6d 90 d0 0d 20 b9 |..L... .. m... .| +00003960 90 20 6d 90 d0 05 20 c1 90 d0 09 60 a9 80 85 0b |. m... ....`....| +00003970 a9 00 85 0a 20 14 c2 d0 09 20 5c c2 20 1a c2 20 |.... .... \. .. | +00003980 5f c2 8a 60 20 b1 90 20 9b 90 d0 0d 2a 95 c1 95 |_..` .. ....*...| +00003990 fd 96 4e 97 17 96 a3 97 ce 97 e4 98 60 99 8f 99 |..N.........`...| +000039a0 ef 90 6d 90 9b 90 4f 90 7d 90 de 92 9f 94 55 94 |..m...O.}.....U.| +000039b0 89 93 5d 94 88 91 5b 91 b0 92 de 94 4c 39 92 4c |..]...[.....L9.L| +000039c0 45 92 4c 8f 92 4c 3f 93 4c 65 90 4c 93 90 4c 69 |E.L..L?.Le.L..Li| +000039d0 97 4c 9a 99 4c 14 94 4c cf 98 03 20 b1 90 20 6d |.L..L..L... .. m| +000039e0 90 d0 0d 20 b9 90 20 6d 90 d0 05 20 c1 90 d0 09 |... .. m... ....| +000039f0 60 a9 80 85 0b a9 00 85 0a 20 14 c2 d0 09 20 5c |`........ .... \| +00003a00 c2 20 1a c2 20 5f c2 8a 60 20 b1 90 20 9b 90 d0 |. .. _..` .. ...| +00003a10 0d 20 b9 90 20 9b 90 d0 05 20 c1 90 d0 09 60 a9 |. .. .... ....`.| +00003a20 80 85 0b a9 00 85 0a 20 14 c2 d0 0f 20 5c c2 20 |....... .... \. | +00003a30 20 c2 8a d0 03 20 23 c2 20 5f c2 8a 60 a2 82 a0 | .... #. _..`...| +00003a40 00 a9 00 f0 0e a2 89 a0 00 a9 01 d0 06 a2 9c a0 |................| +00003a50 80 a9 02 86 0b 84 0a 85 05 a9 28 85 04 60 2c c6 |..........(..`,.| +00003a60 88 50 05 20 eb 9b f0 11 a9 00 8d 60 9c a2 02 a5 |.P. .......`....| +00003a70 04 f0 06 c9 51 b0 02 38 60 18 60 ac 89 84 b9 86 |....Q..8`.`.....| +00003a80 84 8d 62 9c 29 bf 99 86 84 20 e1 c1 8a d0 4e 20 |..b.).... ....N | +00003a90 47 c2 8a d0 48 2c 62 9c 50 25 20 b1 90 20 eb 9b |G...H,b.P% .. ..| +00003aa0 d0 08 20 b9 90 20 eb 9b f0 15 20 ba 9b 20 b1 90 |.. .. .... .. ..| +00003ab0 20 14 9c 20 b9 90 20 14 9c 20 c1 90 20 14 9c 20 | .. .. .. .. .. | +00003ac0 30 92 20 de c1 a9 82 85 0b a9 90 85 0a a2 0c 20 |0. ............ | +00003ad0 98 c2 a2 0a a0 0c a9 12 20 68 c2 a2 00 ac 89 84 |........ h......| +00003ae0 ad 62 9c 99 86 84 60 68 85 08 68 85 09 a5 09 48 |.b....`h..h....H| +00003af0 a5 08 48 a5 08 38 ed ee c1 85 08 a5 09 ed ef c1 |..H..8..........| +00003b00 85 09 a0 27 a5 09 f0 02 a0 23 84 08 a0 00 84 09 |...'.....#......| +00003b10 a9 02 d0 02 a9 00 8d 64 9c a5 15 48 a5 14 48 a5 |.......d...H..H.| +00003b20 09 48 a5 08 48 a9 00 85 09 a9 fe 85 08 a2 06 a0 |.H..H...........| +00003b30 08 20 69 c1 a5 12 f0 06 e6 06 d0 02 e6 07 20 30 |. i........... 0| +00003b40 92 20 db c1 68 85 08 68 85 09 a2 03 a5 07 c5 0b |. ..h..h........| +00003b50 d0 04 a5 06 c5 0a f0 02 b0 5b a5 0f 85 0b a5 0e |.........[......| +00003b60 85 0a a5 07 85 0d a5 06 85 0c 20 92 c2 8a d0 45 |.......... ....E| +00003b70 a0 00 a5 08 91 0a c8 a5 09 91 0a 18 a9 02 65 0a |..............e.| +00003b80 85 0a 90 02 e6 0b ad 64 9c f0 09 ce 64 9c d0 04 |.......d....d...| +00003b90 a9 23 85 08 a5 0c d0 02 c6 0d c6 0c a5 0c 05 0d |.#..............| +00003ba0 d0 c8 a0 00 98 91 0a c8 a5 12 d0 02 a9 fe 18 69 |...............i| +00003bb0 01 91 0a a2 00 68 85 14 68 85 15 60 a9 82 85 0d |.....h..h..`....| +00003bc0 a9 00 85 0c 60 20 c1 90 e6 05 a9 00 8d 65 9c f0 |....` .......e..| +00003bd0 3c a2 00 a0 00 18 a9 20 65 0c 85 0c 90 02 e6 0d |<...... e.......| +00003be0 a5 0d c9 80 d0 04 a5 0c c9 ff 90 2e a0 ff ad 01 |................| +00003bf0 80 85 05 ad 00 80 85 04 d0 13 ad 65 9c d0 1b a9 |...........e....| +00003c00 ff 8d 65 9c 20 36 90 8a d0 10 98 d0 0d 20 3c 90 |..e. 6....... <.| +00003c10 a0 00 a9 80 85 0d a9 02 85 0c 60 20 47 c2 8a d0 |..........` G...| +00003c20 1a 20 30 92 20 de c1 d0 04 a0 ff d0 0c ad ac 82 |. 0. ...........| +00003c30 85 05 ad ab 82 85 04 a0 00 a2 00 60 a0 ad a2 00 |...........`....| +00003c40 8e 8b 84 b1 0c dd cd 92 d0 0b c8 e8 e0 0b d0 f3 |................| +00003c50 a9 ff 8d 8b 84 ad 8b 84 60 47 45 4f 53 20 66 6f |........`GEOS fo| +00003c60 72 6d 61 74 20 56 31 2e 30 00 08 78 a5 0e 48 a5 |rmat V1.0..x..H.| +00003c70 07 48 a5 06 48 a6 16 e8 86 0e a9 28 85 04 a9 03 |.H..H......(....| +00003c80 85 05 20 3c 90 8a d0 38 c6 0e f0 15 ad 00 80 d0 |.. <...8........| +00003c90 06 20 39 90 b8 50 ee 85 04 ad 01 80 85 05 b8 50 |. 9..P.........P| +00003ca0 e1 a0 02 a2 00 b9 00 80 f0 16 98 18 69 20 a8 90 |............i ..| +00003cb0 f4 a9 01 85 0e a2 04 a4 16 c8 84 16 c0 12 90 cc |................| +00003cc0 68 85 06 68 85 07 68 85 0e 28 60 a5 0f 48 a5 0e |h..h..h..(`..H..| +00003cd0 48 a2 04 ad fa 89 f0 26 a5 05 85 09 a5 04 85 08 |H......&........| +00003ce0 20 92 c2 a5 09 8d 01 80 a5 08 8d 00 80 20 3f 90 | ............ ?.| +00003cf0 8a d0 0b a5 09 85 05 a5 08 85 04 20 79 93 68 85 |........... y.h.| +00003d00 0e 68 85 0f 60 a9 00 a8 99 00 80 c8 d0 fa 88 8c |.h..`...........| +00003d10 01 80 4c 3f 90 20 93 93 d0 01 60 a9 27 85 08 a5 |..L?. ....`.'...| +00003d20 09 18 69 01 85 0f a5 08 85 0e c9 28 f0 06 a5 0e |..i........(....| +00003d30 c9 28 f0 32 c9 29 90 03 38 e9 28 38 e9 01 0a 85 |.(.2.)..8.(8....| +00003d40 10 0a 18 65 10 aa a5 0e c9 29 90 06 bd 90 9c b8 |...e.....)......| +00003d50 50 03 bd 10 89 f0 0f a9 28 85 10 a8 20 06 94 f0 |P.......(... ...| +00003d60 23 e6 0f 88 d0 f6 a5 0e c9 29 b0 0a c6 0e d0 08 |#........)......| +00003d70 a9 29 85 0e d0 02 e6 0e a5 0e c9 51 b0 11 a9 00 |.).........Q....| +00003d80 85 0f f0 aa a5 0e 85 08 a5 0f 85 09 a2 00 60 a2 |..............`.| +00003d90 03 60 a5 0f c5 10 90 06 38 e5 10 b8 50 f6 85 0f |.`......8...P...| +00003da0 20 ad c2 d0 03 a2 06 60 08 a5 0e c9 29 90 19 a5 | ......`....)...| +00003db0 13 5d 90 9c 9d 90 9c a6 11 28 f0 06 de 90 9c b8 |.].......(......| +00003dc0 50 1c fe 90 9c b8 50 16 a5 13 5d 10 89 9d 10 89 |P.....P...].....| +00003dd0 a6 11 28 f0 06 de 10 89 b8 50 03 fe 10 89 a2 00 |..(......P......| +00003de0 60 20 ad c2 f0 c2 a2 06 60 a5 0f 29 07 aa bd 97 |` ......`..)....| +00003df0 94 85 13 a5 0e c9 29 90 03 38 e9 28 38 e9 01 0a |......)..8.(8...| +00003e00 85 11 0a 18 65 11 85 11 a5 0f 4a 4a 4a 38 65 11 |....e.....JJJ8e.| +00003e10 aa a5 0e c9 29 90 06 bd 90 9c 25 13 60 bd 10 89 |....).....%.`...| +00003e20 25 13 60 01 02 04 08 10 20 40 80 a9 00 85 0a 85 |%.`..... @......| +00003e30 0b a0 10 b9 00 89 18 65 0a 85 0a 90 02 e6 0b 98 |.......e........| +00003e40 18 69 06 a8 c0 fa f0 f7 c0 00 d0 e7 a0 10 b9 80 |.i..............| +00003e50 9c 18 65 0a 85 0a 90 02 e6 0b 98 18 69 06 a8 d0 |..e.........i...| +00003e60 ed a9 0c 85 09 a9 58 85 08 60 20 47 c2 8a d0 45 |......X..` G...E| +00003e70 20 30 92 20 db c1 a2 03 a5 0a 05 0b f0 37 a9 28 | 0. .........7.(| +00003e80 85 08 a9 12 85 09 20 92 c2 8a d0 29 a5 09 85 05 |...... ....)....| +00003e90 a5 08 85 04 20 79 93 8a d0 1b a5 05 8d ac 82 a5 |.... y..........| +00003ea0 04 8d ab 82 a0 bc a2 0f bd cd 92 99 00 82 88 ca |................| +00003eb0 10 f6 20 4a c2 60 08 68 8d 56 9c 78 a5 01 8d 58 |.. J.`.h.V.x...X| +00003ec0 9c a9 36 85 01 ad 1a d0 8d 57 9c ad 30 d0 8d 55 |..6......W..0..U| +00003ed0 9c a0 00 8c 30 d0 8c 1a d0 a9 7f 8d 19 d0 8d 0d |....0...........| +00003ee0 dc 8d 0d dd a9 95 8d 15 03 a9 bb 8d 14 03 a9 95 |................| +00003ef0 8d 19 03 a9 c0 8d 18 03 a9 3f 8d 02 dd ad 15 d0 |.........?......| +00003f00 8d 59 9c 8c 15 d0 8c 05 dd c8 8c 04 dd a9 81 8d |.Y..............| +00003f10 0d dd a9 09 8d 0e dd a0 2c ad 12 d0 c5 8f f0 f9 |........,.......| +00003f20 85 8f 88 d0 f4 ad 00 dd 29 07 85 8e 09 30 85 8f |........)....0..| +00003f30 a5 8e 09 10 8d 5f 9c a0 1f b9 15 98 29 f0 05 8e |....._......)...| +00003f40 99 15 98 88 10 f3 60 68 a8 68 aa 68 40 78 ad 55 |......`h.h.h@x.U| +00003f50 9c 8d 30 d0 ad 59 9c 8d 15 d0 a9 7f 8d 0d dd ad |..0..Y..........| +00003f60 0d dd ad 57 9c 8d 1a d0 ad 58 9c 85 01 ad 56 9c |...W.....X....V.| +00003f70 48 28 60 86 8c 85 8b a9 00 85 90 ad 89 84 20 b1 |H(`........... .| +00003f80 ff 24 90 30 18 a9 ff 20 93 ff 24 90 30 0f a0 00 |.$.0... ..$.0...| +00003f90 b1 8b 20 a8 ff c8 c0 05 90 f6 a2 00 60 20 ae ff |.. .........` ..| +00003fa0 a2 0d 60 ad 89 84 20 b0 c2 ae 89 84 bd 8a 84 30 |..`... ........0| +00003fb0 0e 20 98 96 8a d0 3f ae 89 84 a9 80 9d 8a 84 29 |. ....?........)| +00003fc0 40 d0 2c 20 5c c2 a2 96 a9 6c 20 e7 95 8a d0 23 |@., \....l ....#| +00003fd0 20 ae ff 78 a0 21 88 d0 fd 20 74 98 2c 00 dd 30 | ..x.!... t.,..0| +00003fe0 fb 20 5f c2 ae 89 84 bd 8a 84 09 40 9d 8a 84 a2 |. _........@....| +00003ff0 00 f0 03 20 5f c2 8a 60 4d 2d 45 0f 04 20 5c c2 |... _..`M-E.. \.| +00004000 a2 04 a9 b9 20 5d 97 a2 04 a9 57 20 5d 97 20 97 |.... ]....W ]. .| +00004010 97 ad 89 84 20 b1 ff a9 ef 20 93 ff 20 ae ff a2 |.... .... .. ...| +00004020 00 4c 5f c2 20 5c c2 a9 99 85 8e a9 c7 85 8d a9 |.L_. \..........| +00004030 03 8d fc 96 a9 00 8d fb 96 a9 0f 85 8f 20 d7 96 |............. ..| +00004040 8a d0 1d 18 a9 20 65 8d 85 8d 90 02 e6 8e 18 a9 |..... e.........| +00004050 20 6d fb 96 8d fb 96 90 03 ee fc 96 c6 8f 10 dd | m..............| +00004060 4c 5f c2 a2 96 a9 f8 20 e7 95 8a d0 16 a9 20 20 |L_..... ...... | +00004070 a8 ff a0 00 b1 8d 20 a8 ff c8 c0 20 90 f6 20 ae |...... .... .. .| +00004080 ff a2 00 60 4d 2d 57 00 00 8a 48 ae 89 84 bd 8a |...`M-W...H.....| +00004090 84 29 40 f0 3a 20 71 96 ae 89 84 bd 8a 84 29 bf |.)@.: q.......).| +000040a0 9d 8a 84 2c c4 88 50 27 20 4a 9c ae 89 84 bd 3e |...,..P' J.....>| +000040b0 97 85 04 bd 42 97 85 05 a9 9c 85 03 a9 80 85 02 |....B...........| +000040c0 a0 00 84 08 84 06 c8 84 07 20 c8 c2 20 e0 9b 68 |......... .. ..h| +000040d0 aa 60 80 00 80 00 8f 9d aa b8 20 b4 9b 20 32 c2 |.`........ .. 2.| +000040e0 ac 89 84 a9 00 99 8a 84 60 86 8c 85 8b a0 02 d0 |........`.......| +000040f0 10 86 8c 85 8b a0 04 a5 05 8d 5e 9c a5 04 8d 5d |..........^....]| +00004100 9c a5 8c 8d 5c 9c a5 8b 8d 5b 9c a9 9c 85 8c a9 |....\....[......| +00004110 5b 85 8b 4c 7b 98 a0 01 20 35 98 48 a8 20 35 98 |[..L{... 5.H. 5.| +00004120 68 a8 60 78 a5 8e 8d 00 dd 2c 00 dd 10 fb 60 8d |h.`x.....,....`.| +00004130 cc 97 20 35 c2 20 5c c2 a2 97 a9 c9 20 e7 95 8a |.. 5. \..... ...| +00004140 d0 10 ac cc 97 a9 00 99 8a 84 8c 89 84 84 ba 4c |...............L| +00004150 85 96 4c 5f c2 55 30 3e 08 00 20 14 c2 d0 26 20 |..L_.U0>.. ...& | +00004160 b4 9b a9 00 8d 60 9c 85 04 20 5c c2 a2 04 a9 9b |.....`... \.....| +00004170 20 65 97 20 9a 99 f0 0a ee 60 9c cc 60 9c f0 02 | e. .....`..`...| +00004180 b0 ea 20 5f c2 60 01 05 02 08 08 01 05 01 05 05 |.. _.`..........| +00004190 05 0f 07 0d 05 0b 03 09 01 0e 06 0c 04 0a 02 08 |................| +000041a0 00 00 80 20 a0 40 c0 60 e0 10 90 30 b0 50 d0 70 |... .@.`...0.P.p| +000041b0 f0 00 20 00 20 10 30 10 30 00 20 00 20 10 30 10 |.. . .0.0. . .0.| +000041c0 30 20 97 97 84 8d 38 ad 12 d0 e9 31 90 04 29 06 |0 ....8....1..).| +000041d0 f0 f5 a5 8f 8d 00 dd a5 8e 8d 00 dd c6 8d ad 00 |................| +000041e0 dd 4a 4a ea 0d 00 dd 4a 4a 4a 4a ac 00 dd aa 98 |.JJ....JJJJ.....| +000041f0 4a 4a 0d 00 dd 29 f0 1d 05 98 a4 8d 91 8b d0 c6 |JJ...)..........| +00004200 ae 5f 9c 8e 00 dd 60 20 97 97 98 48 a0 00 20 92 |._....` ...H.. .| +00004210 98 68 a8 20 97 97 88 b1 8b a6 8e 8e 00 dd aa 29 |.h. ...........)| +00004220 0f 85 8d 38 ad 12 d0 e9 31 90 04 29 06 f0 f5 8a |...8....1..)....| +00004230 a6 8f 8e 00 dd 29 f0 05 8e 8d 00 dd 6a 6a 29 f0 |.....)......jj).| +00004240 05 8e 8d 00 dd a6 8d bd 15 98 8d 00 dd bd 25 98 |..............%.| +00004250 c0 00 8d 00 dd d0 bf ea ea f0 a5 20 dc 90 90 0f |........... ....| +00004260 a5 04 09 80 85 04 20 f3 98 a5 04 29 7f 85 04 60 |...... ....)...`| +00004270 20 dc 90 90 74 2c c6 88 50 05 20 fe 9b d0 6a a2 | ...t,..P. ...j.| +00004280 04 a9 cc 20 65 97 a2 03 a9 1f 20 5d 97 a5 0b 85 |... e..... ]....| +00004290 8c a5 0a 85 8b a0 00 a5 04 10 02 a0 02 20 35 98 |............. 5.| +000042a0 20 a1 99 8a f0 0a ee 60 9c cc 60 9c f0 02 b0 cf | ......`..`.....| +000042b0 a5 04 c9 28 d0 25 a5 05 d0 21 a0 04 b1 0a 8d 63 |...(.%...!.....c| +000042c0 9c 98 18 69 8c a8 b1 0a 48 ad 63 9c 91 0a 98 38 |...i....H.c....8| +000042d0 e9 8c a8 68 91 0a c8 c0 1d d0 e1 8a d0 0b 2c c6 |...h..........,.| +000042e0 88 50 06 20 14 9c b8 50 00 a0 00 60 20 d2 90 90 |.P. ...P...` ...| +000042f0 29 20 24 99 a2 04 a9 7c 20 65 97 a5 0b 85 8c a5 |) $....| e......| +00004300 0a 85 8b a0 00 20 87 98 20 a1 99 f0 0a ee 60 9c |..... .. .....`.| +00004310 cc 60 9c f0 02 b0 dd 20 24 99 60 a2 00 2c c6 88 |.`..... $.`..,..| +00004320 50 03 4c 14 9c 60 a2 03 a9 2b 20 5d 97 a9 9c 85 |P.L..`...+ ]....| +00004330 8c a9 61 85 8b 20 8a 97 ad 61 9c 48 a8 b9 f9 97 |..a.. ...a.H....| +00004340 a8 68 c9 00 f0 09 c9 01 f0 05 18 69 1e d0 02 a9 |.h.........i....| +00004350 00 aa 60 0f 07 0d 05 0b 03 09 01 0e 06 0c 04 0a |..`.............| +00004360 02 08 00 80 20 a0 40 c0 60 e0 10 90 30 b0 50 d0 |.... .@.`...0.P.| +00004370 70 f0 a0 00 ad eb 04 10 02 a0 02 20 62 03 a9 05 |p.......... b...| +00004380 85 7e a0 00 84 7f c8 20 54 03 20 6a 04 58 ad e8 |.~..... T. j.X..| +00004390 04 f0 0b ca d0 08 ce e8 04 d0 03 20 be 04 a9 04 |........... ....| +000043a0 2c 01 40 d0 e9 78 60 84 42 a0 00 20 02 04 a5 42 |,.@..x`.B.. ...B| +000043b0 20 68 03 a4 42 20 02 04 88 b1 7e aa 4a 4a 4a 4a | h..B ....~.JJJJ| +000043c0 85 41 8a 29 0f aa a9 04 8d 01 40 2c 01 40 f0 fb |.A.)......@,.@..| +000043d0 ea ea ea ea 8e 01 40 20 01 04 8a 2a 29 0f 8d 01 |......@ ...*)...| +000043e0 40 08 28 ea ea ea a6 41 bd 00 03 8d 01 40 20 00 |@.(....A.....@ .| +000043f0 04 2a 29 0f c0 00 8d 01 40 d0 bd 20 fb 03 f0 40 |.*).....@.. ...@| +00004400 20 02 04 20 fb 03 a9 00 85 41 45 41 85 41 20 fc | .. .....AEA.A .| +00004410 03 a9 04 2c 01 40 f0 fb 20 fd 03 ad 01 40 20 fc |...,.@.. ....@ .| +00004420 03 0a 0d 01 40 08 28 ea ea 29 0f aa ad 01 40 20 |....@.(..)....@ | +00004430 ff 03 0a 0d 01 40 29 0f 1d 0f 03 88 91 7e d0 ca |.....@)......~..| +00004440 a2 02 8e 01 40 08 28 08 28 08 28 08 28 ea ea ea |....@.(.(.(.(...| +00004450 ea ea ea ea 60 a9 04 2c 01 40 d0 f9 a9 00 8d 01 |....`..,.@......| +00004460 40 60 78 a5 41 48 a5 42 48 a5 7f 48 a5 7e 48 a2 |@`x.AH.BH..H.~H.| +00004470 02 a0 00 88 d0 fd ca d0 fa 20 ed 03 a9 04 2c 01 |......... ....,.| +00004480 40 f0 fb a9 04 85 7f a9 e9 85 7e a0 01 20 ad 03 |@.........~.. ..| +00004490 85 42 a8 20 ad 03 20 6e 04 a9 06 85 7f a9 00 85 |.B. .. n........| +000044a0 7e a9 04 48 a9 2f 48 6c e9 04 20 02 04 68 68 68 |~..H./Hl.. ..hhh| +000044b0 85 7e 68 85 7f 68 85 42 68 85 41 58 60 a9 bf d0 |.~h..h.Bh.AX`...| +000044c0 07 a9 40 0d 00 40 d0 03 2d 00 40 8d 00 40 60 20 |..@..@..-.@..@` | +000044d0 b0 04 a0 00 20 ad 03 a9 b6 20 d1 04 a5 05 8d fa |.... .... ......| +000044e0 01 d0 08 a9 90 8d e8 04 20 d1 04 4c 2b 03 20 b9 |........ ..L+. .| +000044f0 04 a9 92 20 d1 04 a5 05 c9 01 90 03 f0 01 60 a9 |... ..........`.| +00004500 b0 d0 21 ad eb 04 29 7f c5 11 f0 2d ad e8 04 f0 |..!...)....-....| +00004510 28 a2 03 20 6c ff a9 00 8d e8 04 a9 86 d0 05 20 |(.. l.......... | +00004520 b0 04 a9 80 85 05 ad eb 04 29 7f 85 11 ad ec 04 |.........)......| +00004530 85 12 a2 03 b5 02 20 54 ff 60 00 00 00 00 00 00 |...... T.`......| +00004540 2c c6 88 70 01 60 20 4a 9c a9 9b 85 03 a9 b2 85 |,..p.` J........| +00004550 02 a9 00 85 04 85 05 85 07 a9 02 85 06 ac 89 84 |................| +00004560 b9 bf 88 85 08 20 c8 c2 e6 05 d0 f9 a2 08 bd 62 |..... .........b| +00004570 9c 95 01 ca d0 f8 60 a5 04 c9 28 d0 08 a0 93 20 |......`...(.... | +00004580 21 9c 29 20 60 a2 00 a9 ff 60 a5 04 c9 28 d0 0d |!.) `....`...(..| +00004590 a0 91 20 21 9c a0 00 b1 0a c8 11 0a 60 a2 00 60 |.. !........`..`| +000045a0 a5 04 c9 28 d0 04 a0 90 d0 03 a2 00 60 20 4a 9c |...(........` J.| +000045b0 98 48 ac 89 84 b9 bf 88 85 08 a0 00 84 04 84 06 |.H..............| +000045c0 c8 84 07 a5 0b 85 03 a5 0a 85 02 68 a8 20 d4 c2 |...........h. ..| +000045d0 a8 20 e0 9b 98 60 a2 08 b5 01 9d 62 9c ca d0 f8 |. ...`.....b....| +000045e0 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |`...............| +000045f0 00 00 00 00 00 00 00 f2 05 92 70 37 95 ad 95 dc |..........p7....| +00004600 95 dc 95 d3 95 e2 95 ea 95 ee 95 04 96 0d 96 02 |................| +00004610 91 7d 90 b0 90 4f 90 8a 90 90 92 90 94 67 94 3d |.}...O.......g.=| +00004620 93 1c 94 39 91 32 91 60 92 d6 94 4c d7 91 4c f0 |...9.2.`...L..L.| +00004630 91 4c 3a 92 4c f1 92 4c 75 90 4c a8 90 ea ea 60 |.L:.L..Lu.L....`| +00004640 ea ea 60 4c ef 93 4c f9 95 82 20 c3 90 20 7d 90 |..`L..L... .. }.| +00004650 8a d0 17 ac 89 84 ad 03 82 99 b7 88 10 0c 20 d2 |.............. .| +00004660 90 20 7d 90 a9 06 8d 8c 84 60 a9 08 8d 8c 84 60 |. }......`.....`| +00004670 a9 80 37 95 ad 95 dc 95 dc 95 d3 95 e2 95 ea 95 |..7.............| +00004680 ee 95 04 96 0d 96 02 91 7d 90 b0 90 4f 90 8a 90 |........}...O...| +00004690 90 92 90 94 67 94 3d 93 1c 94 39 91 32 91 60 92 |....g.=...9.2.`.| +000046a0 d6 94 4c d7 91 4c f0 91 4c 3a 92 4c f1 92 4c 75 |..L..L..L:.L..Lu| +000046b0 90 4c a8 90 ea ea 60 ea ea 60 4c ef 93 4c f9 95 |.L....`..`L..L..| +000046c0 82 20 c3 90 20 7d 90 8a d0 17 ac 89 84 ad 03 82 |. .. }..........| +000046d0 99 b7 88 10 0c 20 d2 90 20 7d 90 a9 06 8d 8c 84 |..... .. }......| +000046e0 60 a9 08 8d 8c 84 60 a9 80 85 0b a9 00 85 0a 20 |`.....`........ | +000046f0 14 c2 8a d0 06 08 78 20 1a c2 28 60 08 78 20 c3 |......x ..(`.x .| +00004700 90 20 20 c2 8a d0 11 ac 89 84 ad 03 82 99 b7 88 |. .............| +00004710 10 06 20 d2 90 20 20 c2 28 60 a9 80 85 0b a9 00 |.. .. .(`......| +00004720 85 0a 20 14 c2 8a d0 0c 08 78 20 20 c2 8a d0 03 |.. ......x ....| +00004730 20 23 c2 28 60 a9 12 85 04 a9 00 85 05 85 0a a9 | #.(`...........| +00004740 82 85 0b 60 a9 35 85 04 a9 00 85 05 85 0a a9 89 |...`.5..........| +00004750 85 0b 60 a9 00 8d fc 96 a2 02 a5 04 f0 14 c9 24 |..`............$| +00004760 90 0e ac 89 84 b9 b7 88 10 08 a5 04 c9 47 b0 02 |.............G..| +00004770 38 60 18 60 20 e1 c1 8a d0 29 20 47 c2 8a d0 23 |8`.` ....) G...#| +00004780 a9 82 85 0d a9 00 85 0c 20 de c1 a9 82 85 0b a9 |........ .......| +00004790 90 85 0a a2 0c 20 98 c2 a2 0a a0 0c a9 12 20 68 |..... ........ h| +000047a0 c2 a2 00 60 a0 01 84 08 88 84 09 a5 15 48 a5 14 |...`.........H..| +000047b0 48 a5 09 48 a5 08 48 a9 00 85 09 a9 fe 85 08 a2 |H..H..H.........| +000047c0 06 a0 08 20 69 c1 a5 12 f0 06 e6 06 d0 02 e6 07 |... i...........| +000047d0 20 ce 91 20 db c1 68 85 08 68 85 09 a2 03 a5 07 | .. ..h..h......| +000047e0 c5 0b d0 04 a5 06 c5 0a f0 02 b0 4d a5 0f 85 0b |...........M....| +000047f0 a5 0e 85 0a a5 07 85 0d a5 06 85 0c 20 92 c2 8a |............ ...| +00004800 d0 37 a0 00 a5 08 91 0a c8 a5 09 91 0a 18 a9 02 |.7..............| +00004810 65 0a 85 0a 90 02 e6 0b a5 0c d0 02 c6 0d c6 0c |e...............| +00004820 a5 0c 05 0d d0 d6 a0 00 98 91 0a c8 a5 12 d0 02 |................| +00004830 a9 fe 18 69 01 91 0a a2 00 68 85 14 68 85 15 60 |...i.....h..h..`| +00004840 a9 82 85 0d a9 00 85 0c 60 a9 12 85 04 a9 01 85 |........`.......| +00004850 05 20 3c 90 a9 80 85 0d a9 02 85 0c a9 00 8d ff |. <.............| +00004860 96 60 a2 00 a0 00 18 a9 20 65 0c 85 0c 90 02 e6 |.`...... e......| +00004870 0d a5 0d c9 80 d0 04 a5 0c c9 ff 90 2e a0 ff ad |................| +00004880 01 80 85 05 ad 00 80 85 04 d0 13 ad ff 96 d0 1b |................| +00004890 a9 ff 8d ff 96 20 36 90 8a d0 10 98 d0 0d 20 3c |..... 6....... <| +000048a0 90 a0 00 a9 80 85 0d a9 02 85 0c 60 20 47 c2 8a |...........` G..| +000048b0 d0 1f a9 82 85 0d a9 00 85 0c 20 de c1 d0 04 a0 |.......... .....| +000048c0 ff d0 0c ad ac 82 85 05 ad ab 82 85 04 a0 00 a2 |................| +000048d0 00 60 a0 ad a2 00 a9 00 8d 8b 84 b1 0c dd 7f 92 |.`..............| +000048e0 d0 0b c8 e8 e0 0b d0 f3 a9 ff 8d 8b 84 ad 8b 84 |................| +000048f0 60 47 45 4f 53 20 66 6f 72 6d 61 74 20 56 31 2e |`GEOS format V1.| +00004900 30 00 08 78 a5 0e 48 a5 07 48 a5 06 48 a6 16 e8 |0..x..H..H..H...| +00004910 86 0e a9 12 85 04 a9 01 85 05 20 3c 90 8a d0 38 |.......... <...8| +00004920 c6 0e f0 15 ad 00 80 d0 06 20 39 90 b8 50 ee 85 |......... 9..P..| +00004930 04 ad 01 80 85 05 b8 50 e1 a0 02 a2 00 b9 00 80 |.......P........| +00004940 f0 16 98 18 69 20 a8 90 f4 a9 01 85 0e a2 04 a4 |....i ..........| +00004950 16 c8 84 16 c0 12 90 cc 68 85 06 68 85 07 68 85 |........h..h..h.| +00004960 0e 28 60 a5 0f 48 a5 0e 48 a0 48 a2 04 b9 00 82 |.(`..H..H.H.....| +00004970 f0 26 a5 05 85 09 a5 04 85 08 20 92 c2 a5 09 8d |.&........ .....| +00004980 01 80 a5 08 8d 00 80 20 3f 90 8a d0 0b a5 09 85 |....... ?.......| +00004990 05 a5 08 85 04 20 2d 93 68 85 0e 68 85 0f 60 a9 |..... -.h..h..`.| +000049a0 00 a8 99 00 80 c8 d0 fa 88 8c 01 80 4c 3f 90 a5 |............L?..| +000049b0 09 18 6d 8c 84 85 0f a5 08 85 0e c9 12 f0 0e c9 |..m.............| +000049c0 35 f0 0a a5 0e c9 12 f0 30 c9 35 f0 2c c9 24 90 |5.......0.5.,.$.| +000049d0 0b 18 69 b9 aa bd 00 82 d0 0a f0 1d 0a 0a aa bd |..i.............| +000049e0 00 82 f0 15 a5 0e 20 c5 93 bd dd 93 85 10 a8 20 |...... ........ | +000049f0 e1 93 f0 35 e6 0f 88 d0 f6 2c 03 82 10 14 a5 0e |...5.....,......| +00004a00 c9 24 b0 07 18 69 23 85 0e d0 0f 38 e9 22 85 0e |.$...i#....8."..| +00004a10 d0 04 e6 0e a5 0e c9 24 b0 1a 38 e5 08 85 0f 0a |.......$..8.....| +00004a20 69 04 6d 8c 84 85 0f d0 9a a5 0e 85 08 a5 0f 85 |i.m.............| +00004a30 09 a2 00 60 a2 03 60 48 c9 24 90 03 38 e9 23 a2 |...`..`H.$..8.#.| +00004a40 00 dd d9 93 90 03 e8 d0 f8 68 60 12 19 1f 24 15 |.........h`...$.| +00004a50 13 12 11 a5 0f c5 10 90 06 38 e5 10 b8 50 f6 85 |.........8...P..| +00004a60 0f 20 ad c2 f0 25 a5 0e c9 24 90 0d a5 13 49 ff |. ...%...$....I.| +00004a70 3d 00 89 9d 00 89 b8 50 0a a5 13 49 ff 3d 00 82 |=......P...I.=..| +00004a80 9d 00 82 a6 11 de 00 82 a2 00 60 a2 06 60 a5 0f |..........`..`..| +00004a90 29 07 aa bd 5f 94 85 13 a5 0e c9 24 90 20 38 e9 |)..._......$. 8.| +00004aa0 24 85 11 a5 0f 4a 4a 4a 18 65 11 06 11 18 65 11 |$....JJJ.e....e.| +00004ab0 aa a5 0e 18 69 b9 85 11 bd 00 89 25 13 60 0a 0a |....i......%.`..| +00004ac0 85 11 a5 0f 4a 4a 4a 38 65 11 aa bd 00 82 25 13 |....JJJ8e.....%.| +00004ad0 60 01 02 04 08 10 20 40 80 20 ad c2 d0 21 a5 0e |`..... @. ...!..| +00004ae0 c9 24 90 0b a5 13 5d 00 89 9d 00 89 b8 50 08 a5 |.$....]......P..| +00004af0 13 5d 00 82 9d 00 82 a6 11 fe 00 82 a2 00 60 a2 |.]............`.| +00004b00 06 60 a9 00 85 0a 85 0b a0 04 b1 0c 18 65 0a 85 |.`...........e..| +00004b10 0a 90 02 e6 0b 98 18 69 04 a8 c0 48 f0 f7 c0 90 |.......i...H....| +00004b20 d0 e8 a9 02 85 09 a9 98 85 08 2c 03 82 10 18 a0 |..........,.....| +00004b30 dd b1 0c 18 65 0a 85 0a 90 02 e6 0b c8 d0 f2 a9 |....e...........| +00004b40 05 85 09 a9 30 85 08 60 20 47 c2 8a d0 5a a9 82 |....0..` G...Z..| +00004b50 85 0d a9 00 85 0c 20 db c1 a2 03 a5 0a 05 0b f0 |...... .........| +00004b60 47 a9 00 85 02 a9 13 85 08 a9 00 85 09 20 92 c2 |G............ ..| +00004b70 8a f0 0c a5 02 d0 31 a9 01 85 08 85 02 d0 ea a5 |......1.........| +00004b80 09 85 05 a5 08 85 04 20 2d 93 8a d0 1b a5 05 8d |....... -.......| +00004b90 ac 82 a5 04 8d ab 82 a0 bc a2 0f bd 7f 92 99 00 |................| +00004ba0 82 88 ca 10 f6 20 4a c2 60 08 68 8d f1 96 78 a5 |..... J.`.h...x.| +00004bb0 01 8d f3 96 a9 36 85 01 ad 1a d0 8d f2 96 ad 30 |.....6.........0| +00004bc0 d0 8d f0 96 a0 00 8c 30 d0 8c 1a d0 a9 7f 8d 19 |.......0........| +00004bd0 d0 8d 0d dc 8d 0d dd a9 95 8d 15 03 a9 a7 8d 14 |................| +00004be0 03 a9 95 8d 19 03 a9 ac 8d 18 03 a9 3f 8d 02 dd |............?...| +00004bf0 ad 15 d0 8d f4 96 8c 15 d0 8c 05 dd c8 8c 04 dd |................| +00004c00 a9 81 8d 0d dd a9 09 8d 0e dd a0 2c ad 12 d0 c5 |...........,....| +00004c10 8f f0 f9 85 8f 88 d0 f4 60 68 a8 68 aa 68 40 78 |........`h.h.h@x| +00004c20 ad f0 96 8d 30 d0 ad f4 96 8d 15 d0 a9 7f 8d 0d |....0...........| +00004c30 dd ad 0d dd ad f2 96 8d 1a d0 ad f3 96 85 01 ad |................| +00004c40 f1 96 48 28 60 ad 89 84 20 b0 c2 a2 00 60 a9 08 |..H(`... ....`..| +00004c50 8d 8c 84 60 8d 89 84 85 ba a2 00 60 20 14 c2 60 |...`.......` ..`| +00004c60 20 e1 90 90 03 20 15 96 a0 00 60 20 e1 90 90 05 | .... ....` ....| +00004c70 a0 91 20 1d 96 60 20 e1 90 90 03 20 19 96 60 20 |.. ..` .... ..` | +00004c80 e1 90 90 02 a2 00 60 a0 91 d0 14 a0 90 d0 10 a5 |......`.........| +00004c90 07 48 a5 06 48 a9 00 85 07 a9 02 85 06 d0 0e a5 |.H..H...........| +00004ca0 07 48 a5 06 48 a9 01 85 07 a9 00 85 06 a5 03 48 |.H..H..........H| +00004cb0 a5 02 48 a5 05 48 a5 04 48 a5 08 48 98 48 a5 04 |..H..H..H..H.H..| +00004cc0 c9 24 90 03 38 e9 23 a8 88 b9 a8 96 18 65 05 85 |.$..8.#......e..| +00004cd0 05 b9 cc 96 ac 89 84 79 bf 88 85 08 a5 04 c9 24 |.......y.......$| +00004ce0 90 0d a5 05 18 69 bc 85 05 a5 08 69 02 85 08 a9 |.....i.....i....| +00004cf0 00 85 04 a5 0b 85 03 a5 0a 85 02 68 a8 20 d4 c2 |...........h. ..| +00004d00 aa 68 85 08 68 85 04 68 85 05 68 85 02 68 85 03 |.h..h..h..h..h..| +00004d10 68 85 06 68 85 07 8a a2 00 60 00 15 2a 3f 54 69 |h..h.....`..*?Ti| +00004d20 7e 93 a8 bd d2 e7 fc 11 26 3b 50 65 78 8b 9e b1 |~.......&;Pex...| +00004d30 c4 d7 ea fc 0e 20 32 44 56 67 78 89 9a ab 00 00 |..... 2DVgx.....| +00004d40 00 00 00 00 00 00 00 00 00 00 00 01 01 01 01 01 |................| +00004d50 01 01 01 01 01 01 01 01 02 02 02 02 02 02 02 02 |................| +00004d60 02 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00004d70 00 00 |..| +00004d72 From a35d87a7ebb1756914c880efdbdc7942b1cbb8c7 Mon Sep 17 00:00:00 2001 From: Maciej Witkowiak Date: Sat, 29 May 2021 20:14:36 +0200 Subject: [PATCH 07/16] finalize putting chain0 as assembly file --- apps/Configure V2.0/{10-chain00.s => 10-chain00-boot.s} | 0 apps/Configure V2.0/Makefile | 5 ++--- apps/Configure V2.0/boot.s | 7 ------- apps/Configure V2.0/configure-expected.diff | 0 4 files changed, 2 insertions(+), 10 deletions(-) rename apps/Configure V2.0/{10-chain00.s => 10-chain00-boot.s} (100%) delete mode 100644 apps/Configure V2.0/boot.s mode change 100755 => 100644 apps/Configure V2.0/configure-expected.diff diff --git a/apps/Configure V2.0/10-chain00.s b/apps/Configure V2.0/10-chain00-boot.s similarity index 100% rename from apps/Configure V2.0/10-chain00.s rename to apps/Configure V2.0/10-chain00-boot.s diff --git a/apps/Configure V2.0/Makefile b/apps/Configure V2.0/Makefile index 7d3918ed..5600db37 100644 --- a/apps/Configure V2.0/Makefile +++ b/apps/Configure V2.0/Makefile @@ -1,12 +1,11 @@ configure.cvt: *.s geos.cfg ca65 "Configure V2.0.s" - ca65 boot.s - #ca65 -I../../inc -I../../ 10-chain00.s -o boot.o + ca65 -I../../inc -I../../ 10-chain00-boot.s -o boot.o ca65 binaries.s ld65 -o configure.cvt -Ln configure.lab -m configure.map -C geos.cfg "Configure V2.0.o" boot.o binaries.o -regress: +regress: configure.cvt hexdump -Cv configure.cvt > configure.hex -diff --suppress-common-lines -y configure.hex configure-reference.hex > configure.diff diff --suppress-common-lines -y configure.diff configure-expected.diff diff --git a/apps/Configure V2.0/boot.s b/apps/Configure V2.0/boot.s deleted file mode 100644 index b9dbc65b..00000000 --- a/apps/Configure V2.0/boot.s +++ /dev/null @@ -1,7 +0,0 @@ - -.import __STARTUP_RUN__ -.global APP_START - -.segment "STARTUP" -APP_START = __STARTUP_RUN__+5 -.incbin "10-chain00-boot.bin" diff --git a/apps/Configure V2.0/configure-expected.diff b/apps/Configure V2.0/configure-expected.diff old mode 100755 new mode 100644 From 1d69fd5c4d7c3057763526646dc5c69fa5f2e1c0 Mon Sep 17 00:00:00 2001 From: Maciej Witkowiak Date: Sat, 29 May 2021 20:56:57 +0200 Subject: [PATCH 08/16] some disassembly figured out --- apps/Configure V2.0/10-chain00-boot.s | 128 ++++++++++-------------- 1 file changed, 55 insertions(+), 73 deletions(-) diff --git a/apps/Configure V2.0/10-chain00-boot.s b/apps/Configure V2.0/10-chain00-boot.s index 02cd3450..fbf8dd19 100644 --- a/apps/Configure V2.0/10-chain00-boot.s +++ b/apps/Configure V2.0/10-chain00-boot.s @@ -13,6 +13,11 @@ drv1541=1 .import __STARTUP_RUN__ .global APP_START +.global EndChain0 + +L1162 = $1162 ; chain 1 load address +L1205 = $1205 ; chain 1 start address +L1DA5 = $1da5 ; buffer for 1(+1?) for found filenames L1DB6 = $1DB6 L1DC6 = $1DC6 @@ -39,7 +44,7 @@ LDC08 = $DC08 L88C7 = ramBase _ramBase = ramBase-8 -LC00F = $C00F +version = $C00F ; GEOS version, $20 = 2.0, $13 = 1.3 LC012 = $C012 LC013 = $C013 @@ -68,27 +73,24 @@ LFFB4 = $FFB4 .segment "STARTUP" -APP_START = __STARTUP_RUN__+5 - L03FE = __STARTUP_RUN__-8 - + ; 0406 == __STARTUP__RUN__ .byte $02,$01 - + ; 0408 L0408: .byte $00,$00 - + ; 040a L040A: .byte $00 - -L040B: + ; 040b +APP_START: JSR L047C - LDA firstBoot - CMP #$FF - BNE L0418 + CmpBI firstBoot, $ff ; is this run during boot? + BNE L0418 ; yes - JMP L04EC + JMP StartGUI ; no, it's application run, load GUI from chain #1 L0418: BIT LC013 @@ -102,8 +104,9 @@ L0418: JSR L0D82 JSR i_MoveData - - .word $5000,$1DFC,$0400 + .word $5000 ; source + .word $1DFC ; dest (behind chain0+chain1+$0d80?) + .word $0400 ; length L0436: LDA #$01 @@ -142,8 +145,9 @@ L0462: STA NUMDRV L0470: JSR i_MoveData - - .word $1DFC,$5000,$0400 + .word $1DFC ; source (see above) + .word $5000 ; dest + .word $0400 ; length L0479: JMP EnterDeskTop @@ -152,7 +156,7 @@ L047C: BIT LC013 BMI L048E - LDA LC00F + LDA version CMP #$14 BCS L048E @@ -210,7 +214,7 @@ L04C2: .byte " V1.",$00 L04CC: - LDA LC00F + LDA version CMP #$13 BNE L04EB @@ -229,67 +233,43 @@ L04CC: L04EB: RTS -L04EC: - JSR L0522 - +StartGUI: + JSR OpenConfigureFile TXA - BNE L050E + BNE @1 - LDA #$01 - JSR PointRecord - - LDA #$11 ; chain 1 load address - STA r7H - LDA #$62 - STA r7L - LDA #$FF - STA r2L - STA r2H - JSR ReadRecord + LDA #$01 ; chain 1 + JSR PointRecord + LoadW r7, L1162 ; chain 1 load address + LoadW_ r2, $ffff ; length + JSR ReadRecord TXA - BNE L050E - - L1205 = $1205 ; chain 1 start address - JMP L1205 - -L050E: - JMP EnterDeskTop + BNE @1 + JMP L1205 ; chain 1 start address +@1: JMP EnterDeskTop ; error +ConfigureClass: .byte "Configure V2.0",$00 -L0522: +OpenConfigureFile: LDX #$00 - LDA L06AC - BNE L0557 + LDA ConfigureFileOpenedFlag ; are we open? + BNE @1 ; yes, skip this procedure - LDA #$1D - STA r6H - LDA #$A5 - STA r6L - LDA #$0E - STA r7L - LDA #$01 - STA r7H - LDA #$05 - STA r10H - LDA #$11 - STA r10L + LoadW r6, L1DA5 + LoadB r7L, AUTO_EXEC + LoadB r7H, 1 ; number of files found + LoadW r10, ConfigureClass JSR FindFTypes - TXA - BNE L0557 + BNE @1 - LDA #$1D - STA r0H - LDA #$A5 - STA r0L + LoadW r0, L1DA5 JSR OpenRecordFile - LDA #$FF - STA L06AC -L0557: - RTS + LoadB ConfigureFileOpenedFlag, $ff ; mark that this file (CONFIGURE) is open +@1: RTS L0558: JSR ExitTurbo @@ -455,13 +435,12 @@ L064A: BNE L0671 LDX #$00 - LDA L06AC + LDA ConfigureFileOpenedFlag BEQ L0671 JSR CloseRecordFile - LDA #$00 - STA L06AC + LoadB ConfigureFileOpenedFlag, 0 L0671: RTS @@ -477,7 +456,7 @@ L0672: TYA PHA - JSR L0522 + JSR OpenConfigureFile PLA TAY @@ -505,8 +484,8 @@ L06AA: TXA RTS -L06AC: - .byte $00 +ConfigureFileOpenedFlag: + .byte $00 ; 0 = file closed, 1 = CONFIGURE file open (for chain reading) L06AD: .byte $00,$00,$00,$00 @@ -1823,8 +1802,9 @@ L0FAA: BNE L0FA5 JSR i_FillRam - - .byte $00,$05,$00,$84,$00 + .word $0500 ; count + .word $8400 ; address + .byte $00 ; value L0FC2: LDA #$00 @@ -2055,3 +2035,5 @@ L1158: STX CPU_DATA RTS +EndChain0: + From d76f46960d5af4008dcf9c47965dc8d85cefbb9a Mon Sep 17 00:00:00 2001 From: Maciej Witkowiak Date: Sat, 29 May 2021 21:41:16 +0200 Subject: [PATCH 09/16] more changes --- apps/Configure V2.0/10-chain00-boot.s | 83 +++++++++++-------------- 1 file changed, 36 insertions(+), 47 deletions(-) diff --git a/apps/Configure V2.0/10-chain00-boot.s b/apps/Configure V2.0/10-chain00-boot.s index fbf8dd19..049e1fa3 100644 --- a/apps/Configure V2.0/10-chain00-boot.s +++ b/apps/Configure V2.0/10-chain00-boot.s @@ -3,10 +3,10 @@ bsw=1 drv1541=1 +.include "config.inc" .include "const.inc" .include "geossym.inc" .include "geosmac.inc" -.include "config.inc" .include "kernal.inc" .include "c64.inc" .include "jumptab.inc" @@ -44,9 +44,10 @@ LDC08 = $DC08 L88C7 = ramBase _ramBase = ramBase-8 -version = $C00F ; GEOS version, $20 = 2.0, $13 = 1.3 -LC012 = $C012 -LC013 = $C013 +; GEOS Kernal fixed locations +version = $C00F ; GEOS version, $20 = 2.0, $13 = 1.3 +sysFlgCopy = $C012 +c128Flag = $C013 ; bit 7==1 -> GEOS 128 LC2B1 = SetDevice+1 LC2B2 = SetDevice+2 @@ -93,10 +94,9 @@ APP_START: JMP StartGUI ; no, it's application run, load GUI from chain #1 L0418: - BIT LC013 - BMI L0479 + bbsf 7, c128Flag, L0479 ; are we on GEOS 128? - LDA curDrive + LDA curDrive ; .. no STA L1DC8 TAY LDA _driveType,Y @@ -153,22 +153,15 @@ L0479: JMP EnterDeskTop L047C: - BIT LC013 - BMI L048E - - LDA version - CMP #$14 - BCS L048E - - JSR L04CC - + bbsf 7, c128Flag, @1 ; skip if we're on GEOS 128 + CmpBI version, $14 ; skip if GEOS 64 version higher than 1.4 + BCS @1 + JSR PatchGEOS1_3 JSR L048F - -L048E: - RTS +@1: RTS L048F: - LDA #$C3 + LDA #$C3 ; $c310 - arbitrary address less than 255 bytes before L04C2 values are matched STA r0H LDA #$10 STA r0L @@ -176,12 +169,11 @@ L048F: STY r1L JSR L04A2 - LDA #$05 - STA r1L + LoadB r1L, 5 L04A2: LDX r1L L04A4: - LDA (r0L),Y + LDA (r0),Y CMP L04C2,X BEQ L04B3 @@ -204,34 +196,31 @@ L04B7: LDA L04C2,X BNE L04A4 - LDA #$34 - STA (r0L),Y + LDA #$34 ; patch GEOS Kernal to use CMP #"4" instead of CMP "5" in _EnterDeskTop at fileHeader+O_GHFNAME+15; DeskTop minor version number??? + STA (r0),Y RTS L04C2: - .byte $AD,$5C,$81,$C9,$00 + .byte $AD,$5C,$81,$C9,$00 ; 4 bytes compared against _EnterDeskTop content at $c38d: + ;LDA fileHeader+O_GHFNAME+15 + ;CMP #"5" ; <- without the final '5' value .byte " V1.",$00 -L04CC: - LDA version - CMP #$13 - BNE L04EB +PatchGEOS1_3: + CmpBI version, $13 ; GEOS 1.3? + BNE @1 - LDA LC2B2 - STA r0H - LDA LC2B1 - STA r0L - LDY #$00 - LDA (r0L),Y - CMP #$EA - BEQ L04EB + MoveW SetDevice+1, r0 + LDY #0 + LDA (r0),Y + CMP #$EA ; opcode NOP + BEQ @1 LDY #$03 - LDA #$3D - STA (r0L),Y -L04EB: - RTS + LDA #$3D ; opcode AND $xxxx,X or address? + STA (r0),Y +@1: RTS StartGUI: JSR OpenConfigureFile @@ -281,7 +270,7 @@ L0558: L0563: AND #$A0 STA sysRAMFlg - STA LC012 + STA sysFlgCopy LDA L1DC9 CMP #$02 BCS L057B @@ -980,7 +969,7 @@ L0986: LDA sysRAMFlg AND #$BF STA sysRAMFlg - STA LC012 + STA sysFlgCopy STA L040A LDY L1DF3 LDA L1DEF @@ -998,7 +987,7 @@ L09AE: LDA sysRAMFlg ORA #$40 STA sysRAMFlg - STA LC012 + STA sysFlgCopy STA L040A LDY driveType BEQ L09C9 @@ -1671,7 +1660,7 @@ L0E73: L0ED5: LDY #$00 L0ED7: - LDA (r5L),Y + LDA (r5),Y STA OS_VARS,Y INY BNE L0ED7 @@ -1854,7 +1843,7 @@ L0FE5: STA r2L JSR L6216 - LDA LC012 + LDA sysFlgCopy STA sysRAMFlg LDA #$85 STA r0H From 4edb7cedcb98652352fa6680da6d92a87f36361d Mon Sep 17 00:00:00 2001 From: Maciej Witkowiak Date: Sat, 29 May 2021 22:46:43 +0200 Subject: [PATCH 10/16] more changes --- apps/Configure V2.0/10-chain00-boot.s | 263 +++++++++--------------- 1 file changed, 97 insertions(+), 166 deletions(-) diff --git a/apps/Configure V2.0/10-chain00-boot.s b/apps/Configure V2.0/10-chain00-boot.s index 049e1fa3..46b13b4e 100644 --- a/apps/Configure V2.0/10-chain00-boot.s +++ b/apps/Configure V2.0/10-chain00-boot.s @@ -17,6 +17,8 @@ drv1541=1 L1162 = $1162 ; chain 1 load address L1205 = $1205 ; chain 1 start address +L15A6 = $15A6 +L1AD1 = $1ad1 L1DA5 = $1da5 ; buffer for 1(+1?) for found filenames L1DB6 = $1DB6 @@ -44,14 +46,13 @@ LDC08 = $DC08 L88C7 = ramBase _ramBase = ramBase-8 +DRIVER_BASE_REU = $3C80 ; space for 4*$0d80 = $3600 disk drivers in REU bank 0 + ; GEOS Kernal fixed locations version = $C00F ; GEOS version, $20 = 2.0, $13 = 1.3 sysFlgCopy = $C012 c128Flag = $C013 ; bit 7==1 -> GEOS 128 -LC2B1 = SetDevice+1 -LC2B2 = SetDevice+2 - ;EXP_BASE = $DF00 LDF01 = $DF01 LDF02 = $DF02 @@ -74,16 +75,19 @@ LFFB4 = $FFB4 .segment "STARTUP" -L03FE = __STARTUP_RUN__-8 +_confDriveType = *-8 +confDriveType: ; this is indexed by drive device number ; 0406 == __STARTUP__RUN__ - .byte $02,$01 + .byte $02,$01 ; drive 8 type 1571, drive 9 type 1541 ; 0408 L0408: - .byte $00,$00 + .byte $00,$00 ; ? does this belong to confDriveType? 2 or 4 drives? ; 040a -L040A: - .byte $00 +_confSysRamFlg: + .byte $00 ; sysRAMFlg / sysFlgCopy shadow + + ; 040b APP_START: JSR L047C @@ -109,8 +113,7 @@ L0418: .word $0400 ; length L0436: - LDA #$01 - STA NUMDRV + LoadB NUMDRV, 1 JSR L0558 LDA L1DC8 @@ -141,8 +144,7 @@ L0462: JSR L0738 - LDA #$01 - STA NUMDRV + LoadB NUMDRV, 1 L0470: JSR i_MoveData .word $1DFC ; source (see above) @@ -161,10 +163,7 @@ L047C: @1: RTS L048F: - LDA #$C3 ; $c310 - arbitrary address less than 255 bytes before L04C2 values are matched - STA r0H - LDA #$10 - STA r0L + LoadW r0, $C310 ; $c310 - arbitrary address less than 255 bytes before L04C2 values are matched LDY #$00 STY r1L JSR L04A2 @@ -266,13 +265,12 @@ L0558: LDA ramExpSize BEQ L0563 - LDA L040A + LDA _confSysRamFlg L0563: AND #$A0 STA sysRAMFlg STA sysFlgCopy - LDA L1DC9 - CMP #$02 + CmpBI L1DC9, 2 BCS L057B JSR L0C33 @@ -316,15 +314,12 @@ L05A5: JSR L06B1 JSR L064A - - TXA - BNE L05F7 + bnex L05F7 JSR PurgeTurbo LDY #$03 - LDA #$00 - STA NUMDRV + LoadB NUMDRV, 0 L05C1: STA driveType,Y STA turboFlags,Y @@ -363,21 +358,19 @@ L05F8: LDA ramExpSize BEQ L0615 - LDA #$08 - STA L1DEF - LDA L1DCA - STA L1DF3 + LoadB L1DEF, 8 + MoveB L1DCA, L1DF3 L0608: JSR L0986 INC L1DEF - LDA L1DEF - CMP #$0C + CmpBI L1DEF, 8+4 BNE L0608 L0615: RTS +;0616, no jump to here? LDY curDrive LDA _driveType,Y BEQ L0649 @@ -390,18 +383,12 @@ L0615: LDA #$FF STA L06AD,Y - LDA L0A22,Y - STA r1L - LDA L0A26,Y + LDA DriverOffsetsL,Y + STA r1L ; dest + LDA DriverOffsetsH,Y STA r1H - LDA #$90 - STA r0H - LDA #$00 - STA r0L - LDA #$0D - STA r2H - LDA #$80 - STA r2L + LoadW r0, DISK_BASE ; source + LoadW r2, DISK_DRV_LGH ; length JSR MoveData L0649: @@ -410,38 +397,33 @@ L0649: L064A: LDA L1DCA JSR L0672 - - BNE L0671 + BNE @1 LDA L1DCB JSR L0672 - - BNE L0671 + BNE @1 LDA L1DCC JSR L0672 + BNE @1 - BNE L0671 - - LDX #$00 - LDA ConfigureFileOpenedFlag - BEQ L0671 - - JSR CloseRecordFile + LDX #0 + LDA ConfigureFileOpenedFlag ; is CONFIGURE closed? + BEQ @1 ; yes, skip - LoadB ConfigureFileOpenedFlag, 0 -L0671: - RTS + JSR CloseRecordFile ; close it now + LoadB ConfigureFileOpenedFlag, 0 ; and flag that it's closed +@1: RTS L0672: LDX #$00 TAY - BEQ L06AA + BEQ @1 JSR L0A32 - LDA L06AD,Y - BNE L06AA + LDA L06AD,Y ; was it already loaded? + BNE @1 TYA PHA @@ -450,48 +432,42 @@ L0672: PLA TAY TXA - BNE L06AA + BNE @1 LDA #$FF - STA L06AD,Y - LDA L0A22,Y - STA r7L - LDA L0A26,Y + STA L06AD,Y ; mark that this chain was loaded? + LDA DriverOffsetsL,Y + STA r7L ; buffer for ReadRecord + LDA DriverOffsetsH,Y STA r7H TYA - CLC - ADC #$02 + addv 2 ; skip over first two chains (boot, gui) JSR PointRecord - LDA #$0D - STA r2H - LDA #$80 - STA r2L + LoadW r2, DISK_DRV_LGH ; length JSR ReadRecord -L06AA: - TXA +@1: TXA RTS ConfigureFileOpenedFlag: .byte $00 ; 0 = file closed, 1 = CONFIGURE file open (for chain reading) L06AD: - .byte $00,$00,$00,$00 + .byte $00,$00,$00,$00 ; marks that these chains (disk drivers from CONFIGURE) were loaded? L06B1: - LDA #$01 - STA r0L + LoadB r0L, 1 LDA L1DC8 EOR #$01 TAY - LDA L03FE,Y + LDA _confDriveType,Y LDX L1DCB JSR L06EA STA L1DCB LDY L1DC8 - LDA L03FE,Y + LDA _confDriveType,Y AND #$7F LDX L1DCA JSR L06EA @@ -606,47 +582,38 @@ L0768: CMP #$01 BNE L077E - JMP L07AF L077E: CMP #$02 BNE L0785 - JMP L07D7 L0785: CMP #$03 BNE L078C - JMP L07E7 L078C: CMP #$41 BNE L0796 - JSR L07AF - JMP L07F7 L0796: CMP #$43 BNE L07A0 - JSR L07E7 - JMP L0818 L07A0: CMP #$81 BNE L07A7 - JMP L0839 L07A7: CMP #$82 BNE L07AE - JMP L086B L07AE: @@ -663,10 +630,9 @@ L07AF: LDY L1DEF LDA #$01 STA _driveType,Y - STA L03FE,Y + STA _confDriveType,Y LDA #$00 STA _ramBase,Y - L15A6 = $15A6 DEC L15A6 RTS @@ -714,7 +680,7 @@ L07F7: STA _ramBase,Y LDA #$41 STA _driveType,Y - STA L03FE,Y + STA _confDriveType,Y JSR NewDisk DEC L15A6 @@ -733,7 +699,7 @@ L0818: STA _ramBase,Y LDA #$43 STA _driveType,Y - STA L03FE,Y + STA _confDriveType,Y JSR NewDisk DEC L15A6 @@ -757,7 +723,7 @@ L0839: STA _ramBase,Y LDA #$81 STA _driveType,Y - STA L03FE,Y + STA _confDriveType,Y LDA L1DEF JSR L073D @@ -784,7 +750,7 @@ L086B: STA _ramBase,Y LDA #$82 STA _driveType,Y - STA L03FE,Y + STA _confDriveType,Y LDA L1DEF JSR L073D @@ -812,7 +778,6 @@ L089D: BVC L08C5 L08BC: - L1AD1 = $1ad1 JSR L1AD1 LDA L1DEF @@ -822,7 +787,7 @@ L08C5: DEC L15A6 LDY L1DEF LDA _driveType,Y - STA L03FE,Y + STA _confDriveType,Y LDA #$00 STA _ramBase,Y RTS @@ -967,28 +932,24 @@ L0986: BNE L09AE LDA sysRAMFlg - AND #$BF + AND #%10111111 STA sysRAMFlg STA sysFlgCopy - STA L040A + STA _confSysRamFlg LDY L1DF3 LDA L1DEF JSR L09FB - LDA #$90 - STA r1H - LDA #$00 - STA r1L + LoadW r1, DISK_BASE ; dest = disk driver JSR MoveData - RTS L09AE: LDA sysRAMFlg - ORA #$40 + ORA #%01000000 STA sysRAMFlg STA sysFlgCopy - STA L040A + STA _confSysRamFlg LDY driveType BEQ L09C9 @@ -1022,42 +983,36 @@ L09E3: JSR StashRAM - LDA #$90 - STA r1H - LDA #$00 - STA r1L + LoadW r1, DISK_BASE ; dest = disk driver JSR MoveData - RTS L09FB: PHA JSR L0A32 - LDA L0A22,Y - STA r0L - LDA L0A26,Y + LDA DriverOffsetsL,Y + STA r0L ; source + LDA DriverOffsetsH,Y STA r0H PLA TAY - LDA L0A22,Y - STA r1L - LDA L0A26,Y + LDA DriverOffsetsL,Y + STA r1L ; dest + LDA DriverOffsetsH,Y STA r1H - LDA #$0D - STA r2H - LDA #$80 - STA r2L - LDA #$00 - STA r3L + LoadW r2, DISK_DRV_LGH ; length + LoadB r3L, 0 ; bank RTS -L0A22: - .byte $80,$00,$80,$00 +.define DriverOffsets DRIVER_BASE_REU, DRIVER_BASE_REU + 1 * DISK_DRV_LGH, DRIVER_BASE_REU + 2 * DISK_DRV_LGH, DRIVER_BASE_REU + 3 * DISK_DRV_LGH -L0A26: - .byte $3C,$4A,$57,$65 +DriverOffsetsL: + .lobytes DriverOffsets +DriverOffsetsH: + .hibytes DriverOffsets + ; 0A2A .byte $00,$80,$00,$80,$83,$90,$9E,$AB L0A32: @@ -1397,64 +1352,40 @@ L0D08: INC L0D41 L0D3A: - CLV - BVC L0CD4 - - EOR L522D -L0D40: - BRK -L0D41: - .byte $00 + bra L0CD4 -L0D42: - L00A9 = $00a9 - JSR L00A9 +L0D3D: .byte "M-R" +L0D40: .byte $00 +L0D41: .byte $00 +L0D42: .byte $20 -L0D43 = L0D42+1 - STA STATUS +L0D43: LoadB STATUS, 0 LDA curDrive JSR LFFB1 - - BIT STATUS - BMI L0D69 - + bbsf 7, STATUS, @2 LDA #$FF JSR LFF93 - - BIT STATUS - BMI L0D69 - - LDY #$00 -L0D5C: - LDA (r0L),Y + bbsf 7, STATUS, @2 + LDY #0 +@1: LDA (r0),Y JSR LFFA8 - INY - CPY #$06 - BCC L0D5C - + CPY #6 + BCC @1 LDX #$00 RTS - -L0D69: +@2: JSR LFFAE - LDX #$0D RTS -L0D6F: - LDA #$00 - STA NUMDRV - LDY #$01 -L0D76: - LDA driveType,Y - BEQ L0D7E - +L0D6F: LoadB NUMDRV, 0 + LDY #1 +@1: LDA driveType,Y + BEQ @2 INC NUMDRV -L0D7E: - DEY - BPL L0D76 - +@2: DEY + BPL @1 RTS L0D82: From 32efdb79e9751fea02d751d0b1292350fe170ad9 Mon Sep 17 00:00:00 2001 From: Maciej Witkowiak Date: Sat, 29 May 2021 23:13:11 +0200 Subject: [PATCH 11/16] more changes --- apps/Configure V2.0/10-chain00-boot.s | 85 +++++++------------------ 1 file changed, 23 insertions(+), 62 deletions(-) diff --git a/apps/Configure V2.0/10-chain00-boot.s b/apps/Configure V2.0/10-chain00-boot.s index 46b13b4e..62e49e1c 100644 --- a/apps/Configure V2.0/10-chain00-boot.s +++ b/apps/Configure V2.0/10-chain00-boot.s @@ -1012,7 +1012,7 @@ DriverOffsetsL: DriverOffsetsH: .hibytes DriverOffsets - ; 0A2A + ; 0A2A = DriverOffsetsL+8 .byte $00,$80,$00,$80,$83,$90,$9E,$AB L0A32: @@ -1086,21 +1086,14 @@ L0A96: JSR L0AC0 - LDA #$FF - STA L8001 - LDA #$80 - STA r4H - LDA #$00 - STA r4L - LDA #$12 - STA r1L - LDA #$01 - STA r1H + LoadB diskBlkBuf+1, $ff ; clear link to next sector + LoadW r4, diskBlkBuf ; buffer + LoadB r1L, 18 ; dir track + LoadB r1H, 1 ; 1st dir entry sector JSR PutBlock - INC r1L - LDA #$08 - STA r1H + INC r1L ; dir track+1 ? + LoadB r1H, 8 ; sector 8? JSR PutBlock LDA #$00 @@ -1219,10 +1212,7 @@ L0C6E: L0C6F: JSR L0CC4 - LDA #$01 - STA r2H - LDA #$00 - STA r2L + LoadW r2, $0100 L0C7A: JSR L0CD4 @@ -1279,12 +1269,8 @@ L0CC3: RTS L0CC4: - LDA r0H - STA L0D41 - LDA r0L - STA L0D40 - LDA #$20 - STA L1DCD + MoveW r0, L0D40 + LoadB L1DCD, $20 RTS L0CD4: @@ -1300,10 +1286,7 @@ L0CD4: L0CE4: JSR InitForIO - LDA #$0D - STA r0H - LDA #$3D - STA r0L + LoadW r0, L0D3D ; M-R command JSR L0D43 BEQ L0CF8 @@ -1342,16 +1325,8 @@ L0D08: JSR DoneWithIO - LDA #$00 - STA L1DCD - CLC - LDA #$20 - ADC L0D40 - STA L0D40 - BCC L0D3A - - INC L0D41 -L0D3A: + LoadB L1DCD, 0 + AddVW $20, L0D40 bra L0CD4 L0D3D: .byte "M-R" @@ -1376,7 +1351,7 @@ L0D43: LoadB STATUS, 0 RTS @2: JSR LFFAE - LDX #$0D + LDX #DEV_NOT_FOUND RTS L0D6F: LoadB NUMDRV, 0 @@ -1391,16 +1366,13 @@ L0D6F: LoadB NUMDRV, 0 L0D82: JSR InitForIO - LDA #$00 - STA ramExpSize - LDA #$02 - STA L1DC6 + LoadB ramExpSize, 0 + LoadB L1DC6, 2 LDA EXP_BASE AND #$10 BEQ L0D9B - LDA #$08 - STA L1DC6 + LoadB L1DC6, 8 L0D9B: LDA EXP_BASE AND #$E0 @@ -1421,10 +1393,8 @@ L0DB3: CMP LDF02 BNE L0DDC - LDA #$01 - STA ramExpSize - LDA #$00 - STA r3L + LoadB ramExpSize, 1 + LoadB r3L, 0 L0DC4: JSR L0DDF @@ -1436,8 +1406,7 @@ L0DC4: INC ramExpSize INC r3L - CLV - BVC L0DC4 + bra L0DC4 L0DD9: DEC ramExpSize @@ -1445,17 +1414,9 @@ L0DDC: JMP DoneWithIO L0DDF: - LDA #$1D - STA r0H - LDA #$BE - STA r0L - LDA #$00 - STA r1L - STA r1H - LDA #$00 - STA r2H - LDA #$08 - STA r2L + LoadW r0, $1dbe + LoadW_ r1, 0 + LoadW r2, 8 JSR FetchRAM LDA #$0E From 55634d54cb634abeba629861706abcccbdea5ddb Mon Sep 17 00:00:00 2001 From: Maciej Witkowiak Date: Sat, 29 May 2021 23:21:38 +0200 Subject: [PATCH 12/16] more changes --- apps/Configure V2.0/10-chain00-boot.s | 39 +++++++++---------------- 1 file changed, 13 insertions(+), 26 deletions(-) diff --git a/apps/Configure V2.0/10-chain00-boot.s b/apps/Configure V2.0/10-chain00-boot.s index 62e49e1c..1f911016 100644 --- a/apps/Configure V2.0/10-chain00-boot.s +++ b/apps/Configure V2.0/10-chain00-boot.s @@ -22,6 +22,7 @@ L1AD1 = $1ad1 L1DA5 = $1da5 ; buffer for 1(+1?) for found filenames L1DB6 = $1DB6 +L1DBE = $1DBE L1DC6 = $1DC6 L1DC7 = $1DC7 L1DC8 = $1DC8 @@ -1414,43 +1415,29 @@ L0DDC: JMP DoneWithIO L0DDF: - LoadW r0, $1dbe + LoadW r0, L1DBE LoadW_ r1, 0 LoadW r2, 8 JSR FetchRAM - LDA #$0E - STA r0H - LDA #$2A - STA r0L + LoadW r0, L0E2A JSR StashRAM - LDA #$1D - STA r0H - LDA #$B6 - STA r0L + LoadW r0, L1DB6 JSR FetchRAM - LDA #$1D - STA r0H - LDA #$BE - STA r0L + LoadW r0, L1DBE JSR StashRAM - LDY #$07 -L0E1B: - LDA L0E2A,Y + LDY #8-1 +@1: LDA L0E2A,Y CMP L1DB6,Y - BNE L0E28 - + BNE @2 DEY - BPL L0E1B - + BPL @1 SEC RTS - -L0E28: - CLC +@2: CLC RTS L0E2A: @@ -1683,9 +1670,9 @@ L0FAA: BNE L0FA5 JSR i_FillRam - .word $0500 ; count - .word $8400 ; address - .byte $00 ; value + .word OS_VARS_LGH ; count + .word dirEntryBuf ; address + .byte $00 ; value L0FC2: LDA #$00 From ed97af7c8f56657e657715a6414bb89b3cc729c7 Mon Sep 17 00:00:00 2001 From: Maciej Witkowiak Date: Sun, 30 May 2021 17:09:52 +0200 Subject: [PATCH 13/16] more changes --- apps/Configure V2.0/10-chain00-boot.s | 1177 ++++++++--------------- apps/Configure V2.0/Makefile | 2 +- apps/Configure V2.0/geos.cfg | 2 +- 3 files changed, 396 insertions(+), 785 deletions(-) mode change 100644 => 100755 apps/Configure V2.0/geos.cfg diff --git a/apps/Configure V2.0/10-chain00-boot.s b/apps/Configure V2.0/10-chain00-boot.s index 1f911016..a2af55d1 100644 --- a/apps/Configure V2.0/10-chain00-boot.s +++ b/apps/Configure V2.0/10-chain00-boot.s @@ -12,37 +12,38 @@ drv1541=1 .include "jumptab.inc" .import __STARTUP_RUN__ +.import __STARTUP_SIZE__ +.import __OVERLAY1_SIZE__ .global APP_START -.global EndChain0 -L1162 = $1162 ; chain 1 load address -L1205 = $1205 ; chain 1 start address -L15A6 = $15A6 -L1AD1 = $1ad1 -L1DA5 = $1da5 ; buffer for 1(+1?) for found filenames +chain1LoadAddr = __STARTUP_RUN__+__STARTUP_SIZE__ ; $1162 +chain1RunAddr = chain1LoadAddr+$a3 ; $1205 +chain1EndAddr = chain1LoadAddr+__OVERLAY1_SIZE__ ; $1da5 ($1162+$0c43) -L1DB6 = $1DB6 -L1DBE = $1DBE -L1DC6 = $1DC6 +; inside GUI code +L15A6 = $15A6 ; a byte that is decremented +L1AD1 = $1AD1 ; a function + +; outsize GUI +L1DA5 = chain1EndAddr ; buffer for 1(+1?) for found filenames ; 1da5 + +RamCheckBufCheck = $1DB6 ; 8 bytes for RamCheckString +RamCheckBufBuffer = RamCheckBufCheck+8 ; 8 bytes for RamCheckString ; $1DBE +L1DC6 = RamCheckBufBuffer+8 ; next byte after RamCheckBufBuffer ; $1DC7 L1DC7 = $1DC7 -L1DC8 = $1DC8 -L1DC9 = $1DC9 +bootDriveNumber = $1DC8 +bootDriveType = $1DC9 L1DCA = $1DCA L1DCB = $1DCB L1DCC = $1DCC L1DCD = $1DCD -L1DCE = $1DCE -L1DEF = $1DEF +L1DCE = $1DCE ; buffer for $20 bytes ; $1DCE +L1DEF = L1DCE+$21 ; $1DEF L1DF0 = $1DF0 L1DF3 = $1DF3 L1DF4 = $1DF4 -L522D = $522D ;RunREU = $6000 L6216 = $6216 -L8001 = $8001 -L848F = $848F -L8490 = $8490 -LDC08 = $DC08 L88C7 = ramBase _ramBase = ramBase-8 @@ -54,25 +55,15 @@ version = $C00F ; GEOS version, $20 = 2.0, $13 = 1.3 sysFlgCopy = $C012 c128Flag = $C013 ; bit 7==1 -> GEOS 128 -;EXP_BASE = $DF00 -LDF01 = $DF01 -LDF02 = $DF02 -LDF03 = $DF03 -LDF04 = $DF04 -LDF05 = $DF05 -LDF06 = $DF06 -LDF07 = $DF07 -LDF08 = $DF08 -LDF09 = $DF09 -LDF0A = $DF0A -LFF93 = $FF93 -LFF96 = $FF96 -LFFA5 = $FFA5 -LFFA8 = $FFA8 -LFFAB = $FFAB -LFFAE = $FFAE -LFFB1 = $FFB1 -LFFB4 = $FFB4 +; CBM Kernal jumptable +kernal_LSTNSA = $FF93 +kernal_TALKSA = $FF96 +kernal_IECIN = $FFA5 +kernal_IECOUT = $FFA8 +kernal_UNTALK = $FFAB +kernal_UNLSTN = $FFAE +kernal_LISTEN = $FFB1 +kernal_TALK = $FFB4 .segment "STARTUP" @@ -91,80 +82,68 @@ _confSysRamFlg: ; 040b APP_START: - JSR L047C + JSR patchKernal CmpBI firstBoot, $ff ; is this run during boot? - BNE L0418 ; yes - + BNE :+ ; yes JMP StartGUI ; no, it's application run, load GUI from chain #1 -L0418: - bbsf 7, c128Flag, L0479 ; are we on GEOS 128? +: bbsf 7, c128Flag, exitApp ; are we on GEOS 128? - LDA curDrive ; .. no - STA L1DC8 + MoveB curDrive, bootDriveNumber ; .. no TAY LDA _driveType,Y - STA L1DC9 + STA bootDriveType JSR L0D82 - JSR i_MoveData + JSR i_MoveData ; preserve booter code ($5000-$5400), why? .word $5000 ; source .word $1DFC ; dest (behind chain0+chain1+$0d80?) .word $0400 ; length -L0436: LoadB NUMDRV, 1 JSR L0558 - LDA L1DC8 + LDA bootDriveNumber JSR L073D - JSR L0E32 - JSR L0D6F LDA ramExpSize - BNE L0470 + BNE :++ - LDA NUMDRV - CMP #$02 - BCC L0470 + CmpBI NUMDRV, 2 + BCC :++ LDA driveType - CMP L848F - BNE L0462 - - CMP #$03 - BNE L0470 - -L0462: - JSR L0738 + CMP driveType+1 + BNE :+ + CMP #DRV_1581 + BNE :++ +: JSR L0738 JSR PurgeTurbo - JSR L0738 - LoadB NUMDRV, 1 -L0470: - JSR i_MoveData + +: JSR i_MoveData ; restore booter code ($5000-$5400), why? .word $1DFC ; source (see above) .word $5000 ; dest .word $0400 ; length -L0479: - JMP EnterDeskTop +exitApp: + JMP EnterDeskTop -L047C: - bbsf 7, c128Flag, @1 ; skip if we're on GEOS 128 +patchKernal: + bbsf 7, c128Flag, :+ ; skip if we're on GEOS 128 CmpBI version, $14 ; skip if GEOS 64 version higher than 1.4 - BCS @1 + BCS :+ JSR PatchGEOS1_3 JSR L048F -@1: RTS +: RTS L048F: - LoadW r0, $C310 ; $c310 - arbitrary address less than 255 bytes before L04C2 values are matched + LoadW r0, $C310 ; XXX $c310 - arbitrary address less than 255 bytes before L04C2 values are matched LDY #$00 STY r1L JSR L04A2 @@ -205,38 +184,36 @@ L04C2: ;LDA fileHeader+O_GHFNAME+15 ;CMP #"5" ; <- without the final '5' value - .byte " V1.",$00 + .byte " V1.",$00 ; what/s that for? $04c7 PatchGEOS1_3: CmpBI version, $13 ; GEOS 1.3? - BNE @1 + BNE :+ MoveW SetDevice+1, r0 LDY #0 LDA (r0),Y CMP #$EA ; opcode NOP - BEQ @1 + BEQ :+ LDY #$03 LDA #$3D ; opcode AND $xxxx,X or address? STA (r0),Y -@1: RTS +: RTS StartGUI: JSR OpenConfigureFile - TXA - BNE @1 + bnex :+ - LDA #$01 ; chain 1 + LDA #1 ; chain 1 JSR PointRecord - LoadW r7, L1162 ; chain 1 load address + LoadW r7, chain1LoadAddr ; chain 1 load address LoadW_ r2, $ffff ; length JSR ReadRecord - TXA - BNE @1 - JMP L1205 ; chain 1 start address -@1: JMP EnterDeskTop ; error + bnex :+ + JMP chain1RunAddr ; chain 1 start address +: JMP EnterDeskTop ; error ConfigureClass: .byte "Configure V2.0",$00 @@ -244,90 +221,79 @@ ConfigureClass: OpenConfigureFile: LDX #$00 LDA ConfigureFileOpenedFlag ; are we open? - BNE @1 ; yes, skip this procedure + BNE :+ ; yes, skip this procedure LoadW r6, L1DA5 LoadB r7L, AUTO_EXEC LoadB r7H, 1 ; number of files found LoadW r10, ConfigureClass JSR FindFTypes - TXA - BNE @1 + bnex :+ LoadW r0, L1DA5 JSR OpenRecordFile LoadB ConfigureFileOpenedFlag, $ff ; mark that this file (CONFIGURE) is open -@1: RTS +: RTS L0558: JSR ExitTurbo LDA ramExpSize - BEQ L0563 + BEQ :+ LDA _confSysRamFlg -L0563: - AND #$A0 +: AND #%10100000 STA sysRAMFlg STA sysFlgCopy - CmpBI L1DC9, 2 - BCS L057B + CmpBI bootDriveType, DRV_1571 + BCS :+ JSR L0C33 - CMP #$FF - BNE L057B - + BNE :+ LDA #$01 -L057B: - STA L1DCA +: STA L1DCA LDA curDrive EOR #$01 JSR SetDevice JSR L0C33 - CMP #$FF - BNE L058F - + BNE :+ LDA #$00 -L058F: - STA L1DCB +: STA L1DCB LDA ramExpSize - BEQ L05A3 + BEQ :+ - LDA #$0A + LDA #10 JSR SetDevice JSR L0C33 CMP #$FF - BNE L05A5 + BNE :++ -L05A3: - LDA #$00 -L05A5: - STA L1DCC - LDA L1DC8 +: LDA #$00 +: STA L1DCC + LDA bootDriveNumber JSR SetDevice JSR L06B1 - JSR L064A - bnex L05F7 + JSR CloseConfigure + bnex :+++ JSR PurgeTurbo LDY #$03 LoadB NUMDRV, 0 -L05C1: - STA driveType,Y +: STA driveType,Y STA turboFlags,Y STA _ramBase,Y STA L88C7,Y DEY - BPL L05C1 + BPL :- JSR L05F8 @@ -335,16 +301,15 @@ L05C1: JSR L0768 LDA L1DCB - BEQ L05E7 + BEQ :+ JSR L0738 LDA L1DCB JSR L0768 -L05E7: - LDA L1DCC - BEQ L05F7 +: LDA L1DCC + BEQ :+ LDA #$0A JSR L073D @@ -352,35 +317,31 @@ L05E7: LDA L1DCC JSR L0768 -L05F7: - RTS +: RTS + L05F8: LDA ramExpSize - BEQ L0615 + BEQ :++ ; skip if no ram expansion LoadB L1DEF, 8 MoveB L1DCA, L1DF3 -L0608: - JSR L0986 - +: JSR L0986 ; do this for every drive INC L1DEF CmpBI L1DEF, 8+4 - BNE L0608 - -L0615: - RTS + BNE :- +: RTS ;0616, no jump to here? LDY curDrive LDA _driveType,Y - BEQ L0649 + BEQ :+ TAY JSR L0A32 LDA L06AD,Y - BNE L0649 + BNE :+ LDA #$FF STA L06AD,Y @@ -391,49 +352,46 @@ L0615: LoadW r0, DISK_BASE ; source LoadW r2, DISK_DRV_LGH ; length JSR MoveData +: RTS -L0649: - RTS -L064A: +CloseConfigure: LDA L1DCA JSR L0672 - BNE @1 + BNE :+ LDA L1DCB JSR L0672 - BNE @1 + BNE :+ LDA L1DCC JSR L0672 - BNE @1 + BNE :+ LDX #0 LDA ConfigureFileOpenedFlag ; is CONFIGURE closed? - BEQ @1 ; yes, skip + BEQ :+ ; yes, skip JSR CloseRecordFile ; close it now LoadB ConfigureFileOpenedFlag, 0 ; and flag that it's closed -@1: RTS +: RTS -L0672: +L0672: ; input A = number of driver or driver type or drive number (0-3) LDX #$00 TAY - BEQ @1 + BEQ :+ JSR L0A32 LDA L06AD,Y ; was it already loaded? - BNE @1 + BNE :+ TYA PHA JSR OpenConfigureFile - PLA TAY - TXA - BNE @1 + bnex :+ LDA #$FF STA L06AD,Y ; mark that this chain was loaded? @@ -448,7 +406,7 @@ L0672: LoadW r2, DISK_DRV_LGH ; length JSR ReadRecord -@1: TXA +: TXA RTS ConfigureFileOpenedFlag: @@ -459,7 +417,7 @@ L06AD: L06B1: LoadB r0L, 1 - LDA L1DC8 + LDA bootDriveNumber EOR #$01 TAY LDA _confDriveType,Y @@ -467,7 +425,7 @@ L06B1: JSR L06EA STA L1DCB - LDY L1DC8 + LDY bootDriveNumber LDA _confDriveType,Y AND #$7F LDX L1DCA @@ -475,14 +433,13 @@ L06B1: STA L1DCA LDA ramExpSize - BEQ L06E6 + BEQ :+ LDA L0408 LDX L1DCC JSR L06EA -L06E6: - STA L1DCC +: STA L1DCC RTS L06EA: @@ -493,52 +450,39 @@ L06EA: CLC ADC r0L CMP ramExpSize - BCC L0703 - - BEQ L0703 + BCC :+ + BEQ :+ LDA r2H - AND #$3F + AND #%00111111 STA r2H LDA r0L -L0703: - STA r0H +: STA r0H LDA r2H - BPL L0710 - - LDA r0H - STA r0L + BPL :+ + MoveB r0H, r0L LDA r2H RTS -L0710: - AND #$0F - CMP #$01 - BNE L0720 - - LDA r2L - CMP #$02 - BNE L0720 - - LDA #$01 - STA r2L -L0720: - LDA r2H - AND #$40 - BEQ L0735 +: AND #%00001111 + CMP #1 + BNE :+ + CmpBI r2L, 2 + BNE :+ + LoadB r2L, 1 +: LDA r2H + AND #%01000000 + BEQ :+ LDA r2H - AND #$0F + AND #%00001111 CMP r2L - BNE L0735 - - LDA r0H - STA r0L + BNE :+ + MoveB r0H, r0L LDA r2H RTS -L0735: - LDA r2L +: LDA r2L RTS L0738: @@ -546,38 +490,29 @@ L0738: EOR #$01 L073D: JSR SetDevice - - TXA - BNE L0767 + bnex :+++ LDA ramExpSize - BNE L075E + BNE :++ - LDA L1DF3 - PHA + + PushB L1DF3 LDY curDrive LDA _driveType,Y - BEQ L075A - + BEQ :+ STA L1DF3 JSR L0986 -L075A: - PLA - STA L1DF3 -L075E: - LDY curDrive +: PopB L1DF3 +: LDY curDrive LDA _driveType,Y STA curType -L0767: - RTS +: RTS L0768: PHA - LDA #$00 - STA L1DF0 - LDA curDrive - STA L1DEF + LoadB L1DF0, 0 + MoveB curDrive, L1DEF PLA BEQ L07AE @@ -620,13 +555,11 @@ L07A7: L07AE: RTS -L07AF: - LDA L1DF0 - CMP #$01 - BEQ L07D6 +L07AF: CmpBI L1DF0, 1 + BEQ :++ CMP #$41 - BNE L07CE + BNE :+ LDY L1DEF LDA #$01 @@ -637,89 +570,55 @@ L07AF: DEC L15A6 RTS -L07CE: - LDA #$01 - STA L1DF3 +: LoadB L1DF3, 1 JMP L089D +: RTS -L07D6: - RTS - -L07D7: - LDA L1DF0 - CMP #$02 - BEQ L07E6 - - LDA #$02 - STA L1DF3 +L07D7: CmpBI L1DF0, 2 + BEQ :+ + LoadB L1DF3, 2 JMP L089D +: RTS -L07E6: - RTS - -L07E7: - LDA L1DF0 - CMP #$03 - BEQ L07F6 - - LDA #$03 - STA L1DF3 +L07E7: CmpBI L1DF0, 3 + BEQ :+ + LoadB L1DF3, 3 JMP L089D +: RTS -L07F6: - RTS - -L07F7: - LDA L1DF0 - CMP #$41 - BEQ L0817 - +L07F7: CmpBI L1DF0, $41 + BEQ :+ LDA #$41 JSR L08D7 - LDY L1DEF STA _ramBase,Y LDA #$41 STA _driveType,Y STA _confDriveType,Y JSR NewDisk - DEC L15A6 -L0817: - RTS - -L0818: - LDA L1DF0 - CMP #$43 - BEQ L0838 +: RTS +L0818: CmpBI L1DF0, $43 + BEQ :+ LDA #$43 JSR L08D7 - LDY L1DEF STA _ramBase,Y LDA #$43 STA _driveType,Y STA _confDriveType,Y JSR NewDisk - DEC L15A6 -L0838: - RTS - -L0839: - LDA L1DF0 - CMP #$81 - BEQ L086A +: RTS - LDA #$81 - STA L1DF3 +L0839: CmpBI L1DF0, $81 + BEQ :+ + LoadB L1DF3, $81 JSR L0986 - INC NUMDRV LDA #$81 JSR L08D7 - LDY L1DEF STA _ramBase,Y LDA #$81 @@ -727,26 +626,17 @@ L0839: STA _confDriveType,Y LDA L1DEF JSR L073D - JSR L0A3E - DEC L15A6 -L086A: - RTS - -L086B: - LDA L1DF0 - CMP #$82 - BEQ L089C +: RTS - LDA #$82 - STA L1DF3 +L086B: CmpBI L1DF0, $82 + BEQ :+ + LoadB L1DF3, $82 JSR L0986 - INC NUMDRV LDA #$82 JSR L08D7 - LDY L1DEF STA _ramBase,Y LDA #$82 @@ -754,12 +644,9 @@ L086B: STA _confDriveType,Y LDA L1DEF JSR L073D - JSR L0A3E - DEC L15A6 -L089C: - RTS +: RTS L089D: JSR L0986 @@ -767,25 +654,20 @@ L089D: LDA L1DEF JSR L073D - LDA firstBoot - CMP #$FF - BEQ L08BC + CmpBI firstBoot, $ff + BEQ :+ LDY L1DEF LDA L1DF3 STA _driveType,Y INC NUMDRV - CLV - BVC L08C5 - -L08BC: - JSR L1AD1 + bra :++ +: JSR L1AD1 LDA L1DEF JSR L073D -L08C5: - DEC L15A6 +: DEC L15A6 LDY L1DEF LDA _driveType,Y STA _confDriveType,Y @@ -797,10 +679,9 @@ L08D7: PHA JSR L093D - PLA - STA r0L + PopB r0L LDA L1DF0 - AND #$C0 + AND #%11000000 BNE L08F0 LDA r0L @@ -808,7 +689,6 @@ L08D7: CMP #$01 BEQ L08F9 - BNE L090B L08F0: @@ -837,11 +717,8 @@ L0908: L090B: STA r0L LDY #$00 -L090F: - LDA r0L - STA r0H -L0913: - STY r1L +L090F: MoveB r0L, r0H +L0913: STY r1L CPY ramExpSize BCS L093A @@ -861,7 +738,6 @@ L0922: INY CMP #$00 BNE L090F - BEQ L0922 L0935: @@ -881,10 +757,8 @@ L0941: DEY BPL L0941 - LDA #$FF - STA L1DF4 - LDA #$08 - STA r0L + LoadB L1DF4, $ff + LoadB r0L, 8 L0950: LDY r0L LDA _driveType,Y @@ -905,19 +779,18 @@ L0961: L096A: INC r0L - LDA r0L - CMP #$0C + CmpBI r0L, 12 BCC L0950 RTS L0973: STA r0H - AND #$C0 + AND #%11000000 BEQ L0981 LDA r0H - AND #$0F + AND #%00001111 TAY LDA L0982,Y L0981: @@ -951,37 +824,28 @@ L09AE: STA sysRAMFlg STA sysFlgCopy STA _confSysRamFlg - LDY driveType - BEQ L09C9 + LDY driveType + BEQ :+ LDA #$08 JSR L09FB - JSR StashRAM -L09C9: - LDY L848F - BEQ L09D6 - +: LDY driveType+1 + BEQ :+ LDA #$09 JSR L09FB - JSR StashRAM -L09D6: - LDY L8490 - BEQ L09E3 - +: LDY driveType+2 + BEQ :+ LDA #$0A JSR L09FB - JSR StashRAM -L09E3: - LDY L1DF3 +: LDY L1DF3 LDA L1DEF JSR L09FB - JSR StashRAM LoadW r1, DISK_BASE ; dest = disk driver @@ -1038,28 +902,22 @@ L0A41: INY BNE L0A41 - LDA #$34 - STA L0B60 - LDA #$00 - STA L0ACD + LoadB L0B60, $34 + LoadB L0ACD, $00 LDY curDrive LDA _driveType,Y AND #$0F LDY #$BD CMP #$01 - BEQ L0A6B - + BEQ :+ LDY #$00 - LDA #$37 - STA L0B60 - LDA #$80 - STA L0ACD -L0A6B: - DEY + LoadB L0B60, $37 + LoadB L0ACD, $80 +: DEY LDA L0ACA,Y STA curDirHead,Y TYA - BNE L0A6B + BNE :- LDY curDrive LDA _driveType,Y @@ -1069,18 +927,16 @@ L0A6B: LDY #$00 TYA -L0A84: - STA dir2Head,Y +: STA dir2Head,Y INY - BNE L0A84 + BNE :- LDY #$69 -L0A8C: - DEY +: DEY LDA L0BCA,Y STA dir2Head,Y TYA - BNE L0A8C + BNE :- L0A96: JSR PutDirHead @@ -1167,52 +1023,41 @@ L0BCA: .byte $01 L0C33: - LDA #$E5 - STA r0H - LDA #$80 - STA r0L + LoadW r0, $e580 ; ??? XXX JSR L0C6F CPX #$00 - BNE L0C51 - + BNE :+ CMP #$00 - BNE L0C51 + BNE :+ - LDA #$A6 - STA r0H - LDA #$C0 - STA r0L + LoadW r0, $a6c0 ; ??? XXX JSR L0C6F -L0C51: - CPX #$00 - BNE L0C6C +: CPX #$00 + BNE :+ TAX LDA #$01 CPX #$41 - BEQ L0C6E + BEQ :++ LDA #$02 CPX #$71 - BEQ L0C6E + BEQ :++ LDA #$03 CPX #$81 - BEQ L0C6E + BEQ :++ LDA #$FF - BNE L0C6E + BNE :++ -L0C6C: - LDA #$00 -L0C6E: - RTS +: LDA #$00 +: RTS L0C6F: JSR L0CC4 - LoadW r2, $0100 L0C7A: JSR L0CD4 @@ -1256,11 +1101,9 @@ L0C7A: L0CB3: LDA r2L - BNE L0CB9 - + BNE :+ DEC r2H -L0CB9: - DEC r2L +: DEC r2L LDA r2L ORA r2H BNE L0C7A @@ -1270,98 +1113,91 @@ L0CC3: RTS L0CC4: - MoveW r0, L0D40 + MoveW r0, driveMemoryReadAddr LoadB L1DCD, $20 RTS L0CD4: LDY L1DCD CPY #$20 - BCS L0CE4 + BCS :+ LDA L1DCE,Y INC L1DCD LDX #$00 RTS -L0CE4: - JSR InitForIO - - LoadW r0, L0D3D ; M-R command - JSR L0D43 - - BEQ L0CF8 - +: JSR InitForIO + LoadW r0, driveMemoryReadCmd ; M-R command + JSR SendDOSCmd + BEQ :+ JSR DoneWithIO - RTS -L0CF8: - JSR LFFAE +: JSR kernal_UNLSTN LDA curDrive - JSR LFFB4 + JSR kernal_TALK LDA #$FF - JSR LFF96 + JSR kernal_TALKSA LDY #$00 -L0D08: - JSR LFFA5 - +: JSR kernal_IECIN STA L1DCE,Y INY CPY #$20 - BCC L0D08 + BCC :- - JSR LFFAB + JSR kernal_UNTALK LDA curDrive - JSR LFFB1 + JSR kernal_LISTEN LDA #$EF - JSR LFF93 + JSR kernal_LSTNSA - JSR LFFAE + JSR kernal_UNLSTN JSR DoneWithIO LoadB L1DCD, 0 - AddVW $20, L0D40 + AddVW $20, driveMemoryReadAddr bra L0CD4 -L0D3D: .byte "M-R" -L0D40: .byte $00 -L0D41: .byte $00 -L0D42: .byte $20 +driveMemoryReadCmd: + .byte "M-R" +driveMemoryReadAddr: + .word 0 + .byte $20 ; length -L0D43: LoadB STATUS, 0 +SendDOSCmd: ; direct copy from disk driver + LoadB STATUS, 0 LDA curDrive - JSR LFFB1 - bbsf 7, STATUS, @2 + JSR kernal_LISTEN + bbsf 7, STATUS, :++ LDA #$FF - JSR LFF93 - bbsf 7, STATUS, @2 + JSR kernal_LSTNSA + bbsf 7, STATUS, :++ LDY #0 -@1: LDA (r0),Y - JSR LFFA8 +: LDA (r0),Y + JSR kernal_IECOUT INY CPY #6 - BCC @1 + BCC :- LDX #$00 RTS -@2: - JSR LFFAE +: JSR kernal_UNLSTN LDX #DEV_NOT_FOUND RTS L0D6F: LoadB NUMDRV, 0 LDY #1 -@1: LDA driveType,Y - BEQ @2 +: LDA driveType,Y + BEQ :+ INC NUMDRV -@2: DEY - BPL @1 +: DEY + BPL :-- RTS L0D82: @@ -1369,29 +1205,24 @@ L0D82: LoadB ramExpSize, 0 LoadB L1DC6, 2 - LDA EXP_BASE - AND #$10 - BEQ L0D9B + bbrf 4, EXP_BASE, L0D9B LoadB L1DC6, 8 L0D9B: LDA EXP_BASE - AND #$E0 + AND #%11100000 BNE L0DDC - LDA #$55 - STA LDF02 - CMP LDF02 + LoadB EXP_BASE+2, $55 + CMP EXP_BASE+2 BNE L0DDC - LDA #$AA - STA LDF02 + LoadB EXP_BASE+2, $aa LDY #$00 -L0DB3: - DEY - BNE L0DB3 +: DEY + BNE :- - CMP LDF02 + CMP EXP_BASE+2 BNE L0DDC LoadB ramExpSize, 1 @@ -1415,146 +1246,94 @@ L0DDC: JMP DoneWithIO L0DDF: - LoadW r0, L1DBE + LoadW r0, RamCheckBufBuffer LoadW_ r1, 0 - LoadW r2, 8 + LoadW r2, RamCheckStringLen JSR FetchRAM - LoadW r0, L0E2A + LoadW r0, RamCheckString JSR StashRAM - LoadW r0, L1DB6 + LoadW r0, RamCheckBufCheck JSR FetchRAM - LoadW r0, L1DBE + LoadW r0, RamCheckBufBuffer JSR StashRAM - LDY #8-1 -@1: LDA L0E2A,Y - CMP L1DB6,Y - BNE @2 + LDY #RamCheckStringLen-1 +: LDA RamCheckString,Y + CMP RamCheckBufCheck,Y + BNE :+ DEY - BPL @1 + BPL :- SEC RTS -@2: CLC +: CLC RTS -L0E2A: +RamCheckString: .byte "RAMCheck" +RamCheckStringLen = *-RamCheckString -L0E32: - LDA sysRAMFlg - AND #$20 - BEQ L0E45 - LDA L1DC8 +L0E32: bbrf 5, sysRAMFlg, :+ + LDA bootDriveNumber JSR L073D - JSR L0E46 - JSR L0EF6 - -L0E45: - RTS +: RTS L0E46: - JSR L0EEB - - LDA #$84 - STA r0H - LDA #$79 - STA r1H - LDA #$05 - STA r2H + JSR ClearRegistersLBytes + LoadB r0H, $84 + LoadB r1H, $79 + LoadB r2H, $05 JSR StashRAM - BIT sysRAMFlg - BVS L0E73 + bbsf 6, sysRAMFlg, :+ - JSR L0EEB - - LDA #$90 - STA r0H - LDA #$83 - STA r1H - LDA #$0D - STA r2H - LDA #$80 - STA r2L + JSR ClearRegistersLBytes + LoadB r0H, $90 + LoadB r1H, $83 + LoadW r2, DISK_DRV_LGH JSR StashRAM -L0E73: - JSR L0EEB - - LDA #$80 - STA r0L +: JSR ClearRegistersLBytes + LoadB r0L, $80 STA r2L - LDA #$9D - STA r0H - LDA #$B9 - STA r1H - LDA #$00 - STA r3L - LDA #$02 - STA r2H + LoadB r0H, $9D + LoadB r1H, $B9 + LoadB r3L, 0 + LoadB r2H, 2 JSR StashRAM - JSR L0EEB - - LDA #$BF - STA r0H - LDA #$40 - STA r0L - LDA #$BB - STA r1H - LDA #$80 - STA r1L - LDA #$10 - STA r2H - LDA #$C0 - STA r2L + JSR ClearRegistersLBytes + LoadW r0, $BF40 + LoadW r1, $BB80 + LoadW r2, $10c0 JSR StashRAM - LDA #$30 - STA r4L - LDA #$D0 - STA r5H - LDA #$00 - STA r5L - LDA #$80 - STA r0H - LDA #$00 - STA r0L - LDA #$CC - STA r1H - LDA #$40 - STA r1L - LDA #$01 - STA r2H - LDA #$00 - STA r2L - LDA #$00 - STA r3L -L0ED5: - LDY #$00 -L0ED7: - LDA (r5),Y + LoadB r4L, $30 + LoadW r5, $d000 + LoadW r0, $8000 + LoadW r1, $cc40 + LoadW r2, $0100 + LoadB r3L, 0 + +: LDY #0 +: LDA (r5),Y STA OS_VARS,Y INY - BNE L0ED7 - + BNE :- JSR StashRAM - INC r5H INC r1H DEC r4L - BNE L0ED5 - + BNE :-- RTS -L0EEB: - LDA #$00 +ClearRegistersLBytes: + LDA #0 STA r0L STA r1L STA r2L @@ -1562,112 +1341,55 @@ L0EEB: RTS L0EF6: - JSR L0EEB - - LDA #$7E - STA r1H - LDA #$05 - STA r2H - LDA #$0F - STA r0H - LDA #$0C - STA r0L + JSR ClearRegistersLBytes + LoadB r1H, $7e + LoadB r2H, $05 + LoadW r0, $0f0c JMP StashRAM +; XXX ??? no entry here SEI CLD LDX #$FF TXS - LDA #$30 - STA CPU_DATA - LDA #$90 - STA r0H - LDA #$00 - STA r0L - LDA #$83 - STA r1H - LDA #$00 - STA r1L - LDA #$0D - STA r2H - LDA #$80 - STA r2L + LoadB CPU_DATA, RAM_64K + LoadW r0, $9000 + LoadW r1, $8300 + LoadW r2, DISK_DRV_LGH JSR L6216 - LDA #$9D - STA r0H - LDA #$80 - STA r0L - LDA #$B9 - STA r1H - LDA #$00 - STA r1L - LDA #$02 - STA r2H - LDA #$80 - STA r2L + LoadW r0, $9D80 + LoadW r1, $B900 + LoadW r2, $0280 JSR L6216 - LDA #$BF - STA r0H - LDA #$40 - STA r0L - LDA #$BB - STA r1H - LDA #$80 - STA r1L - LDA #$00 - STA r2H - LDA #$C0 - STA r2L + LoadW r0, $BF40 + LoadW r1, $BB80 + LoadW r2, $00c0 JSR L6216 - LDA #$C0 - STA r0H - LDA #$80 - STA r0L - LDA #$BC - STA r1H - LDA #$C0 - STA r1L - LDA #$0F - STA r2H - LDA #$80 - STA r2L + LoadW r0, $c080 + LoadW r1, $BCC0 + LoadW r2, $0F80 JSR L6216 - LDA #$30 - STA r4L - LDA #$D0 - STA r5H - LDA #$00 - STA r5L - LDA #$80 - STA r0H - LDA #$00 - STA r0L - LDA #$CC - STA r1H - LDA #$40 - STA r1L - LDA #$01 - STA r2H - LDA #$00 - STA r2L -L0FA5: - JSR L6216 + LoadB r4L, $30 + LoadW r5, $d000 + LoadW r0, $8000 + LoadW r1, $CC40 + LoadW r2, $0100 +: JSR L6216 - LDY #$00 -L0FAA: - LDA OS_VARS,Y + LDY #0 +: LDA OS_VARS,Y STA (r5L),Y INY - BNE L0FAA + BNE :- INC r5H INC r1H DEC r4L - BNE L0FA5 + BNE :-- JSR i_FillRam .word OS_VARS_LGH ; count @@ -1675,233 +1397,122 @@ L0FAA: .byte $00 ; value L0FC2: - LDA #$00 - STA r0L - LDA #$A0 - STA r0H + LoadW_ r0, $A000 ; clear screen with pattern LDX #$7D -L0FCC: - LDY #$3F -L0FCE: - LDA #$55 - STA (r0L),Y +: LDY #$3F +: LDA #$55 + STA (r0),Y DEY LDA #$AA - STA (r0L),Y + STA (r0),Y DEY - BPL L0FCE - - LDA r0L - CLC - ADC #$40 - STA r0L - BCC L0FE5 - - INC r0H -L0FE5: - DEX - BNE L0FCC + BPL :- + AddVW_ $40, r0 + DEX + BNE :-- JSR FirstInit - LDA #$FF - STA firstBoot + LoadB firstBoot, $ff JSR END_MOUSE_128 - LDA #$88 - STA r0H - LDA #$C3 - STA r0L - LDA #$7D - STA r1H - LDA #$C3 - STA r1L - LDA #$00 - STA r2H - LDA #$02 - STA r2L + LoadW r0, $88C3 + LoadW r1, $7DC3 + LoadW r2, $0002 JSR L6216 - LDA sysFlgCopy - STA sysRAMFlg - LDA #$85 - STA r0H - LDA #$16 - STA r0L - LDA #$7A - STA r1H - LDA #$16 - STA r1L - LDA #$00 - STA r2H - LDA #$03 - STA r2L - LDA #$00 - STA r3L + MoveB sysFlgCopy, sysRAMFlg + LoadW r0, $8516 + LoadW r1, $7A16 + LoadW r2, $0003 + LoadB r3L, 0 JSR FetchRAM - LDA LDC08 - STA LDC08 - LDA #$84 - STA r0H - LDA #$8E - STA r0L - LDA #$79 - STA r1H - LDA #$8E - STA r1L - LDA #$00 - STA r2H - LDA #$04 - STA r2L + MoveB cia1base+8, cia1base+8 ; read+write TOD 1/10s seconds register, starts the clock + LoadW r0, $848e + LoadW r1, $798e + LoadW r2, $0004 JSR FetchRAM - LDA #$88 - STA r0H - LDA #$C7 - STA r0L - LDA #$7D - STA r1H - LDA #$C7 - STA r1L - LDA #$00 - STA r2H - LDA #$04 - STA r2L + LoadW r0, $88c7 + LoadW r1, $7dc7 + LoadW r2, $0004 JSR FetchRAM - LDA #$84 - STA r0H - LDA #$65 - STA r0L - LDA #$79 - STA r1H - LDA #$65 - STA r1L - LDA #$00 - STA r2H - LDA #$11 - STA r2L + LoadW r0, $8465 + LoadW r1, $7965 + LoadW r2, $0011 JSR FetchRAM - LDA #$88 - STA r0H - LDA #$CB - STA r0L - LDA #$7D - STA r1H - LDA #$CB - STA r1L - LDA #$00 - STA r2H - LDA #$11 - STA r2L + LoadW r0, $88CB + LoadW r1, $7DCB + LoadW r2, $0011 JSR FetchRAM - LDA #$84 - STA r0H - LDA #$89 - STA r0L - LDA #$79 - STA r1H - LDA #$89 - STA r1L - LDA #$00 - STA r2H - LDA #$01 - STA r2L + LoadW r0, $8489 + LoadW r1, $7989 + LoadW r2, $0001 JSR FetchRAM JSR InitForIO - - LDA #$04 - STA r0L -L10C7: - LDY #$00 - LDX #$00 -L10CB: - DEY - BNE L10CB - + LoadB r0L, 4 ; waiting loop +: LDY #0 + LDX #0 +: DEY + BNE :- DEX - BNE L10CB - + BNE :- DEC r0L - BNE L10C7 - + BNE :-- JSR DoneWithIO - LDA curDrive - PHA - LDA #$0B - STA curDrive + PushB curDrive + LoadB curDrive, 11 STA curDevice - LDA #$00 - STA NUMDRV + LoadB NUMDRV, 0 STA curDevice - LDA #$08 - STA interleave + LoadB interleave, 8 JSR SetDevice - LDA #$08 - STA L1DC7 + LoadB L1DC7, 8 L10F7: LDY L1DC7 LDA _driveType,Y BEQ L110F - CPY #$0A - BCS L1106 - + BCS :+ INC NUMDRV -L1106: - LDA L1DC7 +: LDA L1DC7 JSR SetDevice - JSR NewDisk L110F: INC L1DC7 - LDA L1DC7 - CMP #$0C + CmpBI L1DC7, 12 BCC L10F7 - BEQ L10F7 PLA JSR SetDevice - JMP EnterDeskTop +; XXX no entry point to this place? LDY #$91 LDX CPU_DATA - LDA #$35 - STA CPU_DATA - LDA r0H - STA LDF03 - LDA r0L - STA LDF02 - LDA r1H - STA LDF05 - LDA r1L - STA LDF04 - LDA #$00 - STA LDF06 - LDA r2H - STA LDF08 - LDA r2L - STA LDF07 - LDA #$00 - STA LDF09 - STA LDF0A - STY LDF01 -L1158: - LDA EXP_BASE - AND #$60 - BEQ L1158 + LoadB CPU_DATA, IO_IN + MoveW r0, EXP_BASE+2 + MoveW r1, EXP_BASE+4 + LoadB EXP_BASE+6, 0 + MoveW r2, EXP_BASE+7 + LDA #0 + STA EXP_BASE+9 + STA EXP_BASE+10 + STY EXP_BASE+1 + +: LDA EXP_BASE + AND #%01100000 + BEQ :- STX CPU_DATA RTS -EndChain0: - diff --git a/apps/Configure V2.0/Makefile b/apps/Configure V2.0/Makefile index 5600db37..73b90184 100644 --- a/apps/Configure V2.0/Makefile +++ b/apps/Configure V2.0/Makefile @@ -7,7 +7,7 @@ configure.cvt: *.s geos.cfg regress: configure.cvt hexdump -Cv configure.cvt > configure.hex - -diff --suppress-common-lines -y configure.hex configure-reference.hex > configure.diff + -diff --suppress-common-lines -y configure.hex configure-reference.hex > configure.diff || true diff --suppress-common-lines -y configure.diff configure-expected.diff diff --git a/apps/Configure V2.0/geos.cfg b/apps/Configure V2.0/geos.cfg old mode 100644 new mode 100755 index beb29ab1..2c091d6b --- a/apps/Configure V2.0/geos.cfg +++ b/apps/Configure V2.0/geos.cfg @@ -47,7 +47,7 @@ SEGMENTS { DATA: type = rw, run = VLIR0, load = CVT; INIT: type = bss, load = VLIR0, optional = yes; BSS: type = bss, load = VLIR0, define = yes; - OVERLAY1: type = ro, run = VLIR1, load = CVT, align_load = $FE, optional = yes; + OVERLAY1: type = ro, run = VLIR1, load = CVT, align_load = $FE, optional = yes, define = yes; OVERLAY2: type = ro, run = VLIR2, load = CVT, align_load = $FE, optional = yes; OVERLAY3: type = ro, run = VLIR3, load = CVT, align_load = $FE, optional = yes; OVERLAY4: type = ro, run = VLIR4, load = CVT, align_load = $FE, optional = yes; From 685dd14795eb3e9b2637e4c41d809edcb3ea34ad Mon Sep 17 00:00:00 2001 From: Maciej Witkowiak Date: Tue, 1 Jun 2021 23:47:16 +0200 Subject: [PATCH 14/16] more changes, comments from disassembled Configure 2.1 --- apps/Configure V2.0/10-chain00-boot.s | 255 ++++++++++++++---------- 1 file changed, 147 insertions(+), 108 deletions(-) diff --git a/apps/Configure V2.0/10-chain00-boot.s b/apps/Configure V2.0/10-chain00-boot.s index a2af55d1..f0371e9b 100644 --- a/apps/Configure V2.0/10-chain00-boot.s +++ b/apps/Configure V2.0/10-chain00-boot.s @@ -20,6 +20,11 @@ chain1LoadAddr = __STARTUP_RUN__+__STARTUP_SIZE__ ; $1162 chain1RunAddr = chain1LoadAddr+$a3 ; $1205 chain1EndAddr = chain1LoadAddr+__OVERLAY1_SIZE__ ; $1da5 ($1162+$0c43) +; NOTE: +; as long as GUI (chain1) is in binary form +; *NOTHING* can be changed in this code as parts here are called from GUI as click actions +; clearly CONFIGURE chain #0 (boot code) contains too much code not used during boot process + ; inside GUI code L15A6 = $15A6 ; a byte that is decremented L1AD1 = $1AD1 ; a function @@ -73,8 +78,8 @@ confDriveType: ; this is indexed by drive device number ; 0406 == __STARTUP__RUN__ .byte $02,$01 ; drive 8 type 1571, drive 9 type 1541 ; 0408 -L0408: - .byte $00,$00 ; ? does this belong to confDriveType? 2 or 4 drives? +confDriveType10: + .byte $00,$00 ; drive 10 none, drive 11 unused (placeholder only) ; 040a _confSysRamFlg: .byte $00 ; sysRAMFlg / sysFlgCopy shadow @@ -94,7 +99,7 @@ APP_START: TAY LDA _driveType,Y STA bootDriveType - JSR L0D82 + JSR disoverRamExpSize JSR i_MoveData ; preserve booter code ($5000-$5400), why? .word $5000 ; source @@ -249,33 +254,32 @@ L0558: CmpBI bootDriveType, DRV_1571 BCS :+ - JSR L0C33 + JSR discoverDriveType CMP #$FF BNE :+ LDA #$01 : STA L1DCA + LDA curDrive EOR #$01 JSR SetDevice - - JSR L0C33 + JSR discoverDriveType CMP #$FF BNE :+ LDA #$00 : STA L1DCB + LDA ramExpSize BEQ :+ LDA #10 JSR SetDevice - - JSR L0C33 - + JSR discoverDriveType CMP #$FF BNE :++ - : LDA #$00 : STA L1DCC + LDA bootDriveNumber JSR SetDevice @@ -332,7 +336,9 @@ L05F8: BNE :- : RTS -;0616, no jump to here? +;0616, no jump to here? only from GUI? +.assert *=$0616, error, "Function at $0616" +InstDrvr: ; Install driver at DISK_BASE LDY curDrive LDA _driveType,Y BEQ :+ @@ -357,15 +363,15 @@ L05F8: CloseConfigure: LDA L1DCA - JSR L0672 + JSR LoadDrvr BNE :+ LDA L1DCB - JSR L0672 + JSR LoadDrvr BNE :+ LDA L1DCC - JSR L0672 + JSR LoadDrvr BNE :+ LDX #0 @@ -376,7 +382,8 @@ CloseConfigure: LoadB ConfigureFileOpenedFlag, 0 ; and flag that it's closed : RTS -L0672: ; input A = number of driver or driver type or drive number (0-3) +LoadDrvr: ; Load Driver into buffer + ; input A = number of driver or driver type or drive number (0-3) LDX #$00 TAY BEQ :+ @@ -427,7 +434,7 @@ L06B1: STA L1DCB LDY bootDriveNumber LDA _confDriveType,Y - AND #$7F + AND #%01111111 LDX L1DCA JSR L06EA @@ -435,7 +442,7 @@ L06B1: LDA ramExpSize BEQ :+ - LDA L0408 + LDA confDriveType10 LDX L1DCC JSR L06EA @@ -516,49 +523,49 @@ L0768: PLA BEQ L07AE - CMP #$01 + CMP #DRV_1541 BNE L077E JMP L07AF L077E: - CMP #$02 + CMP #DRV_1571 BNE L0785 JMP L07D7 L0785: - CMP #$03 + CMP #DRV_1581 BNE L078C JMP L07E7 L078C: - CMP #$41 + CMP #$40+DRV_1541 ; 1541 with RAM shadow BNE L0796 JSR L07AF JMP L07F7 L0796: - CMP #$43 + CMP #$40+DRV_1581 ; 1581 with RAM shadow BNE L07A0 JSR L07E7 JMP L0818 L07A0: - CMP #$81 + CMP #$80+DRV_1541 ; RAM 1541 BNE L07A7 JMP L0839 L07A7: - CMP #$82 + CMP #$80+DRV_1571 ; RAM 1571 BNE L07AE JMP L086B L07AE: RTS -L07AF: CmpBI L1DF0, 1 +L07AF: CmpBI L1DF0, DRV_1541 BEQ :++ - CMP #$41 + CMP #$40+DRV_1541 BNE :+ LDY L1DEF @@ -570,58 +577,58 @@ L07AF: CmpBI L1DF0, 1 DEC L15A6 RTS -: LoadB L1DF3, 1 +: LoadB L1DF3, DRV_1541 JMP L089D : RTS -L07D7: CmpBI L1DF0, 2 +L07D7: CmpBI L1DF0, DRV_1571 BEQ :+ - LoadB L1DF3, 2 + LoadB L1DF3, DRV_1571 JMP L089D : RTS -L07E7: CmpBI L1DF0, 3 +L07E7: CmpBI L1DF0, DRV_1581 BEQ :+ - LoadB L1DF3, 3 + LoadB L1DF3, DRV_1581 JMP L089D : RTS -L07F7: CmpBI L1DF0, $41 +L07F7: CmpBI L1DF0, $40+DRV_1541 BEQ :+ - LDA #$41 + LDA #$40+DRV_1541 JSR L08D7 LDY L1DEF STA _ramBase,Y - LDA #$41 + LDA #$40+DRV_1541 STA _driveType,Y STA _confDriveType,Y JSR NewDisk DEC L15A6 : RTS -L0818: CmpBI L1DF0, $43 +L0818: CmpBI L1DF0, $40+DRV_1581 BEQ :+ - LDA #$43 + LDA #$40+DRV_1581 JSR L08D7 LDY L1DEF STA _ramBase,Y - LDA #$43 + LDA #$40+DRV_1581 STA _driveType,Y STA _confDriveType,Y JSR NewDisk DEC L15A6 : RTS -L0839: CmpBI L1DF0, $81 +L0839: CmpBI L1DF0, $80+DRV_1541 BEQ :+ - LoadB L1DF3, $81 + LoadB L1DF3, $80+DRV_1541 JSR L0986 INC NUMDRV - LDA #$81 + LDA #$80+DRV_1541 JSR L08D7 LDY L1DEF STA _ramBase,Y - LDA #$81 + LDA #$80+DRV_1541 STA _driveType,Y STA _confDriveType,Y LDA L1DEF @@ -630,16 +637,16 @@ L0839: CmpBI L1DF0, $81 DEC L15A6 : RTS -L086B: CmpBI L1DF0, $82 +L086B: CmpBI L1DF0, $80+DRV_1571 BEQ :+ - LoadB L1DF3, $82 + LoadB L1DF3, $80+DRV_1571 JSR L0986 INC NUMDRV - LDA #$82 + LDA #$80+DRV_1571 JSR L08D7 LDY L1DEF STA _ramBase,Y - LDA #$82 + LDA #$80+DRV_1571 STA _driveType,Y STA _confDriveType,Y LDA L1DEF @@ -902,30 +909,30 @@ L0A41: INY BNE L0A41 - LoadB L0B60, $34 - LoadB L0ACD, $00 + LoadB ramDiskName, '4' ; '4' as 'RAM1541' + LoadB doubleSidedFlag, $00 ; single sided LDY curDrive LDA _driveType,Y - AND #$0F + AND #%00001111 LDY #$BD - CMP #$01 + CMP #DRV_1541 BEQ :+ LDY #$00 - LoadB L0B60, $37 - LoadB L0ACD, $80 + LoadB ramDiskName, '7' ; '7' as 'RAM1571' + LoadB doubleSidedFlag, $80 ; double sided : DEY - LDA L0ACA,Y + LDA dirHeadTemplate,Y STA curDirHead,Y TYA BNE :- LDY curDrive LDA _driveType,Y - AND #$0F - CMP #$01 - BEQ L0A96 + AND #%00001111 + CMP #DRV_1541 + BEQ @SaveDirHead ; RAM1541, skip over dir2Head preparations - LDY #$00 + LDY #0 TYA : STA dir2Head,Y INY @@ -933,12 +940,12 @@ L0A41: LDY #$69 : DEY - LDA L0BCA,Y + LDA dir2HeadTemplate,Y STA dir2Head,Y TYA BNE :- -L0A96: +@SaveDirHead: ; 0a96 JSR PutDirHead JSR L0AC0 @@ -949,8 +956,8 @@ L0A96: LoadB r1H, 1 ; 1st dir entry sector JSR PutBlock - INC r1L ; dir track+1 ? - LoadB r1H, 8 ; sector 8? + INC r1L ; off-page directory track = 19 (see below in template) + LoadB r1H, 8 ; off-page directory sector = 8 (see below in template) JSR PutBlock LDA #$00 @@ -966,10 +973,10 @@ L0AC3: RTS -L0ACA: +dirHeadTemplate: ; 0aca .byte $12,$01,$41 -L0ACD: +doubleSidedFlag: ; 0acd .byte $00,$15,$FF,$FF,$1F,$15,$FF,$FF .byte $1F,$15,$FF,$FF,$1F,$15,$FF,$FF .byte $1F,$15,$FF,$FF,$1F,$15,$FF,$FF @@ -987,15 +994,18 @@ L0ACD: .byte $03,$12,$FF,$FF,$03,$12,$FF,$FF .byte $03,$11,$FF,$FF,$01,$11,$FF,$FF .byte $01,$11,$FF,$FF,$01,$11,$FF,$FF - .byte $01,$11,$FF,$FF,$01,$52,$41,$4D - .byte $20,$31,$35 - -L0B60: - .byte $37,$31,$A0,$A0,$A0,$A0,$A0,$A0 - .byte $A0,$A0,$A0,$A0,$52,$44,$A0,$32 - .byte $41,$A0,$A0,$A0,$A0,$13,$08,$47 - .byte $45,$4F,$53,$20,$66,$6F,$72,$6D - .byte $61,$74,$20,$56,$31,$2E,$30,$00 + .byte $01,$11,$FF,$FF,$01 + +ramDiskName = * + 6 + .byte "RAM 1571" + + .byte $A0,$A0,$A0,$A0,$A0,$A0 + .byte $A0,$A0,$A0,$A0 + .byte "RD",$A0,"2A" + .byte $A0,$A0,$A0,$A0 + .byte 19, 8 ; off-page directory OFF_OP_TR_SC t&s + .byte "GEOS format V1.0" + .byte $00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 @@ -1006,7 +1016,7 @@ L0B60: .byte $12,$12,$12,$12,$12,$11,$11,$11 .byte $11,$11 -L0BCA: +dir2HeadTemplate: .byte $FF,$FF,$1F,$FF,$FF,$1F,$FF,$FF .byte $1F,$FF,$FF,$1F,$FF,$FF,$1F,$FF .byte $FF,$1F,$FF,$FF,$1F,$FF,$FF,$1F @@ -1022,8 +1032,8 @@ L0BCA: .byte $FF,$FF,$01,$FF,$FF,$01,$FF,$FF .byte $01 -L0C33: - LoadW r0, $e580 ; ??? XXX +discoverDriveType: ; 0c33 + LoadW r0, $e580 ; magic value in drive ROM at this address ??? JSR L0C6F CPX #$00 @@ -1031,29 +1041,29 @@ L0C33: CMP #$00 BNE :+ - LoadW r0, $a6c0 ; ??? XXX + LoadW r0, $a6c0 ; magic value in drive ROM at this address ??? JSR L0C6F : CPX #$00 - BNE :+ + BNE @nodev TAX - LDA #$01 + LDA #DRV_1541 CPX #$41 - BEQ :++ + BEQ :+ - LDA #$02 + LDA #DRV_1571 CPX #$71 - BEQ :++ + BEQ :+ - LDA #$03 + LDA #DRV_1581 CPX #$81 - BEQ :++ + BEQ :+ - LDA #$FF - BNE :++ + LDA #$FF ; unknown? + BNE :+ -: LDA #$00 +@nodev: LDA #$00 ; none : RTS L0C6F: @@ -1200,49 +1210,46 @@ L0D6F: LoadB NUMDRV, 0 BPL :-- RTS -L0D82: +disoverRamExpSize: ; 0d82 JSR InitForIO LoadB ramExpSize, 0 LoadB L1DC6, 2 bbrf 4, EXP_BASE, L0D9B - LoadB L1DC6, 8 + LoadB L1DC6, 8 ; max ram size = 8 banks? L0D9B: LDA EXP_BASE AND #%11100000 - BNE L0DDC + BNE @nodev LoadB EXP_BASE+2, $55 CMP EXP_BASE+2 - BNE L0DDC + BNE @nodev LoadB EXP_BASE+2, $aa LDY #$00 : DEY - BNE :- + BNE :- ; wait a bit CMP EXP_BASE+2 - BNE L0DDC + BNE @nodev LoadB ramExpSize, 1 - LoadB r3L, 0 -L0DC4: - JSR L0DDF + LoadB r3L, 0 ; start with RAM bank 0 - BCC L0DD9 +: JSR L0DDF + BCC @1 - LDA ramExpSize - CMP L1DC6 - BEQ L0DDC + CmpB ramExpSize, L1DC6 + BEQ @nodev ; max ram size = 8 banks? INC ramExpSize - INC r3L - bra L0DC4 + INC r3L ; next RAM bank + bra :- -L0DD9: - DEC ramExpSize -L0DDC: +@1: DEC ramExpSize +@nodev: JMP DoneWithIO L0DDF: @@ -1266,9 +1273,9 @@ L0DDF: BNE :+ DEY BPL :- - SEC + SEC ; same here and there RTS -: CLC +: CLC ; different here and there RTS RamCheckString: @@ -1299,10 +1306,10 @@ L0E46: JSR StashRAM : JSR ClearRegistersLBytes - LoadB r0L, $80 + LoadB r0L, $80 ; stash $9d80-9fff STA r2L LoadB r0H, $9D - LoadB r1H, $B9 + LoadB r1H, $B9 ; to REU $0B900 LoadB r3L, 0 LoadB r2H, 2 JSR StashRAM @@ -1318,7 +1325,7 @@ L0E46: LoadW r0, $8000 LoadW r1, $cc40 LoadW r2, $0100 - LoadB r3L, 0 + LoadB r3L, 0 : LDY #0 : LDA (r5),Y @@ -1347,7 +1354,33 @@ L0EF6: LoadW r0, $0f0c JMP StashRAM +;Rboot Fetch Sequence +;RE0_8300 0D80 K_9000 Boot Disk Driver (Always Drive 8) +;RE0_B900 $280 K_9D80 JmpIndx +;RE0_BB80 C0 K_BF40 Start of GEOS Kernal +;RE0_BCC0 $0F80 K_C080 Kernal +;RE0_CC40 $3000 K_D000 Kernal +; +;RE0_798E 4 Drive Types +;RE0_7A16 3 Year/Month/Day +;RE0_7DC3 2 Ram Exp Size +;RE0_7DC7 4 RamBanks for each Drive +;RE0_7E00 $500 +;RE0_8300 + + ;The Remaining blocks are Stashed into the REU at 7E00 + ;When a Ram Reboot starts this code is fetched to $6000. + ;This code cannot be changed without manualy recalculating the jsr address to + ;RBFetchRAM; Next version of geoProgrammer will be able to set psect address's + ;so inset blocks like this will work like any other. + ;Best way to changes here with + ;geoProgrammer as is, would be to start this with a single bra entry then RBStashRam + ;then the remainder of the code. That would make the entire reboot code relocatable + ;with no recompile/relink needed. + + ; XXX ??? no entry here +;REU RAM Reboot *= $6000 SEI CLD LDX #$FF @@ -1516,3 +1549,9 @@ L110F: STX CPU_DATA RTS + +; checks for binary data +.assert chain1LoadAddr=$1162, error, "Chain 1 (GUI) must start at $1162" +.assert chain1EndAddr=$1da5, error, "Chain 1 (GUI) must end at $1da5" + + From f26b2531bacc1dc8f7d794c0e20e48c816daf4d5 Mon Sep 17 00:00:00 2001 From: Maciej Witkowiak Date: Thu, 3 Jun 2021 14:42:45 +0200 Subject: [PATCH 15/16] include apps into Makefile workflow and regression --- Makefile | 23 +++++++++++++++++++---- apps/Configure V2.0/10-chain00-boot.s | 4 ---- apps/Configure V2.0/Makefile | 21 +++++++++++++++++---- apps/Configure V2.0/binaries.s | 20 +++++++++++++++++--- apps/Makefile | 23 +++++++++++++++++++++++ 5 files changed, 76 insertions(+), 15 deletions(-) create mode 100644 apps/Makefile diff --git a/Makefile b/Makefile index 5e4d6636..4b60b4ee 100755 --- a/Makefile +++ b/Makefile @@ -293,9 +293,12 @@ regress: @echo "********** Building variant 'wheels'" @$(MAKE) VARIANT=wheels all ./regress.sh wheels + @echo "********** Bulding apps" + @$(MAKE) -C apps regress clean: rm -rf build + $(MAKE) -C apps clean ifeq ($(VARIANT),bsw128) $(BUILD_DIR)/$(D64_RESULT): $(BUILD_DIR)/kernal_compressed.prg @@ -311,18 +314,23 @@ $(BUILD_DIR)/$(D64_RESULT): $(BUILD_DIR)/kernal_compressed.prg echo \*\*\* Created fresh $@.; \ fi; else -$(BUILD_DIR)/$(D64_RESULT): $(BUILD_DIR)/kernal_compressed.prg +$(BUILD_DIR)/$(D64_RESULT): $(BUILD_DIR)/kernal_compressed.prg applications @if [ -e $(D64_TEMPLATE) ]; then \ cp $(D64_TEMPLATE) $@; \ - echo delete geos geoboot | $(C1541) $@ ;\ - echo write $< geos | $(C1541) $@ ;\ + echo delete geos geoboot | $(C1541) $@ >/dev/null ;\ + echo write $< geos | $(C1541) $@ >/dev/null ;\ echo \*\*\* Created $@ based on $(D64_TEMPLATE).; \ else \ echo format geos,00 d64 $@ | $(C1541) >/dev/null; \ echo write $< geos | $(C1541) $@ >/dev/null; \ if [ -e $(DESKTOP_CVT) ]; then echo geoswrite $(DESKTOP_CVT) | $(C1541) $@; fi >/dev/null; \ echo \*\*\* Created fresh $@.; \ - fi; + fi; \ + if [ -e $(BUILD_DIR)/apps/configure.cvt ]; then \ + echo delete configure | $(C1541) $@ >/dev/null; \ + echo geoswrite $(BUILD_DIR)/apps/configure.cvt | $(C1541) $@ >/dev/null ; \ + echo \*\*\* Wrote custom CONFIGURE $@.; \ + fi endif $(BUILD_DIR)/kernal_compressed.prg: $(BUILD_DIR)/kernal_combined.prg @@ -370,6 +378,13 @@ else @mv $(BUILD_DIR)/tmp.bin $(BUILD_DIR)/kernal_combined.prg endif +.EXPORT_ALL_VARIABLES: + export + +applications: $(BUILD_DIR)/drv/drv1541.bin $(BUILD_DIR)/drv/drv1571.bin $(BUILD_DIR)/drv/drv1581.bin + @echo Creating apps + $(MAKE) -C apps + ifeq ($(VARIANT),bsw128) INPUTCFG = input/inputdrv_bsw128.cfg else diff --git a/apps/Configure V2.0/10-chain00-boot.s b/apps/Configure V2.0/10-chain00-boot.s index f0371e9b..e966ef4f 100644 --- a/apps/Configure V2.0/10-chain00-boot.s +++ b/apps/Configure V2.0/10-chain00-boot.s @@ -1,8 +1,4 @@ -; to make config.inc happy - GEOS 64 with 1541 -bsw=1 -drv1541=1 - .include "config.inc" .include "const.inc" .include "geossym.inc" diff --git a/apps/Configure V2.0/Makefile b/apps/Configure V2.0/Makefile index 73b90184..a0a95d48 100644 --- a/apps/Configure V2.0/Makefile +++ b/apps/Configure V2.0/Makefile @@ -1,11 +1,24 @@ +AS ?= ca65 +LD ?= ld65 +APPSDIR ?= .. + +ASFLAGS +=-I../../inc -I../../ + configure.cvt: *.s geos.cfg - ca65 "Configure V2.0.s" - ca65 -I../../inc -I../../ 10-chain00-boot.s -o boot.o - ca65 binaries.s - ld65 -o configure.cvt -Ln configure.lab -m configure.map -C geos.cfg "Configure V2.0.o" boot.o binaries.o + $(AS) "Configure V2.0.s" + $(AS) -D $(VARIANT)=1 -D $(DRIVE)=1 $(ASFLAGS) 10-chain00-boot.s -o boot.o + $(AS) -D $(VARIANT)=1 -D $(DRIVE)=1 $(ASFLAGS) --bin-include-dir ../$(APPSDIR)/../ binaries.s + $(LD) -o configure.cvt -Ln configure.lab -m configure.map -C geos.cfg "Configure V2.0.o" boot.o binaries.o + cp *.cvt "../$(APPSDIR)" + +all: configure.cvt regress: configure.cvt + $(AS) "Configure V2.0.s" + $(AS) -D bsw=1 -D drv1541=1 -D regress=1 $(ASFLAGS) 10-chain00-boot.s -o boot.o + $(AS) -D bsw=1 -D drv1541=1 -D regress=1 $(ASFLAGS) binaries.s + $(LD) -o configure.cvt -Ln configure.lab -m configure.map -C geos.cfg "Configure V2.0.o" boot.o binaries.o hexdump -Cv configure.cvt > configure.hex -diff --suppress-common-lines -y configure.hex configure-reference.hex > configure.diff || true diff --suppress-common-lines -y configure.diff configure-expected.diff diff --git a/apps/Configure V2.0/binaries.s b/apps/Configure V2.0/binaries.s index b6bf87c8..79cecc1f 100644 --- a/apps/Configure V2.0/binaries.s +++ b/apps/Configure V2.0/binaries.s @@ -1,15 +1,29 @@ +.include "config.inc" + .segment "OVERLAY1" .incbin "11-chain01-gui.bin" .segment "OVERLAY2" -.incbin "12-chain02-drv1541.bin" ; should come from ../../drv/ +.ifdef regress +.incbin "12-chain02-drv1541.bin" +.else +.incbin "drv/drv1541.bin" +.endif .segment "OVERLAY3" -.incbin "13-chain03-drv1571.bin" ; should come from ../../drv/ +.ifdef regress +.incbin "13-chain03-drv1571.bin" +.else +.incbin "drv/drv1571.bin" +.endif .segment "OVERLAY4" -.incbin "14-chain04-drv1581.bin" ; should come from ../../drv/ +.ifdef regress +.incbin "14-chain04-drv1581.bin" +.else +.incbin "drv/drv1581.bin" +.endif .segment "OVERLAY5" .incbin "15-chain05-drvram.bin" ; should come from ../../drv/ diff --git a/apps/Makefile b/apps/Makefile new file mode 100644 index 00000000..fe890965 --- /dev/null +++ b/apps/Makefile @@ -0,0 +1,23 @@ + +SUBDIRS = "Configure V2.0" +APPSDIR = "../$(BUILD_DIR)/apps/" + +.EXPORT_ALL_VARIABLES: + export + +all: + mkdir -p $(APPSDIR) + for dir in $(SUBDIRS); do \ + $(MAKE) -C "$$dir"; \ + done + +regress: + @for dir in $(SUBDIRS); do \ + $(MAKE) -C "$$dir" regress; \ + done + +clean: + @for dir in $(SUBDIRS); do \ + $(MAKE) -C "$$dir" clean; \ + done + From b44972619b162c76ad4411a8774379cba883574a Mon Sep 17 00:00:00 2001 From: Maciej Witkowiak Date: Thu, 3 Jun 2021 19:03:28 +0200 Subject: [PATCH 16/16] correct restart entry after returning from each auto-exec --- kernal/start/start64.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernal/start/start64.s b/kernal/start/start64.s index b8725583..99d73d85 100644 --- a/kernal/start/start64.s +++ b/kernal/start/start64.s @@ -196,7 +196,7 @@ OrigResetHandle: cpx #30 bne @7 LoadW r9, dirEntryBuf - LoadW EnterDeskTop+1, _ResetHandle + LoadW EnterDeskTop+1, OrigResetHandle LoadB r0L, 0 jsr LdApplic bootTr: