From 421e03d8fb4df95822ed0b2f31a4201474480238 Mon Sep 17 00:00:00 2001 From: Jakub Husak Date: Sat, 16 May 2020 20:18:45 +0200 Subject: [PATCH] added flashers --- {flashwriteexample => lib}/atari.hea | 0 {flashwriteexample => lib}/crc16_v2.asm | 0 {flashwriteexample => lib}/flashwritelib.asx | 0 {flashwriteexample => lib}/print2.asx | 0 .../034flasher_action_36_orig/action.bin | Bin 0 -> 16384 bytes .../034flasher_action_36_orig/action_128.rom | Bin 0 -> 131072 bytes .../034flasher_action_36_orig/flashwrite.asx | 358 ++++++++++++++++++ .../034flasher_action_36_orig/flashwrite.xex | Bin 0 -> 26282 bytes .../makeflashwrite.sh | 2 + .../034flasher_action_36_orig/makerom.sh | 27 ++ .../034flasher_action_36_orig/readme | 1 + .../034flasher_mac65/flashwrite.asx | 358 ++++++++++++++++++ .../034flasher_mac65/flashwrite.xex | Bin 0 -> 26282 bytes various_flashers/034flasher_mac65/mac65.bin | Bin 0 -> 16384 bytes .../034flasher_mac65/mac65_128.rom | Bin 0 -> 131072 bytes .../034flasher_mac65/makeflashwrite.sh | 2 + various_flashers/034flasher_mac65/makerom.sh | 27 ++ various_flashers/034flasher_mac65/readme | 1 + .../flashwriteexample}/flashwrite.asx | 8 +- .../flashwriteexample}/flashwrite.xex | Bin .../flashwriteexample/makeflashwrite.sh | 2 + .../flashwriteexample}/missile.bin | Bin 22 files changed, 782 insertions(+), 4 deletions(-) rename {flashwriteexample => lib}/atari.hea (100%) rename {flashwriteexample => lib}/crc16_v2.asm (100%) rename {flashwriteexample => lib}/flashwritelib.asx (100%) rename {flashwriteexample => lib}/print2.asx (100%) create mode 100644 various_flashers/034flasher_action_36_orig/action.bin create mode 100644 various_flashers/034flasher_action_36_orig/action_128.rom create mode 100644 various_flashers/034flasher_action_36_orig/flashwrite.asx create mode 100644 various_flashers/034flasher_action_36_orig/flashwrite.xex create mode 100755 various_flashers/034flasher_action_36_orig/makeflashwrite.sh create mode 100755 various_flashers/034flasher_action_36_orig/makerom.sh create mode 100644 various_flashers/034flasher_action_36_orig/readme create mode 100644 various_flashers/034flasher_mac65/flashwrite.asx create mode 100644 various_flashers/034flasher_mac65/flashwrite.xex create mode 100644 various_flashers/034flasher_mac65/mac65.bin create mode 100644 various_flashers/034flasher_mac65/mac65_128.rom create mode 100755 various_flashers/034flasher_mac65/makeflashwrite.sh create mode 100755 various_flashers/034flasher_mac65/makerom.sh create mode 100644 various_flashers/034flasher_mac65/readme rename {flashwriteexample => various_flashers/flashwriteexample}/flashwrite.asx (97%) rename {flashwriteexample => various_flashers/flashwriteexample}/flashwrite.xex (100%) create mode 100755 various_flashers/flashwriteexample/makeflashwrite.sh rename {flashwriteexample => various_flashers/flashwriteexample}/missile.bin (100%) diff --git a/flashwriteexample/atari.hea b/lib/atari.hea similarity index 100% rename from flashwriteexample/atari.hea rename to lib/atari.hea diff --git a/flashwriteexample/crc16_v2.asm b/lib/crc16_v2.asm similarity index 100% rename from flashwriteexample/crc16_v2.asm rename to lib/crc16_v2.asm diff --git a/flashwriteexample/flashwritelib.asx b/lib/flashwritelib.asx similarity index 100% rename from flashwriteexample/flashwritelib.asx rename to lib/flashwritelib.asx diff --git a/flashwriteexample/print2.asx b/lib/print2.asx similarity index 100% rename from flashwriteexample/print2.asx rename to lib/print2.asx diff --git a/various_flashers/034flasher_action_36_orig/action.bin b/various_flashers/034flasher_action_36_orig/action.bin new file mode 100644 index 0000000000000000000000000000000000000000..fc6a917fdfe89f8a791fe1d5ecac5ed99d2624f9 GIT binary patch literal 16384 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

