From 9f4c399158aab9caf1dbd89b3d4d7602f9987ce3 Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Tue, 29 Oct 2019 17:10:00 +0100 Subject: [PATCH] one more IEC size optimization, 37 bytes saved --- bin/basic_generic.rom | Bin 8192 -> 8192 bytes bin/basic_mega65.rom | Bin 8192 -> 8192 bytes bin/basic_testing.rom | Bin 8192 -> 8192 bytes bin/basic_ultimate64.rom | Bin 8192 -> 8192 bytes bin/kernal_generic.rom | Bin 8192 -> 8192 bytes bin/kernal_mega65.rom | Bin 8192 -> 8192 bytes bin/kernal_testing.rom | Bin 8192 -> 8192 bytes bin/kernal_ultimate64.rom | Bin 8192 -> 8192 bytes .../iec/iec_pull_atn_clk_release_data.s | 22 ----- c64/kernal/iec/iec_pull_clk_release_data.s | 19 ---- .../iec/iec_pull_clk_release_data_oneshot.s | 15 ---- .../iec/iec_pull_data_release_atn_clk.s | 22 ----- c64/kernal/iec/iec_pull_release.s | 85 ++++++++++++++++++ c64/kernal/iec/iec_release_atn.s | 14 --- c64/kernal/iec/iec_release_atn_clk_data.s | 22 ----- c64/kernal/iec/iec_release_clk_data.s | 20 ----- c64/kernal/iec/iec_release_clk_pull_data.s | 20 ----- 17 files changed, 85 insertions(+), 154 deletions(-) delete mode 100644 c64/kernal/iec/iec_pull_atn_clk_release_data.s delete mode 100644 c64/kernal/iec/iec_pull_clk_release_data.s delete mode 100644 c64/kernal/iec/iec_pull_clk_release_data_oneshot.s delete mode 100644 c64/kernal/iec/iec_pull_data_release_atn_clk.s create mode 100644 c64/kernal/iec/iec_pull_release.s delete mode 100644 c64/kernal/iec/iec_release_atn.s delete mode 100644 c64/kernal/iec/iec_release_atn_clk_data.s delete mode 100644 c64/kernal/iec/iec_release_clk_data.s delete mode 100644 c64/kernal/iec/iec_release_clk_pull_data.s diff --git a/bin/basic_generic.rom b/bin/basic_generic.rom index bfdb0f185d5df6108c2a285df214bae784f19fd9..4df641d467182d1f4fd54639442bc34d8e2c16c9 100644 GIT binary patch delta 409 zcmZp0XmHq2$HJ8UbaDfW6Oh_`gk?FSRQl7E_6nE&XRK0aU7;ZOX^|p`PJaqSlUvzZ z8N)Yov(IB>68yAzH3u)VCN|Yetxo>`z_UmmsBx*)GE0TbH6YCoxs8CjCX4a}fo#m= zc~}2>?Mamj%sx!(P8v)QIBB(k=fuXU5Bet+K4|+StW_vkr?B_G!h!!2n0>O=DLnrV za>LHGYZ;hM8eE89%Lt+(d{Wjaa4uOY`hnSJ^6I4`CpiRIH!%CmSlzk{sM_bw%9RXA zW-Q`YI0i9o0mFfS43jVu!H3u)VCN|Yetxo>`z_UmmsBx*)GE0TbH6YCoxs8CjCX4a}fo#m= zc~}2*?Mamj%szkCo-~*saMEf6&xwsyA9PMCe9-VoSgTODPGRqVg#-U5F#DvhQ+WPg zVe{Ix3`{2tF2t;51W}BM789m18N0$HV!ozHQY>l?%*1b61@-m>_V{Y6H)Sja47?Pbz%S z_W8Y1fq%8a-v0^*{!d``VO_28{6EOFkX36Lm`)m8h+oSHq9T0$uTltkvQ+c~v(Kj0 zOGQp{2(WHo_SwF=br(>zkK@{v3`k}y;#W8ZF>L|Efq)MpkqX=YU*K0b4-uQmz;wbV zcU1z=4xrve3>^lXdl{I3UV3ri3(%UC49j*cNKn}IALOnB|2Kp$VgQ=9Apod-gExq9 z1L|7v{{)C>J^2Wi#pM57GLz-FcWPn_nWa`I|9{|FBo7RvrB=%<6*$%ab#LN{6K1rW I9525R0QMNFod5s; delta 389 zcmZp0XmHq2$HHXxd2$1b6Oh_`gvF2%M1N;J%P3{`d8NI=rT-bL6rQb62>!cB5k#AP z2BOLL*bSM2|4tU<2m)zNh@o+w?Z&-Cwl@^M_dk^xEgB7TKq5OWqV90>RzqOkq{1%8F#^ANF_3`{3{(pM#b zoa?u05krRo=UxUTpl4oO_yV+JCBw2^3lbD|{Rg?|!2btRL6Oh_`ghiN{i{;1C4GJtj6oCAP?Al_Q!Jk&zD_r`Yu}Z=9 zp+fNAMT$UrsnyBEtT52}}v!H}kO1Wdw3JujY_u1___w_5pFlc$^sP->f~Ua)H^0 zdEH5a2?8grHt?L-SoJ~wq{0VnpTxBarRx;-{#Q8ge*&{l_Bw^<{}s}oD(qUjmVxP{ z!G-v>Ktl~KMEInxQ{Y^(RP+P0&y>|mMNV=Eux?=XnYp@k7f`j&os}yYkjz-buW$@v z+5(0H0Utyn6}JDsz^`x~A~utO>4eYawFy8wfO;1(bQo~%Wnfac^#8?$FFRRys1c+%pS&Pp?-lt`W2hiCWt4{fBTMd-i oSasp|jAd0zs(tqUXJAO!Jdw|ae_{gH=CiUB85u1n$ICAS0MUz<3;+NC delta 279 zcmZp0XmHq2!N$b!YH}6Z1Sa|Cn|avhG6K1qS93@+gM?3T`+&G&JWh;`&(@w)xxno6 zckM}o2?8grHt?L-SoJ~Yq{0UcpTxBaMe7vy{#Q8ge*&{l#yW-P{}r~ZUCY39(%?eO zT1F5R>JvYC4zEPL&z+Sk8IY7N;#W8Z(X@c!K)?qPh3)?@@GG2$2+d?*I^lD6ZGuAj zQ=oZ^7&;6%_cAakT>Agw!WWv$-koQot{mJR;Bo!#VN7>! z_I=;mci(;Q^FE)?ck3$ZD!gA(=E0cgMT0T)PJkb$9vZgsL&mpA6yl3g*00|>hp^^5 zK+3F=imWkwYC7dM=Rxl+dMPxdL6?;>@RbB#lTv1w;{TfRiuv0SA<;-oG?pp+o$M-m zYb7!U8_;K(ce8IVDH~LaOsboFZ|h+xjG+E$Zw8{`UIxa{M-eX#gPe;wZR==YZ5{Yt zz}A6^g7_Vi9ox~)aHmt-f z6#hdDAC9q3j${EK*hCWrOH4idt@F)*lpw|-E{bsi(dp-V?e?~j*Dl=F{dZ$(q8Z*79-(=6mK6Z~M>%Z%vK&y_-p zPsFxlgbOqlmCo~2`VVueW<8_5Z#J2AoN!G5RmahC-j-fyDBzEz7wvXxZerk!n%?y} zx{~nYjxZ}8rx%1wkyl9}4>>iV7;a)8P*yyT;dY#!6w2_0u#{}(o3&rd)VnQHwsLGV?!-*xRRsvK-OHeJ-q55>6Ih<-QjN3YF z3`^juC=P}3{Q!=H(ebc&4gtF!N(7pXd4uRc*c*Z&pz&>qUDC&Ov}f9T1)ZGt4!8SM zk~^=5J;|^SeHPYx|3Z$i_Y>p{19>LHVpBq*8ca*u8!!L{+o!ti#b2@i#{t zT_gVH5y!x&@;Epyq2>{ohz|vIQKZ!(OEk&y4YX-k(TaiP#XxhZ4k!hTEmMFX-%s!> z^IzPqE4uiZ(kQ$u;O{llD?n?mY7$0WzaqgjTs0&(#84~4%4tm|+1NzMt63|*FYDI_ z@o!=T`tN<9fJ>sdHWrkXPM2JF5|b?Wg{M`e9guABEbRMspqIeABc9e?GvG845YM{a zCdG5Ey`<=K9U%Snt>PKg44~X26YKmvboVnK1F-j8x~kL7*Yt zn)<%IW;2D%bMP89kbWB{V)~ouh2&<^U@Oo|r=cymrEE{e$}BV`AW;2L$t`G09^)NR z=%k}$N6G#sh5_g#XR|DKrv8f~pR=M%&4PWx8$)3v@;}RcX-8Eor~u>l#Kj@?X6L)4 zoS|$*CG)5-4tf(uI9a^H4eQ76cUYJtA2ffxAN)vh6SmV`GOFTxatp}9IDa#@$ll*~ z$!Y;y@X7g%1O-2qJ6rENa*ieH2)O9A;C50uY?Vl(8B}bsF2)zM$G3XyL`7YqH<8dS z5@-}Q9fP!cleC_@#{2SKwu3{LN5G+hr!QnIGnq^zIdx*{ zL(CW!xDT*oB!q~WvSq4@VY{3alyr^V}mz50Q;wA1fBIb3kP8JE! z!)sB!3T)TV(^*{!r@_%0K>5;A5rh(GMBr@vo6I`IHBQ5^lt;eq z02Sjsb~``>*TO;_jf`~$gMl=rAxM~{s^|kZNk(8OxFHg&d;>1oyx#&S*h(_>XdF<` ziR@n8Wb)-u&Hdh#u6|bz<=6>+{hW;I*Y+@^>ENcytV&v0h7G!v)Zi&4B`Dy7)8Z+) zK+!}2OydcxQs7RhVSYz`#anry_HmWMJGAyuh4zf8uMCX=fy8TI*L%Ydc}54WsRa&y z*NCHe#NQQhG)Mdc*ObRP%XCK>8U;_0PH?kQgo{G4Dlwhz-mLL6DX;Q|+@1V|{GXKS zc2le43g|wX6|#Uf8|X~%9F!M?>I=mfo(Lw1sDw%UZ%r#!9Y@A2$ ziyo$${j}K}Ff6YX2xqP`KHP?Wuknvom?Ql_dgRGAe;aI delta 2619 zcmYjTaZnWJ72n&1JMI)%2*M(QpT-2xC>U+T(Kf`IdZu5Zog@v3opBvI@#tXlUqU<6 z-086Pq+*UPor+V_V{_}UPUswyY4u2{NEO+u)I|hQp-FA-@Mxp!t#^As;QIE?nC#r# zzPI0d-}m;t-}}9F)w*i^|DFl}WToXyZ->SY6>rG%jRkHJu-lS{lB@kDfeQJ(OWt>;4=bH-L_0zr zGkWU*+|l=R^veaoBKlt9e10=Jtm8Xj2m$Sg8%sOlLHdh2A!!7c6;u+{MugazV7HPM z0==fAy}F0O@u(GHdY+Z(w8G-GQ>bPNl-a0N<$UPnke|X0w{*k8EVC+E!!oI88quw2 z>a>uM2WPCNbAyVGR%j3hgas>tMI!8Alv>KIZ?Xdwk zMsPz2)y<<-yu(^*GVw>OWxLvRFLCj#YVH0MT}uw)&Il`>qUVHMkylBf2({@#1^kKq zfJ*TKhQCwvq)>$~N2J^u_Vfi`Kf|I54eDw9n>AjuKEKfvM}JJB=_G!C`tSWiHPy$6 z34t_HRi*S^PNY*+0;wuXr)rUrs!!gwMa)I_Vo(i+CGab8s9E(K%bjZq9O>czk^j>t zxEluYv&54!rBIlN0Fd~}yp_(^bZPI`fO$2_VjS}p3l%JCo0oSfw$AQh8L1S0JK`-* zi>N#dYn|?HZLn2ycMlJ?4!bXoDEGtT5^5a=L+p*EPHIFO7g9K0OX zV>BKK)iN7h7LSSn^kiB>2P62`8d2*?_9c_aR7WD{PZd*9afDtnFh*wpc*aon!$%|m z62Hf?gJ#8t@@-{C)Z{+Z207(N3x45jsHR#tlI8d#7n=GZRgD1E#TsLpP5!h{#6_Uq^iQ`oY z%hbC(Wc_)(HUeu_y7Dt)H7(vSMBpJcqXr1b!O9taU~GB0f0h+Ccbz7IOg3WRk)9W1 zQlX?ID|%9%2>dGV8_qyKcY80-(0Zj4Fb}(?wok8tW~B{F<3wI8dfExIW~VW0pdW?& zu6$)EUs31aZVWiXItvWHabeG(g$K=mJt^IL(0RzDv*HycPrRyR!z&MQSCJ`hG<0gn zWHq9dx-n&7)_e?|?@Y)go?N-slOyl(Q}r(XCrr^B^$CE(1`X$EutA$KMxaVN^{*A^ zvH9~(C$tn?b8{{lWw=Zx6Pb~PnrgoD!Lu7TtuI-#wk7+y%^Qg7b**`)N}(=?vg-Ir zrl_(45MZze1%Znv(~`;9x?Q5UlWf?ln8O{)s<6PnlfSY+?2wl#0I|9|6fXa&c5$>K^PKcDD`>c5CidZSdl# za^FCc!G;4Pz=!;cOW*qF!zWCi{ML5Cw75|qS_+l%;7K$Z;_odhT=T7wUd#FL%OS=) zFI3}T0_uynnQ}`ij;|t1AiBadr_(?<6p87a~z;>0bdEIMs!xu*5xV?*^ zvWqD-!_mM{4!mQb89HbYJOcZkiFVXQq?YEVn8)aik_vk;;>tr(}yG zOg(7uS#-4wn|kyR9o2VUPEGNd+T1{X#V6T)R7?rhUvk9^7|>@UG3+v=+U z-j2##LmG#d=UvMSo++Bbl7^pJz*{sdOyQ1)_-Y9M_by&|fK56!Phn~vzpG>R0p6G7 c`R})|SA8PabrT_o{ diff --git a/bin/kernal_mega65.rom b/bin/kernal_mega65.rom index 1c091b9312a1d3e614fc59d2590db77dced52bc4..939e42e961388c56418393d53e52372224502160 100644 GIT binary patch delta 2669 zcmYjT4^R~672n$hjyokRgg=W4d{(W8f9h$RiixS1G2_*Kl~$XIsZF<~jYo^kbUGT+ z8FOe@a$&?Au4y=o0cN{Ica&mhd9@n==V!FfZ z_rCXiynBCs@AtN{sItg?ozgG!i*B^cj}DCSL)6_=|4i|2&Gr|6{=M~^*Bdu%=DQPq zlrkB04xAlikz)++pWyQnSFRimBdmB1l3rFyLi#Xnno7LKInjZbn?gx`*s`t^d^5(E zC$7`n;Xg=Ro%;Qt3xS3xs*JVAVln<+da%{8pK8E=W0o6+G2-VQ4^sV^M)*5;jgnwu-JNVPuMa+S4 zEivLb7_QY0dj1?H4jU9nSI-Q+w%K?J+qS#ZAb|Tt!?L+o~BUNOe%dpDJ>K zl@7C>ZiSon^eSA))1fq9?UHv_b-A)?kCS3|-#et+%pXq9)V`-+_qeB)KbgFq3`F^^ z^vmY_s=4HP`7j^ z#JM0IXW6!9yn4b)Pnykm+qe)rp#@Y6Gw8z@nuy^yC%6k$|Em6kt-4y>>BzTfJsDJ8 zr#ta{r#*vGBX_;R|0x}P{HDG?$&wp2H=7xjz`H`&AHYQs91Nf{0r3(7WKFsV^nTdw zLk9zHKd1o0_gw6JgWN`YrrbBtk%+tZtVbrfE2?-oE_R@Q2Grd@kTu}`JE{!;Rz?G& zt)NIAN4Hel&}v@#auZ@IF!sGi)J?SNI^! z*I0Ba>MfS^&FA~QNT%?s0msUD5$&3Wvu5l0U{77pdcMD>uHSlfKziUCa-q6@xQO5I zsU4AAfsCOz#8=VUUP&yvS0%toARvtZk{|M3CgWMPn+;!g8HIO@^|b5hOz1Ov z2?<*JZ%AMbdpQXd(Ou85-ejBBn_#27`D`KoYT9otcvF}_d!pdB-9>Q?EOeEQF1TGw zjIzKL5Fl*@V_g>^?!rhrfs2FA`gT3!X=6mZXx~SQm+Yma=&>Ipd#dWi3$h-P1}s8h z3uFY08E2ogpp5^fWTfO;x$3vmp4q!?2=t@^{tpmm4XL7dyEt;?=4S_+>D2 zSv6Do5KjgidMh2}Gcv4C12fJyC+>RWsL_llChLIoAf@dFX^Ji1 zK%tMq;HfF1y9eE`dPC2~15AeSV5g&DEx0Q^8<(YNSPGzT)uV#DuogVPFN9#DL-CE2 z{;doO*u-zMEO&8Xm8bd=E868W6&f#P8J3{1PlC=!n-aU_&s$$7y(!Wr^zRvz8$~yG zd)5jIg8Z0U7*`4lr$XYWIVvygrNgNAA>6^g3$@imTiX5@m0LhFE=`MdKu<9MnTudM zJNgQZjvT?DmIxn-q{JxrQzHZ5&af~kTw5VvBAI58!B{vKomC#(y=+k#fE&b<(F&*I ztffg5N?4|>(ngkD#%lv6@sylUh%Wfdta!;wN|Yi1D_; zFG@vEHVLGIL<`5vCZJ)nS0g0~MJhEDCy+EwM};I< zCnTAl$^7vvDt}a{nSuP=pBB;p7OUt~AQALh1ZF9WRyYx~F2V$t;)fCQ?@f-JxcHPc ze$T9Crm%$Vr9X#%F>_9JFFKhL_TxIemRwjN5Vcv-P;Ub&Rrvc$vR40JZHqW3J`iIZ zQNf6}PdGFcp4UnHVY27iJEZieySs#6m;0TpYg3{<&J$2Kv05L@+_<>plhHl7eHxlaYNi^Fde-a5``Df zh_@2s^-*fPb&_5jC=3{2c$NmdX;O+fz?8ubc;`kQ)|}v%8-t-ojLd(RJeo$w<{-_q`o#i8VDP6tzA`^!O|~DO4B{1Y*rMRmeoXo? zrQrXJ<3=P%u?lpCn>RaE&J3SSK4xe(TmIbblb1hH}M J%f};M{SQ*&5#0a) delta 2665 zcmY*be^3 z5C&6TG*`x5BkiLEIRp5}oKT=&zkW6*CeBb3gp$k$ zwnJ8@B}uMmOv>489k$NWO5$ffhfi$0OWR8>u9CP$z2g*EkUj6NbBt3cXI{*8Qhx1F z=O4Nz9L|2VwleN4?`oi%!*0}kv$3y8o+C>h)GgM4N%mCq&pBApvzjrYL2|voyF96I z5xzU6S-mH!vGzp$?AMiILi0GyFULwWx3MEecG3n4y{w{dB6bFwqeg_;IHAhw5`Bq8 z0=(a1O{+m`R812^p-nA9{taRMZc+ zbDB=m(%|q(+G7)rrez!2RqUDeUJ%|*+e*_xVIXa%E-28(itP1Mu93c<+D+j92(AvG z$~f8?6RM1PI-Ss9EGR#zI;m?H6=U}&=vHC~cZ7&^o_#2$OM*g+xmrAm;3f4#jHD|V zUgz0KaSQ%5LP(&~ET%G0j&!`tGZaECxI;BIq|WkoAnHQQ=)^ zU%RO^tvL{!+cSp-1?8=C4-rpJ^qM zCbjw)nZZ;D@E}ZPtgZ!2xnKLA)|ci8#u2AQge%X+edV&Lqx+^0DGYu+uBr_4>gAyyKfEw+OLhs_ov1*;DaD`Mv_<6p!|3e$QxJ#6k-toSp%i}Xwy5id!flr zyLJ4qaLANZj4rF5=e-AL4WoHrkoPd{BXTPGUJUol>F+$U4&6|NwoGnC&)i@OM@k8l zNXbJYjOxp4u`NO2?+4vxd@Es3{o`BoN5|>YZ_#It(*&)Hx>^*r(Yv1>xCEZ-qJ0!D z54&3WOm+sxBhn?uep>2r9H1qy<1jr`-y&U93{nr+Vy7XesX-7kMk5nBh=M{ONTMF5)&*x>BwV+Edn zfv``fO!#PJ%tt9-f(~WkQP$1ixTjy!`iAQ1(X_U5xIR+7jd=|HJNTe^hWJuE0C-=a z=K&E)R_#kC<^%&jA~}={4brdV6y;UKrew(6!GJWVeBO18_L=1!=&J>^GKPYJBWK-< z6)}$3IytwQ09Vvc#^cIzKN~~-S&+fMj`kKVcJ?xhN++C5%Mqy=QknqBxhV~F5U~ZK zmCY`Ea7IA6xsX-u7+T#Vsc|{m+a$4)a8-47y6Q51Dg-+HsT~y1xA+Ezb`QR+3Jb zG^Zew?xm82f<-!&NY~{I>4t2Esu<>PK-){!eIdtH#H=sC<11DUoke{K7a_mS$1g#}o!XEv&XY%O?1Udx4L__$oGZ_T~nKBbG8g zL+H<8LCJqI^YyrNlMhR`O7At&T-6vqPXv4Z&$IU?|KL0%qP~}@o7_1gGZ1v)V1Dri zXlC{FM{m=o>*+IZ(@FfKL7I*1<6K*{UaOf`Ua;{Ms8#F>XxPxe_!uCQ9#%@5cQO=SvE-{rJ*92jt4@%4B0G=a8(9lAufOm0{q4LzczeATC7R5X{CHMfe$61BWw@jby1Wyl35mUW^souok X?ikLP!=`|9LZk>Z-`L%6C%*nKwI&1# diff --git a/bin/kernal_testing.rom b/bin/kernal_testing.rom index 1947d6809187aaecf6f2e29e4b1c1de7e7bedd3e..9b10448d4dc2d30ee771615e7deae446dc85d910 100644 GIT binary patch delta 2976 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 delta 3016 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 delta 2580 zcmYjT4^R}>8QsnINAwKO}Qk`($r~2Ydd|_CY~LfF{Yi8 zblSs|#TzR2=#mylt;d#iSfVU zX5aVT_wDa{-~Vfg_o zQH0>IOhx=^Zlp{7YDAP9TBvZJDg0cTZJ7s;eSPhSIke)71P22^GeV5xFJ@LZq5P| zegB470KzNT{E(`nr3rLEM;lYX5iK(10-+4^miwnJe@TX1;LXUn-97H!s!b%sUV=~D ze7CWey17lH`$BMx0_6**<%W(i3N4xzi~Ur{I5dUMoD|;3d)1S<=;L$spx&2@zL?UJKLO!|s2ku;xN<%)zQY zE6r-_{AtlLSR4hQL6dGbg_X2cGL%-A`z>R|QPtYc{i-X`gI}KXvezr~D?{x0p|qBl z1<)RltNBv|^1zwzXU2lMmg8lUBzRosXM(46el|ELJXcgf(^28|q6bTeOKMXskv7iF zzePB7Bob-EiAnUcsK8iXT(~0AJu>tipAE8R1lLWVYbo?(QrKZFr7y;Xz1Fgwhjl-7 z@`z^be-C|>K7)H=L^{CU7V{+myjP44>!Jf*(lBJQbR5I$06Q*z4Zk0g^Q*|A8TjT`UWge0gra+!KnF0CR&M);#Nx1+&F?>L4ZiOCg0fok5mUXx&WUncz0s5G_UP z_25ogA!;r{NjwlYe|E<1fAhS{mrsMoYnt zo%ET;cIk*_kp|#4J{qE@=pZ&5mxAbrhPNS-J7aing34n#MEHQo+iA|bi8pGt|bjPzk~~2i=hKC(3epZjmcD2 zQ8WgMKw-k*F{unClZ-PmGp1fCE3GT0Ou*!1xZX z*WJ@h+&%bf*z4ZPJZ!ef4kkgg7Nqx8fP?scbB7)OWw)U{@){0#s?WfWF3AYQX(5;wM zv-pBhnbdxyPO>R67uG3NBla`{KO%K#1rS`}dy5=pTaytLVq6fHPHUI?enBgC^(nL~ zipo+(hv;0i+_M#Y;qK*RI{~(sGrlXX%@46j6uJRI_~qHbeevGGpU1UcIGI#uq*jQ2 z8r&yS#)ZMfHwo21!NV@6svFWn>9oAqo>!wsDq|Rh9 z0p%WShHzfLs{|Rm%nq8|?>5y7OL89SPjkfqpm)Vv6nDfj=PRy+_+}053I@qg;v(knlZE&Iz=<2 zft;;%sC0BOPNWai0_mX-RXbGES^h&*6O~Q;S#oDw73jtcgju}@W>u@;;2v7`%OvFB zV+p(<0bjHka~DFpM!&lOp9x;B+PXP)XjEgcc}h6PeVyIS&&W6VS(sx^OYfjn7nYPf z_LuP@)4RX7?V{(^i&V=Zbu`q8UK6gB7IXL6U(I*p4HKL{C062RgwnDn3bxySEF<768{e2N|Wv29N!nc>KdPz*fxXi@sUQDv7 z(hQk74}j0}qx}0Ysgxp>!Jj9k^X9BA%}T3klSZmy4j5$HVoHH(mqxf9u!H{@g1Y1d zdhUi$R_<84IR!mh5um-UpD?I4^(I~vN8AKnGQl5d{Abg9Bun!64Jp9V;rba zNC%;zylB-H9oOpk!8yD(fg@4eHH~W~@aL0wOve}FSkW<)!rOIBZr~rMg`x7&<%@MZ iJyYjk>Q*v!s~9|T6+fB4wh4b&qzFab(yx5EHT8exu;wNJ diff --git a/c64/kernal/iec/iec_pull_atn_clk_release_data.s b/c64/kernal/iec/iec_pull_atn_clk_release_data.s deleted file mode 100644 index 1b8ba0d9..00000000 --- a/c64/kernal/iec/iec_pull_atn_clk_release_data.s +++ /dev/null @@ -1,22 +0,0 @@ - - -#if CONFIG_IEC - - -iec_pull_atn_clk_release_data: - - // Pulled CLK = DATA considered invalid; for extra robustness on non-emulated - // hardware give some lines few more cycles to stabilize; see page 10 of - // http://www.zimmers.net/anonftp/pub/cbm/programming/serial-bus.pdf - - lda CIA2_PRA - ora #BIT_CIA2_PRA_ATN_OUT // pull - sta CIA2_PRA - ora #BIT_CIA2_PRA_CLK_OUT // pull - sta CIA2_PRA - and #$FF - BIT_CIA2_PRA_DAT_OUT // release - sta CIA2_PRA - rts - - -#endif // CONFIG_IEC diff --git a/c64/kernal/iec/iec_pull_clk_release_data.s b/c64/kernal/iec/iec_pull_clk_release_data.s deleted file mode 100644 index 18ffda0a..00000000 --- a/c64/kernal/iec/iec_pull_clk_release_data.s +++ /dev/null @@ -1,19 +0,0 @@ - - -#if CONFIG_IEC - - -iec_pull_clk_release_data: - - // Pulled CLK = DATA considered invalid; for extra robustness on non-emulated - // hardware give some lines few more cycles to stabilize; see page 10 of - // http://www.zimmers.net/anonftp/pub/cbm/programming/serial-bus.pdf - - lda CIA2_PRA - ora #BIT_CIA2_PRA_CLK_OUT // pull - sta CIA2_PRA - and #$FF - BIT_CIA2_PRA_DAT_OUT // release - sta CIA2_PRA - rts - -#endif // CONFIG_IEC diff --git a/c64/kernal/iec/iec_pull_clk_release_data_oneshot.s b/c64/kernal/iec/iec_pull_clk_release_data_oneshot.s deleted file mode 100644 index f3d7696b..00000000 --- a/c64/kernal/iec/iec_pull_clk_release_data_oneshot.s +++ /dev/null @@ -1,15 +0,0 @@ - - -#if CONFIG_IEC - - -iec_pull_clk_release_data_oneshot: - - lda CIA2_PRA - ora #BIT_CIA2_PRA_CLK_OUT // pull - and #$FF - BIT_CIA2_PRA_DAT_OUT // release - sta CIA2_PRA - rts - - -#endif // CONFIG_IEC diff --git a/c64/kernal/iec/iec_pull_data_release_atn_clk.s b/c64/kernal/iec/iec_pull_data_release_atn_clk.s deleted file mode 100644 index 58d3ca1f..00000000 --- a/c64/kernal/iec/iec_pull_data_release_atn_clk.s +++ /dev/null @@ -1,22 +0,0 @@ - - -#if CONFIG_IEC - - -iec_pull_data_release_atn_clk: - - // Released CLK = DATA considered valid; for extra robustness on non-emulated - // hardware give some lines few more cycles to stabilize; see page 10 of - // http://www.zimmers.net/anonftp/pub/cbm/programming/serial-bus.pdf - - lda CIA2_PRA - ora #BIT_CIA2_PRA_DAT_OUT // pull - sta CIA2_PRA - and #$FF - BIT_CIA2_PRA_CLK_OUT // release - sta CIA2_PRA - and #$FF - BIT_CIA2_PRA_ATN_OUT // release - sta CIA2_PRA - rts - - -#endif // CONFIG_IEC diff --git a/c64/kernal/iec/iec_pull_release.s b/c64/kernal/iec/iec_pull_release.s new file mode 100644 index 00000000..8be0e851 --- /dev/null +++ b/c64/kernal/iec/iec_pull_release.s @@ -0,0 +1,85 @@ + +// +// Helper IEC routines to pull/release certain lines +// +// Order of operation is set for extra robustness, on non-emulated hardware +// lines might need few cycles to stabilize (released CLK = DATA considered valid), +// see page 10 of http://www.zimmers.net/anonftp/pub/cbm/programming/serial-bus.pdf +// + + + +#if CONFIG_IEC + + +iec_pull_atn_clk_release_data: + + lda CIA2_PRA + ora #BIT_CIA2_PRA_ATN_OUT // pull + sta CIA2_PRA + + // FALLTROUGH + +iec_pull_clk_release_data: + + lda CIA2_PRA + ora #BIT_CIA2_PRA_CLK_OUT // pull + sta CIA2_PRA +!: + and #$FF - BIT_CIA2_PRA_DAT_OUT // release + bne iec_pull_release_end // branch always + +iec_pull_clk_release_data_oneshot: + + lda CIA2_PRA + ora #BIT_CIA2_PRA_CLK_OUT // pull + bne !- // branch always + +iec_release_atn_clk_data: + + lda CIA2_PRA + and #$FF - BIT_CIA2_PRA_ATN_OUT // release + sta CIA2_PRA + + // FALLTROUGH + +iec_release_clk_data: + + lda CIA2_PRA + and #$FF - BIT_CIA2_PRA_DAT_OUT // release + sta CIA2_PRA + and #$FF - BIT_CIA2_PRA_CLK_OUT // release + jmp iec_pull_release_end + +iec_release_clk_pull_data: + + lda CIA2_PRA + ora #BIT_CIA2_PRA_DAT_OUT // pull + sta CIA2_PRA + and #$FF - BIT_CIA2_PRA_CLK_OUT // release + bne iec_pull_release_end // branch always + +iec_pull_data_release_atn_clk: + + lda CIA2_PRA + ora #BIT_CIA2_PRA_DAT_OUT // pull + sta CIA2_PRA + and #$FF - BIT_CIA2_PRA_CLK_OUT // release + sta CIA2_PRA + + // FALLTROUGH + +iec_release_atn: + + lda CIA2_PRA + and #$FF - BIT_CIA2_PRA_ATN_OUT // release + + // FALLTROUGH + +iec_pull_release_end: + + sta CIA2_PRA + rts + + +#endif // CONFIG_IEC diff --git a/c64/kernal/iec/iec_release_atn.s b/c64/kernal/iec/iec_release_atn.s deleted file mode 100644 index c9d49478..00000000 --- a/c64/kernal/iec/iec_release_atn.s +++ /dev/null @@ -1,14 +0,0 @@ - - -#if CONFIG_IEC - - -iec_release_atn: - - lda CIA2_PRA - and #$FF - BIT_CIA2_PRA_ATN_OUT // release - sta CIA2_PRA - rts - - -#endif // CONFIG_IEC diff --git a/c64/kernal/iec/iec_release_atn_clk_data.s b/c64/kernal/iec/iec_release_atn_clk_data.s deleted file mode 100644 index b572dfc3..00000000 --- a/c64/kernal/iec/iec_release_atn_clk_data.s +++ /dev/null @@ -1,22 +0,0 @@ - - -#if CONFIG_IEC - - -iec_release_atn_clk_data: - - // Released CLK = DATA considered valid; for extra robustness on non-emulated - // hardware give some lines few more cycles to stabilize; see page 10 of - // http://www.zimmers.net/anonftp/pub/cbm/programming/serial-bus.pdf - - lda CIA2_PRA - and #$FF - BIT_CIA2_PRA_ATN_OUT // release - sta CIA2_PRA - and #$FF - BIT_CIA2_PRA_DAT_OUT // release - sta CIA2_PRA - and #$FF - BIT_CIA2_PRA_CLK_OUT // release - sta CIA2_PRA - rts - - -#endif // CONFIG_IEC diff --git a/c64/kernal/iec/iec_release_clk_data.s b/c64/kernal/iec/iec_release_clk_data.s deleted file mode 100644 index 35deb964..00000000 --- a/c64/kernal/iec/iec_release_clk_data.s +++ /dev/null @@ -1,20 +0,0 @@ - - -#if CONFIG_IEC - - -iec_release_clk_data: - - // Released CLK = DATA considered valid; for extra robustness on non-emulated - // hardware give some lines few more cycles to stabilize; see page 10 of - // http://www.zimmers.net/anonftp/pub/cbm/programming/serial-bus.pdf - - lda CIA2_PRA - and #$FF - BIT_CIA2_PRA_DAT_OUT // release - sta CIA2_PRA - and #$FF - BIT_CIA2_PRA_CLK_OUT // release - sta CIA2_PRA - rts - - -#endif // CONFIG_IEC diff --git a/c64/kernal/iec/iec_release_clk_pull_data.s b/c64/kernal/iec/iec_release_clk_pull_data.s deleted file mode 100644 index ad98c987..00000000 --- a/c64/kernal/iec/iec_release_clk_pull_data.s +++ /dev/null @@ -1,20 +0,0 @@ - - -#if CONFIG_IEC - - -iec_release_clk_pull_data: - - // Released CLK = DATA considered valid; for extra robustness on non-emulated - // hardware give some lines few more cycles to stabilize; see page 10 of - // http://www.zimmers.net/anonftp/pub/cbm/programming/serial-bus.pdf - - lda CIA2_PRA - ora #BIT_CIA2_PRA_DAT_OUT // pull - sta CIA2_PRA - and #$FF - BIT_CIA2_PRA_CLK_OUT // release - sta CIA2_PRA - rts - - -#endif // CONFIG_IEC