-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 literal 0 HcmV?d00001 diff --git a/various_flashers/034flasher_action_36_orig/action_128.rom b/various_flashers/034flasher_action_36_orig/action_128.rom new file mode 100644 index 0000000000000000000000000000000000000000..d0ff7790dc3be88db6cba767e01525cf84235a02 GIT binary patch literal 131072 zcmeI5i+>d5z5i!-XOc|_Nx11MULLhYqE=&VZRA)LNNCcIfPlreN4p4HlZv2#y_~*U z5O$Vj$-=IH20~NDAwaS%DJy=YoVifz%+s$f0B@AK?}?RlL) z;P-l+*AsE(xnJJTb)IKm-!EAz$JSbteFHJCHEGCqP;nMdSzj;^D)1Z(*+_! z*2X0AZCP6v^WvormQQH;wk-L4>#KBb#23e7eWJ;2O-A&DHOV)ib4Ueg*gXe_%uigN z_0oFH7hCW44GweV4swqyt@W+br1H{4&7d@>d8v!nC+VED-c6Runq=LqIH#@a@;dmF zketg|^;*R~X_oY3zxj`t|r_d9$efm zE#i?A=36osO!A2$B6S3^-c-1^h!k{qI;0K~-lL|BA6kDQS9O~sO(Y7<~vumc%*mbjhj7%ODYZlI{S@7_@+4C;e&7LVfTwODB?i`e&W?s!j zmo~AXG?Dyod)-B|?DWL)kI`I@)vXCXCJrkyr#(uIsax&CCF!bRJ|rlPO}E+++8784 z(&JK z+Qm6hW%Z`(%}vE`43(eT^xt;37PiKxcJbQbmNmR~q{Yu`M_V@Vz=%6yTOKGu$A@jU%qc1QTPy>et)4$CO7+*HaMgv)DunLSC)2TO; z>RNXj=|0KD`68b(6RC!>gH99cgEFi0???4?)<27okg=ugfOk|Y$)Y8#}X<+++ z5YI%y&GD?>Y}%>GZ+==IYgTs>J}qidUnHSMv~F4_ElQ^RtJAWaMMKskvyQd`?-g-I&|h%!d(P~~Rx z9GRAj#*x|#jn2{X9#dsbk^^2PrjW9XCX)xLpUja@R81CttNQY#7~sm^%$MOSKC0;LnqEZgWRC1MeDTWtmtBRKgcVF2ZcKJ(^D_;NEz@~2l4wGZGl6)| z92&?x9|$X1{VQR`t#vCCHq8}sZQiQta}_~SeVWX9WiQ}jo{5e|b&@@ynnLz)wDMd= zHNIjxBn6i8yJ4xUtTd*T-&XZ*WkQS8YI5!V|vLx4gB2uJ4hAlv?nARgSi6Kp~ z#^y>U$+T!v#7)~V$5)>MzQ9T-nBLiraI{x+gd@EVIv0hRuD(kL+Pl4jk`5?T#W?Hj-{>u=kv2G^jd6oBZEh)+r4FWWI2QWYtz7iUAxB0zL&>e3XCDk-Qzv`W)P)U;jaL?wQiV+NgEiXBB|;b+;?Hh1DkEaY@) zu>_)Nnsx$NhGmx~!u5VD5^BWvgnkOI6#r!koFfCc9F# z2gV6Amo8uF$^Klm1%#YOb~VD}!&hg0G)O_+vZtS2H9y-(Bj?T4*)7y3Z+oyhyIpl4 z8~$6KRn1%Ezihtb3_nzVb7M{2G_9?TqT7fMyHi-RoZY!o9Bg zm4CX=JobhA%<5y*o&WBlr89(bfCFA(n%U5}_V`GlM#PP!1K63Ie+Hzr=DK4!t=_KxP9C>0oJE~o^7J$f}DAN zwj<7uLtihPKYiuOh9{O~f0MU!-Q66=wc$VfC8#;~*M8~U_JzwO2l{GDaEX7h!kp9- zdYi5%bFOWPL{di>uDh*`({l;uL+7ID_)E5N3HV+5qXs?q@3PC~cQ1|67 zp60kWMqJz#H#-*>jl0S<;f9;;`kb>k&iG*dO*6jF-JF<{3yjCt@P94GZQzO?T>cYJ zzI{8mtmR-Lw_yMn6+dj+>xbu!~)2@rbVP3hZ zeTW};JMZ{594`ikc;&A4L;n)_V(<{JOl#lqKb&^($>Th^vO{@*+}L3Vn7jpJLddR< z4<6@J8gGpYHuCXoV;^6oUwQU8AME9mujRteLHOWnyf%+U{yr?yyyQE4{1*IGI1)`2 zyRL2Sh$~N!&r->-5U+6OoI-r?9o}v6^7l-;Ji9S0$TqU80|DAYf>~%xHtqHG?jmCR z9P7I*c%yPi6gBuEP%Z>Q8k4Qx=^;fRJ2Xvp7gaZ`e0u4kpWk0F!?Seh{pB+kt@MzU zo@I3E_=)HK!UZc9E%w}BAU3RAb${8yhGk2Z|CHQGRyO>HXWAICVHv_w<5?-+y{}{Y4q?b&{z+UXFzGuKK~==Z_f4OtOCOgdA=^MMEs9c17vstW0$E2PAvEB)&wc)RYz4-&9v7je_e+>>d-#=k5>Ht*KgU>7M!QF*RjsAR~h zG%4vM>TYpiXJO5X70ZEKdc${$B;F*WzmYF0T=q=n?=5qM@^f`-@WS@oo&10g-eC`N zZ@4iSa)#spAI#d_$N*b-e6fkk(zRL>zHaKV$(<(KPZ-v1Sv+obX-0!xdP5t+KI{}~ z3R~ESXN>S0*w|$C>ada3r-cozDQ2ic*fN(paB7g;!JFR_htl2;rHD_#4)G1?l=@*N zf_;8vg;88tY>cbC;oU-`ynHe?GjGIB$vo-na(Ogbk&nDN zqM?VR7(QpD)+%lO$h;#lt03)^VrmS0TQ%h&wHD*89z!t1)A(oAnAU2J)f97V7GpFl zi@(_YkQ|oLZ=B#D;}cwVYfach_~??#)n@8q$+*A_@GY7a{o!U0jsfDDiT3FiVCSAKtJ|1p%lQUg3IedT82i+~Yv>l!xnw!&_V>?Ckv`1p! zQx{l8u7;_or{6qBcZqKOQRy*M=7(;Cdo=u*J0|1%WlH+e_sh+4r^u)2Ckkq;*pQXZ zB{p5K=emD>h+O^-MF-cfG2hm&HGijnZvI-o&OE7KZ@#9z9{W!<>pS8-Djn7arH!)o7>mK8V(8sZ$?{#B(x+LE7%P#BB>lnmd{FlQdp*P6Y$Pdcf7s9ZGvj7XB9KW8RrsqQlib*H(D8oz0d zA3bTlpnIj0qd}T}YsP%}Xiz-ZiPNM{fo@;&MPBMnHt|xQ`K~r-TxY!lR~>Ojb*sd< z(Hg7jI7(_NKP%hN1!r2b zk=Ati4LJUwqv2?i`4=^8ohO64wXM>B#1uT62wu!4dG0IVk)t%zGE^WId$aYwD2YI4f^T#%jUEOL>ddauT zyB!G!5nK(@P})neU2fVD-3L1>UhTZ*);-sfJw=oDjCr7Ia<+3)$(}3j+cV?7J=5>o zvvA&?>ug;!Cv{bqzT|8X3SPL%<*;3CztX$&i$8AL#=;H18t?VyPd1CENcodZ*@i(a zU`SYFGh3~qgg>)Y+8V$p(YD66xf%*EiZQ^^=Q+uTQ`wV-!+IF~YatG}t~8#uCKx}n z%Fujs48QeMS|G{2A*XIb#ZW1i$0zv$9vtS<_Pf;-$l^}3SLTez%rO~XBAfB~a3s6; zXfSu;N{07}x9r6e-+|_} zkuU|6db(=0GS6OE!ll_jxD<V*Ohi)YBf2!o(V!?C$+rO@&~|>e zy4LH*S@#CFw8ZCGx`Y#Q>(sz2JpI^k)XbT+V?YoV(+`lq=XPGKo4+8igD+U(q3eF2 zn-dnyn?AE9aEO;3jRxQ7I3@B?&?P$~&f2DSgWt}biq}td%j+7C@$$aLS9wyukHovh zoA${(jliG62?>JcqKg;0(Ja5{9_FlZ^r(?G69>CAD59a1y)@yEA~5IT1`+o=QKUrh zPtawKrpKLf(;Ti#!JP&lRuCKpaak0>M3SsUkX$A-gL;z$|0V>_3c>d<#xnk3GjEk9 zhKtfgz%$gcPcY9RI%-8GbRZs1l92e)V(eTwj_hnBi}YlKH_lt*^?z4-a{IZdq*T|> zJpm?LbhXjnM82BPFSv`AEnh``M8Eh7W?{#7Klx`-erZ+Ult+0vR~8Os zsZVj(c&2Q^@MLQ&N?N9mRbD3V?lTMAhd&8 zSft{fol+#zJT+8mT^-LfW34^hm_8ROl@ydFOBcbzO6Z)5YFUM6dO0E7oc$Z}`^ZHr z?umw*#eh~a|Jlb^u4-6?4deYp_|fte`SL#Xa&OdbO}gjbUbe<~*{_W+KD0W0S%RSY3%g#3J)Z)2= z>x#lS;@f4X8|`GwunJ=*ho@Ukx4tmAoj0*KSK*CGfoxXDQC=I6HfaZ?&C)*fi+j3d zY%#7~PMnQty}=iGtuNTb>jb`Juva@-R~T&J%}L~SB}*>QBP4&36H!`nX)f+G zt}?Gc>W0gjNN$M4aN<3Dwe>Nqf?SA^nrz|GMwde05UH=6j(nf(raJ}9H%L$y$(nu` z8|)aVMC(ru@>ZqcNMB>v^0C%D5?>$ZWy{R*ne_lNSw&w6Ul>+YKN8KYi$+TJthu^cbP^Qx`;( z8ped>dFw%8SP4Bw?rS3*efo1G(kI?=00VUMKJxVhDy+zx26>=%>CGf@u&;$!Xghyc&>LL7;HBxd@^i+ym7C^Bku zm37zfW7ZvVqj%6~3OPtRA$~oPqtle0m?hKuvCS!wZQ&k&rl%+!?s1b_66SdFr8exS zeuMgsLQc- z(%!GN2W4JOy78?o^KO*xwnKep*=>V;)+F*^zcofrp(QdsiMQqodJF_JJyLspeSO^g zS_QGDqp7rZ>-IC|ty%Fas7kG-$WDCLwI|AlZ#&#)UQJ7O9Zj;HCixIe^6~nj5~MlW zUg5Of7Y9=CFs~!qdNDP&>*Z1+)8q2A8*=ClBb~mL<{O&QRGZC`Y;S#>#xJNZx(4y< zizcEtx>HJ^1hy=SST7`~3vceP&-D&k9NdnIV<}_Rx-wrln^;EeQL8ZLYra?HM67Zr zd0?%>Tj0R|Uaz-+{wZm>aA?S1IjMK9V19C8u7IQRf(s7`7e1DKx?7x#l1d#|Uwfn! zc0#UadZf~<&f!(&)=Fb#;hsPiJw=O^+ehQ{%cKNN>U@_t0o(Z=Bv zrXCx4wLjY=V%wtQGuxi?*Yrfi1xeSX%Yp0&grcR)Q+by{d__B`TP#UkPuIGdJShoh zTDT={tI|qGQgLfcCKXO#UqoN^;S`;7^M8NF_JH4ak^M0Oi~u9R2rvSS03*N%FanGK zBftnS0*nA7zz8q`i~u9R2rvSS03*N%FanGKBftnS0*nA7zz8q`i~u9R2rvSS03*N% zFanGKBftnS0*nA7zz8q`i~u9R2rvSS03*N%FanGKBftnS0*t`_cLG$5Kjdu(q>T{X zwiXfz)R9creOr`OM*HSYAK>k$NPX+WNoM%0Z>#|kI+ZSG|`ND|q9a#_K z`mom(8kGFL4XBS7^^q}ud89~Jntp73%^f@C_)+rYyCp&%7L8Rb(d-yVZhocCfp z`7c@YM65KONM_d{5kiy0nx>l5AW2V?`LGw#^kP}Oyiy1a7nZpuV1+$q7QyZLnB?2y zmTjo9=11K%=uwdQOjOcnlyEc)V+=+qOy%uG5mi&eUhzhSN**K2lw9c`I_fi8GDMUm z6(Wj|Geq`5j5!`rbBv}UZzLhAip(RvlGQZmC(z)dNY86gX^Yqgi9V1^s8XTX5ZDee zIe?(VqHZ_GIo^hJmGM6#F#hX5$amxhx<+MA4#{uHAIt6=#oJUjS1casbo*MCM#yz> z&1sEKTD;*l$0T3iA#84JQp`jkVrlyt9+K7MX+4JG-+q*bNcpE?WN%b)ZrTQ!s0!bH zn78ao0T@de-)?FvICDli?t2Z-PT!tnjJFE)YZVo;qLK<9jPT??AYm&8bNh$(fr0e6 z_6R>P*(^7jt&`+7Rs3O8IVDF;UQy&I`DicfAM#%Gf%X>_lv}kk$CmL+ed!0@BHGP3-`p|u8qHyi2tKY`$$)hJ)ynQr+@0#|1#2c zc47PHrR24bKO*msl2=F0zW?E;5M)KW*Q>Abp+d5dO6zPs(wM$clC{QgvnoS8JtR&w zhCWprQN3_8rjG$`Qe+ejCCOHC zrg>CWA@ypsQEfaN30deUGKr{2k(|)Q3u>&z>>(k|EJE_s5yC-lX%nwcAeCe*pNjLo z&9pUkLO%IyO^W*HprYZOxk4N=-yn}u+2tp@AYU(6ykr}nYUin}Kcm&O4?_^xw>0Y? z=oL72;iuwBuMAB@vUMIzEQKa&mxvjWgi@n?|YD>Vgo^5pw*{m!7q2Y2!0tFiXu zeAc@?FS=K1GONhv8e-dW=}FC)PoQVV)$3qy~Dq>AVtrWX>YJWqT2Pt&DNI=N3AdWqOpfh z&riP@ZjWQu$cvQ~k3y{g`d+vlg0KVOb~ohSQt`7_(~i{+IiotMq2gy@ibaQiW&X+9 zfz)3xA$JYc*4;|0%oDX0;-Xs9l_g{#LWlYX@)ageg;i3O9vfT5EqcK`&mzcx(|01g z6X8kEZtDj01_-o8)S-0cL@L4ZJ#^sBuun-tx}11V2GPZht%VC$G*Gc@Qo`5P_!5tq zAF@&9ER|rJlj9Frb~H+RRuMP>;)vvxHSd+5Z#;nkj6}Arv5ObpQe4BlTHf06zuui+tPjotX)ZIwj zdYLBjc0N*y{3NbzHd`TCP~(pwd%JvRV=lb-VytkcSTlXz{iLkgv(&T7Lw=f*y?j5J z08#K{<)WW>mfS}2UiT9u5E61C`9hNHRW8X1)?`&7hhiX(yop1n0-)_#H$*_^1Vl?R z4F|mxnk=t@5MvssYqxgDDnUbX7=@23=o4ZW9ndblH1X6fKHk+xR}-j$abI@nS;KE@ z%(+k^&qJc^7HJzgm?gjt*g+-Lm|ISQV=E8 zAV%4xZTD=F7Etty^w9-$O3+F9!Ix~S-7-E_pm@}*!$p>v2z zH-tpwfCkKp`FpA#WCzmz!)|S!nAn}0ej%;7YGgh{b=xj^Rn?E|s2T~v9YLzJP4C(v zhO|%?s&xCvCYPs4N*zsErQRe;t0u{*uA?akZrq}iZ)(=vzRk1_xjBCcbs>N2BFA^< zhZ6+VJ))UsQ6wtVc>|VZ)FwCay0snF?4vu7h_<7$W|SKAca+3v3p7z&lv?!PD+x>% z1$DFM*UVc`IIm`|2r-zs0$7uBMX*Y#WMP1#RfCjh^mW-r{+c+tsnQ|N=^Whz8L=;t zxowc-oM_7f!65l-BDU$w=_X6?Z4&2q!rS*E#5HdxyJ--bkh+`VZ%RNmX@0H5`dCOO z=ACUWH)elr-jRnxWiBn~**iAfRpX2^ep8k$ds z%y+OXwI@S@^(~-A|0SE+&1-ZgW?|Wu?7+s)pG?v1pEsDIQ+x+6^9V&Za9inP8y+Zs z*o#kqtwn3XTiyDrjbiI-t$F{){tC~@nS{v zl3%x5y+}(b?}pGluhfXG-PTytw@s|+kz^Dl)xn$N=-$$MM7GMXzU87(4PgQEUFe9qt5HDmvwGB|(AZ9ct>e#JMR8n+mzFxdGS}TZ}i0fT#6&lx>CFFc6`6qko9lMDw&N)mR`%v|6Hv(K|zL$K*ZoP|jqzPSWK}Iit zz`Bc4LTYm*!@Q?UYEM4Td-h7ngiC9GY6~x=Oxw`WRN$$tJQSH7Nh#$y8QKU7LGcI* zIq}IYJjBN*xAKrA4;@66cPM=CKx&&lRDK?%kW$Dn7Zqanrlbr0WPb-Ukpcm;(3@51 zaLZ%x4S?cxNqez|5l0+BmGgg};x?ASLrH~3N3j1i&-jN}$eOPT%2YIYTT<{>j zL#*GI>pNKU6!}X4N%!~#(4BM()Mzz8#Zslcp@0HDs+gzUpYb<2Q;(ldEk3?)$zw^+ zGy9hF9ZyeAt++S!)Bj5StTTE4*5oa=`>?l?8l@(w7dpMd&5$fA?UQy$C!{S>7Fnk7 z$smM}LzZbcLj{_yi9MJ5Lb74!HU>>3Q=8b-;nHM$8QMo9!7wkCYLVdcyi|r=n$&-^ z-*t8yFQuiv(LRVBF2h$NgmJ47#w|~z0!?AvkI%?6XM6|rpGrO0KDF|4jZrlmFjFnEd~owg4vopUMAc^8cCq|Np!4|H&Wt z+%Zl8;k(3Z{<%hU#c(yzEC;KKGxlk`QTPwJ7L{}qa{;{`08m4l#2&S$ufPq#-hATFae||#ojA(bt&0B+)e3Rq=ogPh^ggN?X0xIV#16`K=*qyM zPkBFz2_;>_^z{StO?qP8C6(g2S1O}!B-C$AN$*d%8qOeg@0X*JmnPxOYo3BSlMjqX z%{P(U^!`|xxkW2QqR{e^%aam#gEvUp<~C+oYmA%C@|?;epEq_=FQn>ft}>=r^U{BW zF>&C_Q7_z~%jWgr2drm?Yj9S}dA-&X$S&2wTg60(;$1$m@=72t#IaglLk%)9g?}lJ zDFXUtTyyJ_!+u(WLi74u8(oFd&R$&QQ$;uV)`92M=5gzUT!4cfSA&z{fzM_|w?kPH zGBa^V7xP+6p!CL#>$PTHGh-)E!LxhG9~1#vrz99DkEor_|X64^d&LLE(9a@^4`7DO_;!ynp%?GK8 zUqh8Leq&4e#l~iys^rO{!QpMLr*yuAJEz4oZ@+b2x&->joW|3kQK+T)6O_#Tk$h(# zJRIl)(n++y6WvvM{ZrfdupdfVdN+1RflFy23FJmAz7WdUP#UUpTJ_@a%;Ten<4|7~ z@talxw>Eb1?B1{+y)*Y?6Mt<^*N)*#U)Nv@`{QUwms#R^>O~$3hC+__n)v$4LTE=T zgeDtfV@RmD{=GrIViz8WZ?oC$_5!jsE(OSW9=-4;sKY@Dk3z-Jxi0+ZL4XRFw1esm zLR*jGA#PSj9@woXmk~JOyx~;9~va~qJO&gRa7)wkH4cL9pd$)+ssq$5^Emj7d`gx@O zJPwD$&ugXr@bgelGd&KZvdfI7$JviC%& ztEEvlhJK%S|0BsD+K=@#ROyyebu*LDJhb~wY`feVaygmMijvU>%{4Th>R`;$lH#`j zy*LelvaLy!Wq>wYZLUV>Sco#6-g>{%2BkU<^5^zi0I0WasW%?6rqsG{ZL|OEGNJrx z+J0x33&usWEV)d;#m;g8w^CdnEZ0L}Tvn~6=TA)N$D!Ew^n-eN zJlD-lCv8pYhW-ne(N;8Yy_;U8quUq7wf*?f)B$OWn=FfyRdL#qcgM|--53G6@fG)} zUJbUK(xd&*jkw=UF0_)0IGvbp%mx0?jh|Wt!m1m~x=L@_R7{|5deLU_xPjE%x(KL} ztnQB;sA?LKrTu|-Iq875|J5k39XPA)-SX{Hx|7@xI6`gPqBct9NMh{&~5okOuRX5m!Usn z%2<{#=Ndo5j}eRMEW1D-zS8`wu_km3v+G#HZ&e#UYXD>2++hr)@5L;MAV{mk7?1VI zZfg2CX)w`S(S}kSOXSLvpNmDzuDNpDjdIW_Jz(BRr}#ZzXpeJ*>}Ooi_&AW)A_onb zvV^{YOJU5uz4Ca_GP2ey=qdlHkE2s@xrX+^!0(VENAWYK9^4x3x5nsNEF#xJ_n0al zjX;UzY5YLItie)*bwai^S^{Dy_=yx^WcEV~DPq(sk{Zdy7>x{+nWr&OQT%OSkF}z( zC=Q)%&_cFAm&c(DM|V`7Q+M>N5zs0Ld98PlDrT(Gdhk=up3om;P8$sO`7FdmnUN#+aEyJ-zyDbut0U>l~}`HJ3zz)dhK`mn=rn5`~m3N%6a@J^}xgp zeUoc}LVsQ^Bqh)=TAx$gCLcDkApz>_WUqJ7t@XrSCiljXCDtMpsg!@}CM03aK-=G! zI8f1cI1sv94Vbs7Jp+%MQ-*DpbGY2%hs(^X5zHJHfM&GJ4SbGN6nE5_7#FqP+)iPxxWHiK|x`mBvWJ(W~JO71RAj=jp~t;luItE zpe1^b^hq(QN-i$7(w&MXKG9F!Y`5-7E*7lY4Iy2r$^+%rIK2Rx<22Q}LZ3oa#l_q7 zSx|i@z^wlWKF1de=Bt<{p`4EVn%CrFmq(8G?Cg-@JuMx5FLj9VZkp;lNEJ2vy*`>x z?JC`*(|<`$+Zar6kMzl7F;gHdj0+5+T!NU#&3X9BxtmU<(Eggf6SHC{eJhGE9VuQ(AyyV z;c3C-hsr-j&vv8g)q;Y0->0?GMO(tJwPJB|qASxQ+n^Xumy2MsKhq;tC#$I22Vb~- z(37z4#7|VeqOUV=g>E=ZPFQG9^^t-;a#ugrZ>R&rQdvTF|{A($q7suk3UH`Te&8MqHk;TynevJBJzxb1+-X>{M zYj_EzFDVlC4Kx^j_$}0`xKLKotBUK)B`j`m?lZm zDRdfJKUV$A3l4>h#XrB2U>P}2_m)*87`MKQ(3i(!MVww#JFsYERQ%*qr3=nq(BX1R z?u}T?ksjv2zJ6TJyR=k;Ln=k0qpkIL(}fwoSjL11^>_HVqk8~EfQj~B6cT+&uRRhm zg(C_yq~e2NVN$-5E-OHNW4|Tn)9H3ev#y2B39Cs~q5q&iPPK~Rm+8x8MOy{#wP<6S zF0Jik3MRjs(yX^BtUn@j`V{p5$Afe*Y1UB+_>V{~eE?gLpP5%w;TvsTxTmTq`#}#H zQ|IW*O*ct})EzTs7NytiVmj9sLldD^@(Rp+)BCAAB6|@Wz4B@6?-+|5$KgA|;aXJn z$LTlNDnsRI%j61^_QE88I9YHkDO{Q2Yf{BWQe%#!3a;yL3LOPPhZBZlNyow@w?1iK zpDg)C2Up+mzkVdScvZvlWn|{^r=EtM*A-;GX9ZOdjQf9{-T$-ue|G=R?*G~SKfC{D z_y6qvzn_SOURCE+$20 + bne checkloop + cpw #0 badcompare_counter + beq @+ + sta $d580 + lda $d013 + sta $3fa + cli + jsr print + dta c'non-match byte#:',0 + lda badcompare_counter+1 + jsr printhex + lda badcompare_counter + jsr printhex + jsr printnl + sec + rts +@ sta $d580 + lda $d013 + sta $3fa + cli + lda #'o' + jsr outchar +@ clc +dmaon mva #34 dmactls + sta dmactl + rts +VERIFY + ;mwa #_SOURCE _csrc + ;mwa #_DEST _cdst + jsr CHECKINIT + bcc v_rts + lda #'f' + jsr outchar + ldx BankNum + lda #$a0 + jsr flashformatsector + ldx BankNum + lda #$b0 + jsr flashformatsector + jsr FORMATTED + dec Counter + bne VERIFY +v_rts jmp dmaon + +COMPARE_CRC16_DEST_ALL + lda BankNum + sta _tbanknum +@ sei +_tbanknum equ * + 1 + sta $D500 + clc + mva _tbanknum calccrc_bank + jsr CALCCRC_DEST + jsr status_crc + dec _tbanknum + bpl @- + sta $D580 + lda $d013 + sta $3fa + cli + rts +status_crc + php + jsr printBank_t + plp + php + sne + lda #'o' + plp + seq + lda #'!' + jsr outchar + lda #',' + jmp outchar + + +CALCCRC_DEST + php + mwa #_DEST _tsrc + bne crccont + +CALCCRC ; c=1 - write; c=0 - check + php + mwa #_SOURCE _tsrc + mwa #$2000 _tcnt +crccont mwa #$ffff crc16.crc +_tsrc equ * + 1 + lda $ffff + jsr crc16.updCRC + inw _tsrc + dew _tcnt + bne _tsrc -1 +calccrc_bank equ * +1 + lda #$ba ; nk number + asl + tax + plp + bcc crccheck + mwa crc16.crc crcsums,x + rts +_tcnt :2 dta 0 +crccheck + cpw crc16.crc crcsums,x + rts + + +printBank_t + lda _tbanknum + bpl @+ +printBank + jsr printnl + lda BankNum +@ pha + lda #'B' + jsr outchar + pla + jsr printhex + lda #':' + jmp outchar + +MAIN_PROCESS + ;mva #0 dmactls + ;sta dmactl + sec + mva BankNum calccrc_bank + jsr CALCCRC + mwa #_DEST flashaddr + jsr printBank + + lda operation + cmp #select + jeq VERIFY + + cmp #option + jeq CHECKINIT + +FORMATTED + mwa #_SOURCE _writeaddr + lda _writeaddr+1 + clc + adc #$20 + sta _cmpaddr + mwa #_DEST flashaddr + sec +formatted_next + ldx BankNum +formatted_next2 +_writeaddr equ *+1 + lda $ffff + jsr flashwritebyte + jsr flashincaddr + inw _writeaddr +_cmpaddr equ * + 1 + lda #$ff + cmp _writeaddr+1 + bne formatted_next2 + + jmp COMPARE_CRC16_DEST_ALL + +FINISH_PROCESS + jsr print + dta $9b,'Finished',0 + jmp * + rts +badcompare_counter dta 0,0 +BADCOMPARE + ldy 53279 + cpy #7 + beq @+ + pha + txa + pha + lda #'!' + jsr outchar + pla + jsr printhex + pla + jsr printhex + lda #':' + jsr outchar + mwa _csrc badcompare_tmp1 +badcompare_tmp1 equ * +1 + lda $ffff + jsr printhex + lda #'/' + jsr outchar + mwa _cdst badcompare_tmp2 +badcompare_tmp2 equ * +1 + lda $ffff + jsr printhex + jsr printnl +@ inw badcompare_counter + sec + jmp dmaon +; ------- + icl '../../lib/flashwritelib.asx' + + icl '../../lib/crc16_v2.asm' + + ;jsr print + ;dta c'AlaMaKota.',$9b,0 + ;lda #$55 + ;jsr printhex + ;lda #$aa + ;jsr printhex + ;jmp * + icl '../../lib/print2.asx' + org $2e2 + dta a($2000) +; --------------------------------------- +; D500 A000 20 6c offset:$0000 +; D503 A000 85 86 offset $1000 +; D504 A000 20 dd offset $2000 +; All: B000 36 01 offset $3000 +; blocks for every 8kb bank +;------------ + org BankNum + dta b(0) ; $d500 + dta b(1) ; Counter +;------------ + org _SOURCE + ins "action.bin",+0*$1000+$0,$1000 + ins "action.bin",+$3000+$0,$1000 +;------------ + org $2e2 + dta a(MAIN_PROCESS) +;------------ + org BankNum + dta b(3) ; d503 + dta b(1) ; Counter +;------------ + org _SOURCE + ins "action.bin",+1*$1000+$0,$1000 + ins "action.bin",+$3000+$0,$1000 +;------------ + org $2e2 + dta a(MAIN_PROCESS) +;------------ + org BankNum + dta b(4) ; $d504 + dta b(1) ; Counter +;------------ + org _SOURCE + ins "action.bin",+2*$1000+$0,$1000 + ins "action.bin",+$3000+$0,$1000 +;------------ + org $2e2 + dta a(MAIN_PROCESS) +;------------ + +;------------ + org $2e2 + dta a(FINISH_PROCESS) diff --git a/various_flashers/034flasher_action_36_orig/flashwrite.xex b/various_flashers/034flasher_action_36_orig/flashwrite.xex new file mode 100644 index 0000000000000000000000000000000000000000..f821d5f00fa95dfeb656026dc9602ce2ea445cab GIT binary patch literal 26282 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 literal 0 HcmV?d00001 diff --git a/various_flashers/034flasher_action_36_orig/makeflashwrite.sh b/various_flashers/034flasher_action_36_orig/makeflashwrite.sh new file mode 100755 index 0000000..1854ca7 --- /dev/null +++ b/various_flashers/034flasher_action_36_orig/makeflashwrite.sh @@ -0,0 +1,2 @@ +mads flashwrite.asx -o:flashwrite.xex + diff --git a/various_flashers/034flasher_action_36_orig/makerom.sh b/various_flashers/034flasher_action_36_orig/makerom.sh new file mode 100755 index 0000000..fd229f3 --- /dev/null +++ b/various_flashers/034flasher_action_36_orig/makerom.sh @@ -0,0 +1,27 @@ +I=action.bin +O=action_128.rom +i=0 +z="" +while [[ $i -lt 512 ]]; do +z+=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +(( i = i + 1 )) +done +function out8k() { +echo "$z" | xxd -r -ps +} + +echo -n >$O +dd iseek=0 if=$I of=/dev/stdout bs=4096 count=1 >>$O +dd iseek=3 if=$I of=/dev/stdout bs=4096 count=1 >>$O + +for t in 1 2 ; do out8k >>$O ; done + +dd iseek=1 if=$I of=/dev/stdout bs=4096 count=1 >>$O +dd iseek=3 if=$I of=/dev/stdout bs=4096 count=1 >>$O + +dd iseek=2 if=$I of=/dev/stdout bs=4096 count=1 >>$O +dd iseek=3 if=$I of=/dev/stdout bs=4096 count=1 >>$O + +for t in 1 2 3 1 2 3 4 5 6 7 8 ; do out8k >>$O ; done + + diff --git a/various_flashers/034flasher_action_36_orig/readme b/various_flashers/034flasher_action_36_orig/readme new file mode 100644 index 0000000..976e217 --- /dev/null +++ b/various_flashers/034flasher_action_36_orig/readme @@ -0,0 +1 @@ +http://atarionline.pl/utils/4.%20Programowanie/Action%21/Action%21%20v3.6%20%281984-01-17%29%28OSS%29%28US%29%5Ba%20034M%20mapping%5D.bin diff --git a/various_flashers/034flasher_mac65/flashwrite.asx b/various_flashers/034flasher_mac65/flashwrite.asx new file mode 100644 index 0000000..1a5687d --- /dev/null +++ b/various_flashers/034flasher_mac65/flashwrite.asx @@ -0,0 +1,358 @@ +; flash eeprom library +; by JHusak , 04.01.2020 +; free to use. + icl '../../lib/atari.hea' +BankNum equ $88 +Counter equ $89 +operation equ $8a +start equ 6 ; format chip and program +select equ 5 ; ferify and format sectors +option equ 3 ; verify +outchar equ $F2B0 +memtop equ $2e5 +dmactls equ $22f + +_SOURCE equ $6000 +_DEST equ $A000 + +; test code + org $2000 + jsr $f420 ; clrscr + lda portb + cmp #$fd + beq @+ + jsr print + dta c'Run with BASIC enabled and restart.',0 + jmp * +@ lda #$1 + sta 66 + ; waiting for cart to be inserted + jsr print + dta c'Insert cartridge...',0 +@ lda $D013 + lsr + bcc @- + jsr print + dta c' inserted.',$9b,0 + + ; cart inserted, fake it was not changed + lda $d013 + sta $3fa + + ;lda #$ff + ;sta $d301 + + jsr print + dta c'Press:',$9b + dta c'START - format cart and programm',$9b + dta c'SELECT - verify; repair bad blocks.',$9b + dta c'OPTION - verify only',$9b,0 +@ lda 53279 + cmp #7 + beq @- + sta operation + + cmp #select + beq VERIFYREPAIR + + cmp #option + beq CHECKONLY + ; start +FORMAT + jsr print + dta c'Formatting cart ...',0 + jsr flashformatchip + bcs formatfailed + jsr print + dta c'done:)',$9b,0 + rts +formatfailed + jsr print + dta c'failed:(',$9b,'Waiting for reboot...',$9b,0 + jmp * +VERIFYREPAIR + jsr print + dta c'Verify and ',0 +CHECKONLY + jsr print + dta c'Compare.',$9b,0 + rts +crcsums + :128 dta 0,0 + +CHECKINIT + mwa #_SOURCE _csrc + mwa #_DEST _cdst + sei +CHECK + + mva #0 badcompare_counter + sta badcompare_counter+1 + ldx BankNum + sta $d500,x +checkloop +_csrc equ * + 1 + lda $6000 ; src +_cdst equ * + 1 + cmp $A000 ; dst + beq @+ + lda _csrc + ldx _csrc+1 + jsr BADCOMPARE +@ inw _csrc + inw _cdst + lda _csrc+1 + cmp #>_SOURCE+$20 + bne checkloop + cpw #0 badcompare_counter + beq @+ + sta $d580 + lda $d013 + sta $3fa + cli + jsr print + dta c'non-match byte#:',0 + lda badcompare_counter+1 + jsr printhex + lda badcompare_counter + jsr printhex + jsr printnl + sec + rts +@ sta $d580 + lda $d013 + sta $3fa + cli + lda #'o' + jsr outchar +@ clc +dmaon mva #34 dmactls + sta dmactl + rts +VERIFY + ;mwa #_SOURCE _csrc + ;mwa #_DEST _cdst + jsr CHECKINIT + bcc v_rts + lda #'f' + jsr outchar + ldx BankNum + lda #$a0 + jsr flashformatsector + ldx BankNum + lda #$b0 + jsr flashformatsector + jsr FORMATTED + dec Counter + bne VERIFY +v_rts jmp dmaon + +COMPARE_CRC16_DEST_ALL + lda BankNum + sta _tbanknum +@ sei +_tbanknum equ * + 1 + sta $D500 + clc + mva _tbanknum calccrc_bank + jsr CALCCRC_DEST + jsr status_crc + dec _tbanknum + bpl @- + sta $D580 + lda $d013 + sta $3fa + cli + rts +status_crc + php + jsr printBank_t + plp + php + sne + lda #'o' + plp + seq + lda #'!' + jsr outchar + lda #',' + jmp outchar + + +CALCCRC_DEST + php + mwa #_DEST _tsrc + bne crccont + +CALCCRC ; c=1 - write; c=0 - check + php + mwa #_SOURCE _tsrc + mwa #$2000 _tcnt +crccont mwa #$ffff crc16.crc +_tsrc equ * + 1 + lda $ffff + jsr crc16.updCRC + inw _tsrc + dew _tcnt + bne _tsrc -1 +calccrc_bank equ * +1 + lda #$ba ; nk number + asl + tax + plp + bcc crccheck + mwa crc16.crc crcsums,x + rts +_tcnt :2 dta 0 +crccheck + cpw crc16.crc crcsums,x + rts + + +printBank_t + lda _tbanknum + bpl @+ +printBank + jsr printnl + lda BankNum +@ pha + lda #'B' + jsr outchar + pla + jsr printhex + lda #':' + jmp outchar + +MAIN_PROCESS + ;mva #0 dmactls + ;sta dmactl + sec + mva BankNum calccrc_bank + jsr CALCCRC + mwa #_DEST flashaddr + jsr printBank + + lda operation + cmp #select + jeq VERIFY + + cmp #option + jeq CHECKINIT + +FORMATTED + mwa #_SOURCE _writeaddr + lda _writeaddr+1 + clc + adc #$20 + sta _cmpaddr + mwa #_DEST flashaddr + sec +formatted_next + ldx BankNum +formatted_next2 +_writeaddr equ *+1 + lda $ffff + jsr flashwritebyte + jsr flashincaddr + inw _writeaddr +_cmpaddr equ * + 1 + lda #$ff + cmp _writeaddr+1 + bne formatted_next2 + + jmp COMPARE_CRC16_DEST_ALL + +FINISH_PROCESS + jsr print + dta $9b,'Finished',0 + jmp * + rts +badcompare_counter dta 0,0 +BADCOMPARE + ldy 53279 + cpy #7 + beq @+ + pha + txa + pha + lda #'!' + jsr outchar + pla + jsr printhex + pla + jsr printhex + lda #':' + jsr outchar + mwa _csrc badcompare_tmp1 +badcompare_tmp1 equ * +1 + lda $ffff + jsr printhex + lda #'/' + jsr outchar + mwa _cdst badcompare_tmp2 +badcompare_tmp2 equ * +1 + lda $ffff + jsr printhex + jsr printnl +@ inw badcompare_counter + sec + jmp dmaon +; ------- + icl '../../lib/flashwritelib.asx' + + icl '../../lib/crc16_v2.asm' + + ;jsr print + ;dta c'AlaMaKota.',$9b,0 + ;lda #$55 + ;jsr printhex + ;lda #$aa + ;jsr printhex + ;jmp * + icl '../../lib/print2.asx' + org $2e2 + dta a($2000) +; --------------------------------------- +; D500 A000 offset:$0000 +; D503 A000 offset $1000 +; D504 A000 offset $2000 +; All: B000 offset $3000 +; blocks for every 8kb bank +;------------ + org BankNum + dta b(0) ; $d500 + dta b(1) ; Counter +;------------ + org _SOURCE + ins "mac65.bin",+0*$1000+$0,$1000 + ins "mac65.bin",+$3000+$0,$1000 +;------------ + org $2e2 + dta a(MAIN_PROCESS) +;------------ + org BankNum + dta b(3) ; d503 + dta b(1) ; Counter +;------------ + org _SOURCE + ins "mac65.bin",+1*$1000+$0,$1000 + ins "mac65.bin",+$3000+$0,$1000 +;------------ + org $2e2 + dta a(MAIN_PROCESS) +;------------ + org BankNum + dta b(4) ; $d504 + dta b(1) ; Counter +;------------ + org _SOURCE + ins "mac65.bin",+2*$1000+$0,$1000 + ins "mac65.bin",+$3000+$0,$1000 +;------------ + org $2e2 + dta a(MAIN_PROCESS) +;------------ + +;------------ + org $2e2 + dta a(FINISH_PROCESS) diff --git a/various_flashers/034flasher_mac65/flashwrite.xex b/various_flashers/034flasher_mac65/flashwrite.xex new file mode 100644 index 0000000000000000000000000000000000000000..0a5ba948de55c5e707bb7016582bba23c05ba076 GIT binary patch literal 26282 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 UTX=w5c!2*CcmVp9faJvg59tiqh5!Hn literal 0 HcmV?d00001 diff --git a/various_flashers/034flasher_mac65/mac65.bin b/various_flashers/034flasher_mac65/mac65.bin new file mode 100644 index 0000000000000000000000000000000000000000..95b0973a13ebdf860d6d6e6d4e5d52f7527ce90d GIT binary patch literal 16384 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%0A;ScWTP&Yc!qO zvW6NhT*+6tuX;Wkk*+AIs05BiWEm;EjHV_urn81PJsEAeYB_G4v}sE_NxF=q9Xu-LH&t5UK{_gphelBt=Pv z!Ro**V6~9wEE0PUa%7m};iw0Df>;%aSU7U@Nmwuo@7YG2=aig^9@&HI2@5s=19A{$ zqRvju_`W&9P$^^ynVPh_x+FDYq?N&j`BPX+7+8Cm((* zpnES)xnp%~$)3=1ntv?xJk38I`Y~+@Eu$@U0{N|q4^Fhx_EG9X+@w z1^#@T#ohx9BB!BwT>@?IwKgm#@+5OD*g{=U5n4){wVa@N>syN732uOi_6g{-Jy=v| z_SPO3GYIR8dwM-;k}{Rw3CaR$rUHOsltg7b$eu)u-Di7L8rXruJ0s=Fm!6&>MxBL4 z;}`NHusH>)+r=~#(r}CT6+|dpxq_bTGVf-8){f$P{17|p;d|8af)2g0Pt=8OFg1JO zt^&?P{ov4sx@O+Xp8`)DLCx`GC?H+PU^v(qJ%FOG2c}c_=Uh+{L;%#0Nxv>#YsiP! zJR0{l@oa&}p9cgQuQ;=Gh-+ z|0pMSDg4X}pvWcxPnaNpZ%KxrOA-&bw~Gk=9ufoSsJ3qw;&!lHr1oI7`4n`+e$s_S zb2`3bG-M)h6JQkv!u4}-WML)$uftrQh@Fs5K#>88kmsPH0^#41x#&XcyJcf` z^w^j?6L2I$30bGVbc1hm%wL%pWw0A6r~AQg)h>NY&{TKD{4h6dv2Xjff&;5v8R38u zHrxeAqVMfGuak&^0lZ(CqT8ny^bQ2lv++Q5p9Sv&uclQQhF|iO*+6`*TdmiS$zaPAKd-=VftGnT?im$SAIHWtEvYrDt6w$jGStrJca>~XB zqV+r!MjQB$oaFHkHT!SATl(C-cTCkLyHgIA1EYXW{C!i%Li77V1vI~(9qz`kH|28l z;+||yq`NDbnpinle=zhbvY!8pT?(PH_@JT<^Y!+Gy8D;3o?Q-lku0iecDWg^IxexV zJNGu+0AKelXu6NzPa-H86yGiUX6!-$w%EtykbNJVokg7ke)#}zH@fxsP_Hwf<+AaisOrOqqhC5eg*kN%>gOhB+1LEnxS{MD z{+l|B$BS?${*pf|srEyl&#hkKW4;aH)i>cpat)NRt@mSP2DnACqvs)N_KkqPAii3w zBw1t!aJ&`1taHD-0iFaF9^g6-!=VY@;K&4NINWp8eHC=a(V&e#ABN;(PM!_I4`f}4 zrNML$t)N{M3_B};R$-V03HFo$-!aqd;|Dl-z5dScmfeA%YEZLq3lIkdS`mE_-WX&|BG$>e?l#suECkAU6`38ZbE2fR+`$78>;@SMjV zgKW!|^-%?2`z{!LFdyJpyDj}>=>SEj>HDa&JZ$|!Wk ze@v3|N-W|~hT&Bih}hw>>tX&w1+FW5KT?^D3+8eB1u)tg_r~@DXLm#Fq2%Vf?RzR_D<&wG9Ya$Y)juRTie`Q}z0lfTa`=HYU z7o`2>2}DB zz%p>51m)~+CE=Cs8BC=uY`oR2(ZEx=W&c;5m=58Y;2?g3jEBaeHe{e0Qkl@3QiB1` znP09V;igvk4)2r?vN?xj#sXmwR=8L)eg%=QZ}?Lgmx1!9F|K54mGBDO7|mdy19)mQ z&;hzX0Ea(7ZB2x&UWSk;>t%={f=H!Ruw5$o^$@iS2*+Y{37M}qwR><`h|0 z6bD(xoek@>dowUs1&7<*Y2uDal=0QkwH! zl#sQ|!Gjs0ebM7;T@An_e@|HaG*rTt#_DuO-{$tgjUqo}~Q^@?+f^M2Yp=VvQQdgc_Cl&m;1C;!>9-Z`a7vmj{}F7KJMqIh6VS>D@o zik2_oo-XK}Q*d<7ijsHc6h1YWU$Vcf;t;idgvxJ1%HHTZVB=6vy(!zoJ z!{IsMrKLxfE>j8$4-_pwz!jX}3Qm@mohU6kxup2SlH!y3MFaUI?=ImEEa7^VaM2~) zv4X-A1%)SzmY*nEescK=rP#c`*sK(D`-?fHq%2xecC@tcKxtu5X<@W1??hSN$+FTD zWh?iWtvp)x?Ed^E2lAI3%`ZHhzbu-+yf?r2VE!`)@}D`nqGW&G@}9yKNAd~|l$P!1 z3idBqrj+I%$SXZqvf?0DdISn@EiLWZ2y;9DeeG-08$gP`OoA&!W(&6RrFJB?9$nP&K zIa0W^aLE8yR64K{B40*smJnn4(}xae{_6WJ{5}VNt-eP1+Yf)8@Vno~`~J&U;Omp0 z_C4(@fj{#57`X88yEJK6;v4dv^ciG>e4CsqPlM|j-x+v5>l^k>k~8FdIse(-jWS6q zUtV5#{9(DE@Zdc8iK68_WpZBWp+31Z@0s59GSqv|dbx0US>cgBIiEajk@JbuS{d@V zQ7$eiT0XE=E-8Gk01PExE-iYlw;6&hD?F4hF9C~!6-W2Vd-LV8!j+IzLBW7Vqj_n# zKlD*BKd?G5w6}QM8(S?~zuWriwovOkp{&4v1l;YX+vkb%#BlrXn!5I&Tek)$pl7z4 z(XX~z(6=4(V&Pq`AtXQQX+_JLJiEk3w7-ih4LY2fBbC}Ce44NO8;`mBs>h70g`lXh zRr7L!`y`0#ojN_Pb255d?bPb=s8gc{*Ptz6YqM=ZE2Nx9qFUDy#fXkIxm4~xDXMq< zQ8l8MB-f|#gtw?4o@4!Cz22?WhgrQ_qqlG298I|%&AI(SZGUEYo!L=dZ|34n5SN+! zxeUBKf%9~Dw~W9~&PDqcJPN^ZHN=4H+>nuaw@z;n>McSY#N^$gX!$Us7wW<~y-?o| zKlUv_9k`IpU5hg6Z9yaYnFRloFQPj2{ir?|L%)(Txp5L)h`*mn9!+B%AForGcs(zT zqPM)>En$sb7!7OnLNy;v3(oR&|6MY7zbcve|NeRAS}(>@Uo|AqSDh(US6SoLs+O0H zkZaWVVNaWSi>*y=6#wPXpwm+D4toF}UX@0uhU$8QDwE551NKo=DP{7qMhNl{#-ou% zaUuA&kK)6;{Vh+zepuLGtBD`>j!JKZYSg>JR(mv^%~FQrqY9FZ-a)9WN(m2eKf}4_ zw8>jy3??&_i~@3XMYxJ;ad3BL`BmYni-}($PZ=H-J@-MdxnH@e#_<(l5MLDr`bK2~ zw-8IC@zK!5+;cfOPyNa@&ZKW%cJ4AJf#kcu*>xHmg~NVmmrA@kJ}Ql7wVU+a8iT?>u{NuB_8wOC zkatqPOk5pP6gI29_+Cj#wN_aP6$$bM{-%H*@WG3^kTvJ3NsktKgI|Gbbw$V;%~4aM zkEr_SqpCJDiE$%@nXL@Tk1G*0`{%!W;KBPJ`o+w9e|489L)3=qq6R1eX*S7Xo%*v^ zP3t#Zjc!)v$E!1qJsVw&ZR0E+oo$vzZHkS=h15r7olq^2`^`#9WTVDVA)_KITxE@F zkXI^jY7$iIR$T!+xTdFW3mAA)eochtH-naIY<5VX4x-3HiT4dg-~y+Lw{_t zxCVt$u8Y()Nf0TLi;+_xo~TBBDEfda)APWo$C_QHk)b)RucObpQWTx%{@I=f9MJEl zd4#&|=^p4%7KkYb01CJ=h$xx&!=a0)t2wxEta{Cs=SDbYo))acLoOg=hC{T3SS3(diA zNQhP1Dyxh*$a9WsI699PUkhC%m`qo(6n#Zq5J^_!quH-T?@}gIT^xJ7H~Dxm`n<~! z{qG>NYAE`eqL&ebtGXDyPkA@#OX=aY-q~9G_5p)#e(K|Jvy;`F_i4Sq9y5D&TJPg< zYk+H^w)v1Dd9za&xi|G8ZS!w+cc;!J{$<^PExMj}j_C?g3)v@_pE64sGgHJYW1eI< z2>ENwP8y4kg*YH7%|YK`HcyL(^9+nZCmriC==9+2yT?au z7K08a|NWSGjG3qV3A==un7Tx_h%u!u(ismd(9Jip8mp|u?Ze6f9bB~d=m*5Qo|(Uy zJ;!`H$b53>Q|80y$y3Y%ow1tjpU=Ff>sav_RKCpEXWiz_=Ia z76MD%E)vOdX8s~pVsJCD+w-<=ddmEi1-caCl)|P=C)d49%G(HNc7g8J z)Es7d>Lbjw)JJubQ}1MeHKX-%vTnv+6k*zSGM~S#JJ7*SW+pM?Ql~KYF}E;NnJnfW zCX>01xt+O#na)gOW~M&O+?Dzx-Qx^Y7o){Sm}DqFDvEx8XCLMa7LE5;S~!7A@~YS9x9C6|+FccXm=|4P^cMO2i7gmd)M`|lA^LgR9v#6 ztZ+$LVUJi)QuItAYHIu;HImDto`Ry%CzJGWGS|!Vmi0D6KAtS>@sC-MgqQbdW|bBe zl3YKX$H_d#>b3YMX56f%n_-Y|Mjy9Wgl3C?u}9UR$vfm5XrR-xMD(NMU41xbnHPrz zR{cpd;$qH4%zjyee%~d}20s?`Y^(68>=#bUPYOdYxelpwdp}k0j)aDiv*VEKT>P{W z%fuH}iGJxzS7s!5i$`O}Tu+yGNIE?Nqp-qyLShRfgm!ds=UYVMNlUBB!id9nzud~F z&$!cc+k`1oC#Pm)WZY^r8pp%j>e54|M|s?&-je0bnTSWtU}_AsrUH74hTT#chpb2tn7dAz}*o=O@)%95>-c;Tqh=bA|~M>G}scm&*l&i5e_c*>Pi}%8o`_Ntz>wZ-;^~kcedWuEnCT2{+nAdn3AKYfuM1aX^=_*kyk1f#_@!-QkNp)r zTa`-|VH@5WYZtc0x8ft}M4?@Zcsn8^p*0YouU)w;zamJGgHd6lPz`e>O!eHxAXrFQ z@4uuQ%l9JgcmThvPC$iwP$DdiR@k<|is#+FtzdTItwKkdqnv=Y*a%w;Xom)H6J2ay zbze1i>sD-)RwHK@+SQ3Gq}Rvp0x_mF&cHqNJ^67`f6##Pl~f1~y%{Xca#pfOpWW+o za68(;zOsUKzRq%|g7%3cc8}d_Z$^8&JhyOryENRgV4wij_3}aIzgW52X=7!ba}6sG zJ6E&vGfpeZhnMT3EUc&)=X#dcI5mS_qnd*MrRcc9JttOr5}VM4c5GC1=x`7{wg+7c zLIe|zfIrmJ<>?X|v-~E;vk!Jifq${iUM65;oqY^Ad)V+ozq^U)H(l8@Vwdcm%I}!U z1{QHm$QM#RMt^ICoyTnDYc${(>0HS(5=;s zY|xAhRlB~nO%TR^ztX+K)&|LkE<#68QXsx200xab4NK5XvYNP8f>N7pG+vE-UXkgm z#;}2bHY01G=RdPGH&(6Q8XSj8I&iIE$8QR27324t$mCkN%3iNrg+;VoNfTs2BCY$E zomovLJ+ymhjAW^%gCw|(ZKP{{uq|4legm2Kp{GD+)kE`Ys^DeoY|@G$1~Me{bd8NF znJ}uLFGIK)-PjJ!%{*yyI&ee3Z6`y-mt?Rw4{4HzPswO@4!muG!4wA9$*?-N_ilDg zR#GeAW|J#TMOct*!djc1xKFw1K2Av+b7vK@;D<;~i%iJQ1AxqOyI^LheJh`p&+!Hc%GLJ8rKm`Oj-luifHJDt(*l$7K})yto7&uoW#p@A6gOk7dk zAjEz6^>TO6B%D1IXI$fyl!GzGWl&jpNIC5F!iv4Q6TdE1pjln}tkCh7ZO3uxtfvB+ z0QQdY@FsHwDJ7I8B&CG10D|4UU1r^8ovd*e>BJpq>GoW_GqwY4@UB=l*nMZ#DZ1~9 zbkYvoO(NH-{iLs7-YTCaxzu;a-=SL|P({opH2CrBF+p&nsoPOgC!q)N;iKFQ;tyKQ z$jT?U24_TCDf z)Wo;RnrL*TDk-EUL{$qr0+>~G+=O-*jJT;CvQgC9nw2}@s<-*j-0j?CNM6**tj((! zDZ}MVw{E#j<;gpSq{h4yri`@bn$7!(8 zFuFcK_wGQym(bz8P>DqeU&LdVHMR!9or_)N4L)2|?j}`~J61(=)rVv)v|4PFBnWLr z9un9>rgn(n4^1-4eoY#!x)>jYa>!G;S34k@%NpT4uDYxhKFj=1t#GzeBgBPTXapmj zTH(!dcll?+xlT=aL#?J$Tkfvaj*yOg!TZ^WbY4kUO%;7-`_6^pRU;M3H{{ZH z`KDhPAC`98FVFp|E;blUdAUbS8Um7)OSAp&fR<4V^F*jwI*8&2Yz)PO<>D z({Y&mdGAp<9o@4XH;^Xih6cz7>RCm{!yfnsthM@XDBtkOW{Ym?%9-U!@ZRS5K{L8< zyM4scmSB`?W}kNi-RQLJbGTCXy%E&Emtb7+daiVPc&SdfKm4Rlcp&^!ojLr3&Rj2& zcU69~15Mj*@gC()bjo_KSLn6(;GQ)2@$+U|4>S-t1I_Icb+%rMdnp-DvR~t&D}Y0I zi7rRWi<&pSV}!S&R%McHBKmAQ_9!~;>UJkP2=$A5dcA6ja+~lLOcvmB8+cGml1G^U zV^4C9{cO9cgXX~Fx1trwSKgi>R=o>*Okc|PK<5;hZYS$ruIsNbeGM(d1 ze%_7}+XJw6^a?%d1W}J(-RaSXFSE5fVCe+!LHfz76R*%L_=KY3#2G8x{$)~ z&@p--ioPDeDgF~)s3Zq~dIJ5DbkSX?t9KXZaIZU`j0{ie{%B=kEjUrpRoEuh^TMEg zpu%gnpOzXwmgH62ge8CG`A`zIXX#Aa2?YlC{Y@@Vm;_JodrZ^)_%9(Dj|D zvon4O#<%yx9iC61Fy2G>Jy^%UlE-^N`jXq<1rZ+vPnpt}u=yzVyR?z9Jw|R|BO5#D zN;zk8=>Tz{gO#=@4E9D@QST{rF`nN-V6x>DOP^hqzk)lOS6W)QET4N8c9O7REuAMK z_?S>wik>Jb>_v+nUvv-r$&+EYacT@%9+MGCtwNhUz-L{5=@Hb`EnKl(#T(UZ992(B zN0o6Ek)DmgJG!-osw=Kb!1{3fuyh!#j9`VldlVHi{vBb_h1PV-rrg*;~ZS;|m1I8F~}46sE0jzm+_6%PQLw)l5_8&wv@hY=of!bQ3=ao|sG z){oo%w1xFK$WSnVcPUf#JJq7zf#CRDJP_My#ye4@+oBA^o4j%>44*Ex-_3l^|DgdH$fcf(z^P;KFHSif84yt{EYYH+c#-jg7cQ!d^e zYY@OP<`%+oiq}h~*)N1{>2uqTv8guImA0<}8Vbybe`pGub;8bYkxtmf4R>Scn{owu zW_vF0(REj`webpA{Xx;s%Ld^yZV4=v@g7AR5gKgC>F!_B8g41fi=|?H4l5gSGOCG%)Uj2$1*pF1zMBvpW zyU*krt$_ELH88cU-W%TweD~pfz3W^Cytmg8)bhD_Z%p;$eX+0XFoikvZuRp_NBK9x zH`rbNt?+HV+3Q2N6MrS_lT_PYn9nUfKFgDH4YpTTuur`Rld-k;V`WA~$eJ5FrKUw+ z4H}9PtF%grS++xqx4<9g*d?!pEAa~#*d<50AJ)TN_anrNM0yUmF2LMzAY>IzMZox& zm+yta55~GMr*k^l@G_mVlI89SqLt+Jt^|F`h_C19xCeIg@*2bS-#>93HdQdqdfq?@ zm_RFIZ}{-~nA1}UkMabu-s6CqO#F?|Q10^MZv}UG)z~sh|2bJkkvP?HHVYoq)D5CR5k_{;V*GwKyhiP}e~Leie;WO{O9ul{nt%5{ z*_;c=v`4n~o>q0pL|Qx9Wy0Lf3a9%{=fty4zx0{MU_ajYu`uMT2n|Cm{W3aBeb#;q zmd3-`DgJOuHw-(#YSAL|(kP7V$4Gbo1W;vgf>gF!BST#3P)7(b4W z=boFQrsj+a$NNrmM|Z<|Jr#c%T?{!ehDCj7*rem0-i_|uV;dG?oOQPWa?*Dic7&(w zAKUBf_4bc)@o=nC5OFNF9$p5V4$DaR5FHEqbDr*Pgo*rvu<`{w_KFJR-;_bR@Dvz^ zNSW}5!bgzbED1*2dT*VmLq8pR%i=wSKZda_S2n~H@Y{FVy=SRO!$}>r<8cqt_;JiG7z;X2KjE`L*=Nf>HSD$ zvrgxX6HY_RZrl;y0WG_m$5oO`=(g?PVNGuJ!hVueSa~Cw+yr$-*63clw06u6Hf4M! zuKdS8SYf!ne7z9k{h1ZG^5tQlqkKJ&ZLozAgtbt@J+jg1VC4+wI#!K^l}q+(zDzQL)bnDa=U=(!(jZ>pm~GJEJthqF=S(CsIxV*hGYewU- z1wP!EzDDKv)j&GyG%|q<)|twz6rT@SH_l)o0k~>3kN~6L^HHG zbGSz&WqfC^h5Ti|h9>*QrLk4c2p>qao53U6(_-A&r z32OAZV1oWo0+awHKnYL+lmI0_2~Yx*03|>PPy&PPy&PPy&PPy&>||9=9gQ$!vS^@?0rym=oMxr3st18D*g)GgvI+#h^+L-b9MWU?K^ zx_Cs8>rc#sN&h|)5S;gb6WoInmL=Hmaq5Mm%Dt9%vFrArGAx0 zoPZ!w60`gZ@R3kHl4mLfW9i?_i0}JMb&E4`GZ-rpzi+EBzioge9n(aBKaI7kz_hn{g+>6S80Tk_7g-FNX{`L2;`V> z9E9TxA3o;NtGdv!3ZcEP-F8|uD5)TH1Z*Erj6LnHi}KIz%F6sms7@GctP_Yp zC?dUPOlDM4o}_Iw>-`)pNUa3PY9Br|kwhyVd#G$+3>i0pfE?tn-SzQMY#1}C;PupmV*=@BgZm2XLW z?~!0%M^iv#y~jQv49*G~P{6}|)+n5}e+Jb6fXAtGrAa2lRW{6o>{IK#G~lym6X&RNJiA~AlS050}p}> zmt7tZNtF!N=lNbvR$WK@hIFGR7^>r!8X7I`xf{dt2(D7|4OVw|4(03@?zuA2C#H&_twV)1dm0RzN>fdDw-7d%>|8&wy% zCz{Z%7ID0+sd7T4Mr3Q1(^eZWfs7*%D3%qUC~H8HNMIc6R2lq+{5cp4A4K{lV>$jMlaU-JWr$=18gm z1Sf&0ej={?Nsz<8R5FJbNa*Dj&ffx3P~?5i@dMt9O?aIdJIwfXGm#G?mpUh~SXg}j z99?2~1$4g$gS-D5+zDRJa9u|Cr8h-6IG_xe(H^2(R1i zwzVg6`Md7Uy62&sxqt5Mi(I_qT@&tYbLKE|n{zJ1v#H}JPs_UR{s(i=(>VMm{qz_0 z>U3Of#x-Vm5~{;5>V+DI8Qp;`ev43J5voD9RE<#Sei5`E2u_d_6LPx$4DyGoobp_! zfsyw*Qy6|MuA8BWKN1AZ1F5{>KZBsnDrY?egeV{+$k@Tvr~af@Q$Yyb&;(^Pm&Y}y zUeqgUCNGF-<)WX*4&hC_PN)MJJnA)&qd0y5Zjimold;<^g>UFKYCtH>rNBc>cE-}B z&gn`LJs+>~jN9EHb!!;+bzQ%5sq)W^!#$C8KgdGs^`uqyGVV+%1hhz8=)pez(@&NLQpfI+*qS=b<3 zlTS!$78=CV;KQCRc*Em9-znLr>ihe-Dz9T{G&eXK>IH4ti$HQ^NppNX$Tf2HHT1b5 z^(Vc&tQ8ud2#Y`v4$-A>>Rc|V#b57*=P;i%pC=~Q>c#7`bw!EHReF@s46=meRACFm zC$sR_w?(5pmpiyYh{X$5S#_AwdMuNi!7asnHaWqB{k|M_ov|=z6Cp*OS)DF&;5K zXmlGesFG|08O`QeL zv!*Zj-ahUAiAneSZ@Q=J5t`M*KdkaCTOiCYjsrce~+q(*sDO71yi zVp13DMP6Pu)?%P5ts{sW1dK=1DUj>P5DTK5^M3I0y2qGimQAam*F-G+%0*HPkZbtA zd@x>Tt};b$cj+=$rGO(ymV(-V?zG|Yr{s}SPsu7fGNODn5`Ied%OL6~Up7bh1p0(K z+jlm8#&bqIYd>qdICOE}m8^s&k(oG=See+7=ucE6MiP<4`Gh%POjr`L5{najA~$h0 z@oK`K@FjL89EnYd`h+VHOsI*Rgpx2NiW4uL(Vm%kChyGiXI7tSJhT7I=`+lkyUygF z`Ax!_n3uRc@j>Fb#J7pR-Dvpog)398u!+AUestxL#F0cv;_r#AiAjmkM71U(^WMi6 zRQ#;)spdxS8?`gEni&(dGg6s^huJGKiG9qBTXdgn(9M{t`{YeF@kjkzX@(i5lo`{F zGww7db{l8hmYUd;I%8bgjPYqRGSU(#ZH7L5h9Uj6tn|IM^u%!bUQI@V&zNA$SntS4 zSW^=742jzfi4QUo&t)XO%}D$$BhiqS*kVk)ke>LfE-@`FF(o|#@v!MLCXGw{eSBhp zG4Y5FhNAT_6uDr5vmSJ5$S_OPHY+-=!7ps^jK>>JE%YmSL#eJ?!c+a`u*q-c_rH_K z9zEvw`&;~e?0{vP16uStwB3(4I4|pE*7>zwS>y_;N{*@cB`fzww3z>Uzo{$f0lKrx z7=<=>?G2Movx91 zWpEf|$E_C}5ir*A7FhT>h_Q~_=!ejmc>OBIhh3{QW>B89(SKqk@omypjAgsNd>!~~ z@Oy4pYTp=9z6Br2!L5>vYfhd_tk*mfPSv)kQ({1h^^Ls~^OYS!VHp>kLRAhF*}Uyw31HnsMjtnbYrh_|cq2w@jLM zf9_0_@#7RTtQn+Q3v`&V^#U*dYOJsEcuiERq{iP=CdTVBT^UGi$t-_UcoXWY4&CPk zDP;Ifh3Tv7dz1U51tnTY8&Gsm|D4qP{kYCwFu~*@tO=-$a~z9J!W$r)nJhXWbTU2% z3=->rSqBx|MmyT-P$bbS4JGr zzBjhP+-$m<^Pyb~Z)t;t<5)!>ggacX?&_;Qo09M|0WXWW&lQru2MN=PGm^L%_ClBY~HAPzJ`+kWuU#JcySsh$U>-qENIj5hS z-13g{(n~Mp-`lP|-bQZn+BNyVZqJ{{=0C{h7qR)}Z2oFC-_7QOx|BgS|0_0soPKeB zYJ2{JaQSC@{xW^uJ8hnpVAXXns)!Rl`efTO?CDs{Fc!v>qI z*BhlwnAUC=8Ns7pgvKnG0HC2I^zP5}xmYtK%N9;n55c4=UsEfRgIb!iytNa0IXM z;l*Fl{&TP&QNIKg9yQt8BKTCP5k&PvY1m@f6VY<_v|229&^rLHfJit{7z$DAN!0pe z)c?_1NFEArKJ*T{KnLM4q$!DNuIsVjT)1(~4n9bp?{VE7%!1(dA^nhg2WUbZyCpf( z4=O1tXz~%^W#3Olt{5_$R8=$xs;fPkEYC|5@DU|FOSFqQdUUB#`5;td7qd;u5fv0_ zB)?soNSTGx_91k8;}ge!ckFkAzZDr~i4P_QZ&CMUA1dMhxmL@Ns~I z2ZSL==QIgOls?_wXc)M6@ZMwh9?!+cVncp>Ja*b;5RTiA#Rn>sGkj`lTAFb}O7dsI z1QuS)7>$~A9b?e5DJj<`OfcvtO!(nNP|~w@%=0*Ayrx(ro);snm0^u0W}HFKF#pH% zof_So|C+ydxU_x8ZMA;}``6zDCE2ElHK6|HD!(vt^x~K4Eln-!TgLeh$YA%kdGr)qc0P%d0V(G^Qz2 z*lC#=Mv^qSotDuT_eyK5!#zlod1B>`{)&;vd9%?nYcZdD^;N%br(;t+d_Blf;Ol{Q zX5RCw8~2|!-224u64rUQfAHM5f73E!KRTVx^UfypN)u>F*$)b5K!xD1;o!n#bYq)X zI;QRiUUw2}Gf|p0U!4RRH4WhT8oc5@n^ZaY(3nFyO6ef__Q30OP_-w^=*w-`;aw-F z!e0AV_I)0QtP?c|^g8}abQMQDBx(i;Vehmt%7{O=QuZ#!9HzX%RO`!Eo zJpvkk?w0=rI(yLMUDyYD1;>=?fhs*vrLxKZUqe@EKzR<@zYDaEq5Fw~Orl1V4JFgQ zVE;06l`4GhtYV$Dth0u7tkMWyIICIbn{bf8;M~B<8KMfhdLUaF&P}Xb?A*x8^PHPO z`IxQQ=CvKQ`QE5!ZP(<4=g01ApcCm^S#*}_t1ie|(ERgUhX@_B%283}@MvoTZZ})| zP3@uDowcVnyuBg1LE7+6ziGt&uC38_#MWsG*|yj|kwvk%>VmK8g7dd}`30d5zVy_w z9OV156ubxe#75x&@Km2QjYqGvi43kjYz?Ln!YkE6ZXf1u?at~ihA)@1p$_^%T}#&f zoZp~`r2G@x|!18 zi;i_;pN4272BlP46HVV>uQ~}BR-?Y|V9Kf+pef5W1HLYF!Z-jL6)zJFmY|EsUS%aJ z1K|RCEr|x5h^^WuFQ~FYE^j9%bCfBzR#DsC2RdjV@^~M7n|?=Xh3^ZHi=?U}P;2%X zQET=IvJjQUvM%8 zpW~cH(bwmsnlk(&a2zH_FYC~>4)PkDo6_xz-W5zw^M|z_b6Dds^Pr!8Zj=j7ixvc1 z$Kr&~55!~lB99rOw{R9O=&TSRgmZ$a+|n>@87ny$V&R-lB`l9Qw89jL9@??7AjK#q(N&`?LR zBqeeV;kVTB(#FhgjiLOljT%FRatRvxzSW?|ZooST+7h?yvA~})01=bJMh%@(3yeQ) z&0yKDsPXEomSTO86_gpFseyV^h`Z!XrVED)YJ_&t5UL^iA0u$Q>@p~Y1QlAK6f$hp z|DQ-khTB~ig55qNe3s{f>F~`feaNrjPx>iyBBpxEzib+X+TeL~Tj z(I@Se=ub&K+OV&Cbz@QDp6g^(<8Jp60!x)NuTM4D-v+f;Hv`D+7UEHV9fm&e@wn<$ z(yxUGxsWKD6_AM%OsF|>T+Z`t z=cpMzyMktLkKR)IIgD_S@=O>gz~uwrI|7G3_6A^#n$k@|FATtX16rp%W43%JDe_e+5z}N}H3BS2?&}$nbHlk(XzHQo?^DGZGJ? z-vr{--e5lr?zOyki@KyAew68kBcRC{^s<2lvH<=_Xv3#KXV=G|vx}&9v~LM-Wrelj z5G&Zj+gPD7+yUA$p~x8YCPJaOlcZGuKtMoNZC;OQF_6ra*{Yffyq*}9RW&dV0RKsl zBU>vdlUvy#wSuC%s#;KF452|!pFXNrKH#C0@|3C?IJ&5ZaeQV6Aqz7|AGs#IeGJ~d z;B$leOp-agL8ynbR&_2Tq+FM(t*Qe};f3CyJPTSvJU9a74b?!MWM&(cIkFM5aosO! z9iY+=4_4K1F@LsEoeD6<>_atvq8gg4D`S3Wog!0J2Xi23Vhhz}f2S8y;Tc*WoE5_x zl7phK0nUi=;8Q%u);wg5L-pAf_#5As+kAz#3fG z<`4g+QRt9{VT~SstFgDkHQA?T$A{5_t=!aBavJAgqnXFsDtclrBZRgMLnzq*qa?Sy z6%;j!P~CcX>Z>LR`**+4=pBG_o}!wvPw&!2B2Znt6sv&PE4m?c?52*}ocp5b!HG-9 z6yExSTUFtaCXo0kzVl{J2t zdm-dvI30B>kKSmF!tqvz)OgqdXE{HDo^m2BEwjAQ7ji`WAqS`vbO<%X*g#smUd-0Q z(Wgwv70fP=1+~0ChlMi0d4cTLgrG-5?2{w)aL{$xRt-9D0|8KaKTpxii=0;d?$`AD z<|(@Vz97t=DLA6)z!C-ugRqHsTNGsFMT!A5BQo-HW5{#J^j(rK`xH>J;v&l7_$=%yV4s7MdD&7BJah0$kw%+|u7OZMB z%Qu0xW#P?L8luZFjVQ#1v&`K8>JX}IE|JZ}wf-3N;Rt>+2K^b1R&20?ZcMxhx^Ki^ zRU4_Qm9=0*B60#un1QNlM@UgYyQEIk@y0Aq@lQzRqKjQ~y$6P71|Q1BHIR)*^q6Gg zVZC&qq9SJ!sIoluuwJF>-r<8WIAy^ak;c`E42#uxsvuTiMMU#`*! z8&JV^vR7>%dJ1&N7Q>SST6C*w;3Q@$Q5p(^M5TjGPI{H=ZeHQIZ{Z#iVNz-Nq_Imn zT!h`k2=nr-WCZVP$%>jL!yY@}$Ajf<+-fqD!v2+&$19&y*rK3xHic-M<(`+!4l|i( zpO-8`z#_D9pS0sWFt$FFdrqGzYF=IgBifpZ&>A>Mud7;PhC4H=+-ZR+2@asFfwN7K zsx=~O+r#5P<_~&e&5lgh5c2N|tY;NH92|AByoROU|4r9C^!q>k{!cn>LRpYhq%O0d z^*gElTigMA_guU)wu9&a-xccy_3Pi6;ppvmMLKB*?j{Yos-(b{wO1r# z8jqV`gO?NBWJrGORfS@NO_UM-U&&FhN2@zQCpwzi z#Vy;OwckX} zZ7z*gU5t-HIpnD@azZqhK}j^Ox~vsG%luERaJEw;#D&`O24SRAE4*3mF8@q8*QqIQ zsMU08%iXnFIFeuOy5Rk6L^`jetEP&+vwi16@v0HBnTJb1EIobymdVQ+l4~3N{!hRE z)9?TE`#=5uPrv`u@Bj4sKmGnszyJSF|Nj5~UjhNm0VO~QPy&PPy&PPy&PPy&PPy&PPy&PPy&PPy&P zPy&PPy&PPy&PPy&PPy&PPy&PPy&PPy&PPy&PPy&PPy&PPy&PPy&P YPy&$O +dd iseek=0 if=$I of=/dev/stdout bs=4096 count=1 >>$O +dd iseek=3 if=$I of=/dev/stdout bs=4096 count=1 >>$O + +for t in 1 2 ; do out8k >>$O ; done + +dd iseek=1 if=$I of=/dev/stdout bs=4096 count=1 >>$O +dd iseek=3 if=$I of=/dev/stdout bs=4096 count=1 >>$O + +dd iseek=2 if=$I of=/dev/stdout bs=4096 count=1 >>$O +dd iseek=3 if=$I of=/dev/stdout bs=4096 count=1 >>$O + +for t in 1 2 3 1 2 3 4 5 6 7 8 ; do out8k >>$O ; done + + diff --git a/various_flashers/034flasher_mac65/readme b/various_flashers/034flasher_mac65/readme new file mode 100644 index 0000000..887617d --- /dev/null +++ b/various_flashers/034flasher_mac65/readme @@ -0,0 +1 @@ +https://atariwiki.org/wiki/attach/Mac65/MAC-65-Version%201.02.rom diff --git a/flashwriteexample/flashwrite.asx b/various_flashers/flashwriteexample/flashwrite.asx similarity index 97% rename from flashwriteexample/flashwrite.asx rename to various_flashers/flashwriteexample/flashwrite.asx index c3a47fe..af863d7 100644 --- a/flashwriteexample/flashwrite.asx +++ b/various_flashers/flashwriteexample/flashwrite.asx @@ -1,7 +1,7 @@ ; flash eeprom library ; by JHusak , 04.01.2020 ; free to use. - icl 'atari.hea' + icl '../../lib/atari.hea' BankNum equ $88 Counter equ $89 operation equ $8a @@ -298,9 +298,9 @@ badcompare_tmp2 equ * +1 sec jmp dmaon ; ------- - icl 'flashwritelib.asx' + icl '../../lib/flashwritelib.asx' - icl 'crc16_v2.asm' + icl '../../lib/crc16_v2.asm' ;jsr print ;dta c'AlaMaKota.',$9b,0 @@ -309,7 +309,7 @@ badcompare_tmp2 equ * +1 ;lda #$aa ;jsr printhex ;jmp * - icl 'print2.asx' + icl '../../lib/print2.asx' org $2e2 dta a($2000) ; --------------------------------------- diff --git a/flashwriteexample/flashwrite.xex b/various_flashers/flashwriteexample/flashwrite.xex similarity index 100% rename from flashwriteexample/flashwrite.xex rename to various_flashers/flashwriteexample/flashwrite.xex diff --git a/various_flashers/flashwriteexample/makeflashwrite.sh b/various_flashers/flashwriteexample/makeflashwrite.sh new file mode 100755 index 0000000..1854ca7 --- /dev/null +++ b/various_flashers/flashwriteexample/makeflashwrite.sh @@ -0,0 +1,2 @@ +mads flashwrite.asx -o:flashwrite.xex + diff --git a/flashwriteexample/missile.bin b/various_flashers/flashwriteexample/missile.bin similarity index 100% rename from flashwriteexample/missile.bin rename to various_flashers/flashwriteexample/missile.bin