From 899b2e748f3147b4f32c5000fbd54eee82203bdd Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Fri, 6 Dec 2019 20:18:43 +0100 Subject: [PATCH] JiffyDOS NTSC fixes and screen blanking for transfer speedup --- CONFIG.md | 4 ++++ 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 c64/,,config_generic.s | 1 + c64/,,config_mega65.s | 1 + c64/,,config_testing.s | 1 + c64/,,config_ultimate64.s | 1 + c64/kernal/iec/iec_wait1ms.s | 2 ++ c64/kernal/iec_fast/load_jiffydos.s | 13 ++++++++----- 15 files changed, 18 insertions(+), 5 deletions(-) diff --git a/CONFIG.md b/CONFIG.md index 7b75bcd1..3df98c2d 100644 --- a/CONFIG.md +++ b/CONFIG.md @@ -103,6 +103,10 @@ Adds support for the IEEC bus - for serial printers, disk drives, etc. Needs over 1000 bytes in KERNAL segment. If unsure - enable. +### `CONFIG_IEC_BLANK_SCREEN` + +Causes screen blanking during some IEC operations (currently only JiffyDOS file loading) to increase the data transfer performance. + ### `CONFIG_IEC_JIFFYDOS` Adds support for JiffyDOS fast protocol to the IEC bus. diff --git a/bin/basic_generic.rom b/bin/basic_generic.rom index ebdb04d894f151bb2c91f2c443d7aee4f9e8c72f..b05583c6af43dc061fc9a55c7a73f2b4df5f570a 100644 GIT binary patch delta 169 zcmZp0XmFU|q50+QN_&M%|1(x8%wMbU{_P?~AidP;I{!1h+^k80a3QRZ9tWqkMhnGWHg-|FJBK5d?2p?0EYiUvH$=8 diff --git a/bin/basic_mega65.rom b/bin/basic_mega65.rom index fdf8a5e2135abc1073ba649b979f3ed06ec4c43a..402d2cb264d9ed5fc1ca5fd55ce4a15f2eec5f48 100644 GIT binary patch delta 131 zcmZp0XmHqYh=oyo^I?`>jFRdfR@y6E`k%2%Vg6bLoezr?LA3e@1@+C>*yb`a>3o=6 z$`J%qe1gN6kx_l}A5L8$sl{alBvZLeffBR1)EN2EOqqOvTLLKclKU3Ogw02JX9_Z! OO^%nZ2kN>nuLuC<2QY&G delta 131 zcmZp0XmHqYh=nm=^I?`>jFJH#R@y6E`k%2%Vg6c$pWhZKg6Mz`3IUt1vCU;<`uS~g zDMt`c@d*xNM#g~2e>io4q!yPIkWA$=1xn23Qe)&tGiCAxZV8~&OYU1B6E+{^ohis@ OIyqjx9;oZSydnTFmo>To diff --git a/bin/basic_testing.rom b/bin/basic_testing.rom index fee95438de1c75f133e367dfb52797f163fc1edd..9159e416f16f58b681e068e814b29acad1a2da04 100644 GIT binary patch delta 83 zcmZp0XmHrz$HL~)j$nAidP;_5NxtbWgsFjoK`mg diff --git a/bin/kernal_generic.rom b/bin/kernal_generic.rom index c5e7be09c7d1e6eed87a2cdcd68d709468b981ae..16b3cd5e362d5211ba5ca01ecb09687fde7599ec 100644 GIT binary patch delta 2302 zcmZ8ieNa@_6@MSVvLNtQ(Or;*YXjo~nk%iAmwgV;$?7`JM6qKnDF+pYv3)E-JZ9kAJc!% zJ@@O}bI$K~&fT+O&x-J0`K(1$4x>dBy&NXJ{BX(QS68omwTfXx5kF9vg8|F)Y;{_j z{2;xTrupz*@>N<5TSn~Zj@qB;=(yItgXIiZy<9rW>}8X@I6@e#KM14MB`!dgN%9A*P|$;g^!}s ziLe)4NXX~QOVnuxU1-f18XgVrbDxtN%U94R$eNro`TZmc5jo?-X~#7sDYYser7Y!{ z>P&~=#w7ZTG?*N=bn0cEwr5lCYihfN&S#&h=8%^wu#)Shid7$I-@t-P9;M6uNi;qd zFkM@!!TD>IS`PcPJ4p*Vl4_~n^mwVJntit2E44OU`obeboOySJ2OUY8i9R6nGjFg~ z63MhRY|zmwhI4zP;cpZc*+;_t2x5Icwe(ooG?ipkz99u|Xih}FIW?ls6Mp96t?wq+ z6KV`@^k}JT%9p82fJgm2&DQg-TWL-I&i}0l2wXscd66J0ke(MBE)ab&#O+L zuLtBFsaw7$-9=7v%k1E)6PJd~I$vpS#My)Xf`CI*5WbgGazLO}{do5vTCaihXL*E4 zaURq6_5`WOolVx|uF4BpRI}iz|DKW&JQDvZ?Z zZgZc*YjvM1=%ZPl_Kh66mBibqyA3Uj;mvx=w`FmZHW_021RlRj!Hx}|i2Iq&%hYo5 z_g$TrZ7N#>sLhFBAH_YIzsxwA?NN2PRmfHtnvSfR!b+{;{+dNc7E~{(nq4{Hn?t@3 zs>{~uayt+Q0A344O7Vf%f8eH5?BVfp;em4r$*Vsn$(i=2Lx~vB-*J%494_L-N5tzELf*3 z)Q$a*g_C%3)VT1D(Vt-7cuqGXd@Pm?kB1%biV^0i>7~WMM@Wa=0HNF@HAD5LVk&<& zgz_i7jOdT8^9k^ z2Azn&MvKBrCq&OBpU)SX;EgL!cYReW* zZg1Jab?x`b=;~C2?1&A>{@-v`NI|1r;oX-`&zQmHZiY_TZ32_dZ_$u;=@0o%)?}=~ zgnT=*Y>74ErdC&g^K)ogzuN`<-VMc-9@vVkkpOcTsV{`dKn9FMDup7H9!S05@gee~ zS#4HGj#()G!proD1AaAQ;Eb9+5Ws6liFH=Sxc3OB=wzw&80#cG*4ZG3t>0sp62Uez z7usERs@>JS(S|F?LR-`8>$S7Jl*fCuv-edY_=r~Bd4!x1`Jr?l?-~Rxc)#-@E%bC< z?C~`9bX|;jnqpm@57h|to`kKCT}TQFHnWGwFAE$SH^%FMpp6;GqQQvXF{l|ZsV2FV z@+eH@;94md&H&2d&Qy^?CxA0`K+Gra1(Fbyka<_toks29b+kTJksn2X)#UBMO5!NY zS-4IAH@a@`Ocgj?-^kr*O&x@~hqH39Jn!7K+LS_FXPc3g3{9^oS_hv+A9y1-<9*|z z{IdIr8kb|;9W)C$FNF##+4tceW6elSliBiT5-Xy=O~|LbNX4IMA*4#DfRXt5L_O>Z z)E-y_7%7ausD*jp5yrp!$l8rfH44=0fS(&jC(z(T;D_MAf}#&O_{xtKm9cBcl_DoM zrjends(d>IvX@7Ir7#K;AeKRt+<8xQr4j&EYl}VbWAzpnF9HsggOdgYX_kBe*d?FGAZ{Ak4MRIE z{3YOoBbZNuej_jkJgqD#$VyeWQRDBEw@U2!yW%NiDg+ZW90wp{G}VR@o1=dimnATL zfqylK4^86VYIt7+bA!+p@!lx*#PDqm+cjKDu9w(L>ovSp+wS1ESMb~C@i=V^4-Mn2 Se*e<|BQnepcTG)PfNgvbu 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 diff --git a/bin/kernal_testing.rom b/bin/kernal_testing.rom index 316e81590c0694e574be99f131187b052096511c..a83f643a2faf3c62210e13a8d67b1ae535f8ec53 100644 GIT binary patch delta 2373 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 Qk;w22vwY^se~i!m3s4ip4*&oF diff --git a/bin/kernal_ultimate64.rom b/bin/kernal_ultimate64.rom index 97670f04b4222293176aeeef0c36b98a38994ea3..5792dd5e3aa0390c93d101346a23483792a24398 100644 GIT binary patch delta 2670 zcmZ8j4@?wS8lRn6*j)q}6lIqRJS(IuRS&QJp?^Gy_UhWaRNGvPUK4M6_1d+kN#o@# zF*(^9hfvbx7KgTA)vUt~VaS1N%!!LfK?Ta9v}5%UBc8T*fO2)`Eg(Bc*}ZRe^>Vq% zX6Ad}d*Aoo_x*m~_tsVFD)oQEqzn_ukA?}FnHGkahk0vPzP4%QDvIJbd_$(H#Eg6M zl+-5aM$!;5*5S>HLvEMZ55A(u*4pYf`(u!`7HHA?(+rHif}QHKasA^YMg#NT$&7 zi2oYOjQGC;Ro0mQip(XBa|!JhUQd2*XXgYGRsT_RBI8euNJHWmoeXA58O6X61(Y|3) zj`0ohZ=R$8?~ZUBBnZ_^dKg@xSxR}Iz5u5R%T2WzlqLy^L3g<+=5+4B`-N+!tc}mB zElA;yqfG=4jg?6TJ4P98|_{nJl`lK=;8~82&5s#0dyJO-OG$0h2 zchP`qmAQZ}2n%P-FB!cyu~1OW)^bSKGCed%*N?J6PuGZ^u6qg9E%}|q(G}?;@3W#Q zRl1b;qH|F%b>{MuL1$E%1dBsz+)VyHZUlhGbykS^Oaub1(k%A?{)#W^9Fjs%PoI)1 zR9JEr{xu}^lE1fnLpgP79FeBQ=WlDLCw$xtlitUE*D%8qy|PVu0U>Vah& z!+2NNy2s_A_jKa-XC)6Y%4t>(i-3ymjQ<)dBeF}OVfZz8p6e_xcd^K5FwjOIK%5mD zAQw`5kX9Hu#z`Jd{8dXMO=xi|#3(fc4X{n#WBg$_Te^vwVtxjP!}y1=nAE|z?wk%O zOuzC-P||Z&IGdcPSpzzOfDdVA-If>&@zt3^eEo5iqt1aIgwW<`c;jxNkX`i(L}gbY zDEP9o@PZUNq*}!^T5EOkpK&_QqqTS!k?Mh|P`UJ&bSy66L#l9?%`Zs}1GoS;SLg86 zk(A27P8wZ~;a1{oLN83>lNy9w3&&};a5Oo%z&MW*z|rSf*Lf`JcCwT)2Bp}OgUgxeD<;P1BcfZ7gH+Z3!V64 zxSzd?nuU&x++;loxK;Q*W7W!&S{1sfdKes11Mku#{mK5(AVU~DqU-qj_yKh=s)W)7 znU4Q6$x4_U{9lt}cT&qw>C*R-k`1b>~A%S4`<1J&mtTG}o2+`mzqQnr0Xd#)u7~%J-UXQL198 zv;Ij7HDTLSC94*v_p>*;V#JK%_GFn{%J*0xuK(QD6h%rvvLq zQ+E%^JJKUBc7IAsy#t@n{xve=7P!o9^H0M45;Q@`YkorR$+KT&78^{u4hF)bMFk}T zs*_|nMA}QE)DfoxE>0(uY?AmMbY_vNM#_D5PE3aHxI*+cWnt|%-P9dUcx!Q`ff8;n z&fOxXL3VVyn#<7T8J(}d+QU$_-NZ|Ew~>r97y7!}tcsxoAfHn4;t15Aw*Z{6^C}fh zYGCKd6iGro!kbz4SI^CeF_~m!QMripl>rWs>Oe z3}%F{vTW9ZuyiVztwba-xK#-QD@6Vjc_6P9)U2h3KL{Dte8YTUt+n55QyYf}1Ahg~ zHcXR{u-*2Kp-(t(EBy6mGi6YFo@8_-1YcA=gRX@{lVXw@2!mEeB;V`2&z}s{h^fbV z+|Zw3&4W-sdwWMb3fA1OXvKPifFR1^J!~1#>s4@P7p>!c;6qmx^gy-{YDe;R$zfL|E-pJcx zZyUu0QB3aRW0UyPIsB%Iw-Zc{0T1!V6F6%OSE)ESg7<`luDm7rt5y80y0?(oTg2>L a&fty+{`Y;HGU6Q;DUPCY=6?8z8UGLTm?*0N delta 2618 zcmZ8i4^R}>8QVgy@El>}h%uNJi;1R;N%YLTYMW^@+IG^l=_F@IJIQ3) z++^ATQ+^ZY^tjdd8`ErdIp|;ixtn6~zLhu?5ry_8ka!fXDUQMLV6| z+`RqX_rCAF@89qHD$6U&BY)@Y<5Z5Iaf)t_kREP0zjW2cmsYK27(u|-6{beYzB5Oi z+ah1j=%MCD{2KX}`I)(nWa!$F8v+Ur;9-)RQS_s>Bzjki?q*|xnu!7wH;rc85ksgj z9^sHn-wOE839`Uyn^${ae(vGydam-LhJ{)GykA>&;CCBd^z9a2U$f)&ji!wwBbqh_ zzX$Ns5{cyG1PNvoXSDA9OVwxOi;T4!>XY&r{e`V*?<}z=DYvQ|Zb~9`1~_|0BRvX( z{+Nh-iIyiKSAmr?6#1JX%$jony+>ZnT(SMbDMYl$0d#mK;z!44s7MqoyJPrYVFChpJAk?YVarj`;RxXBg0bEE{S{kw)Ntvi7{mPfpUhg)%hkR+t z*>EToMymJ;s!!pbA)jn=^E6i~Mctah1eXSw>(%_!V{4=Op*pIV#5PDGelUb?4@sL* zHz~Hh!9rGRtc9#SK~7koH!F;InP^sL1%zw4?iz&aYsI98Yd{azomti`Wyh@Ps(fAy zIgy>p7iPcc)J%{$aq;oy+>AN~8V^&3n(~#Q1PM2IPVl)c0S*U}wmXpis*f8zvPw~V zr#hEZ*>V^B`<~oEyTk9Zu`IP14Gf~(6gg!pWph&}hiwPNQ-S)}XzbPYGeBzhqip`DsB)*D`%VR+@vq&Vn>f3QQ#fKfZt|uS~b4 z)9IPibV9p*u7a`hPE=G<264GA_P~8WToZ3#N75Gx9%+&*q-}z8XJs9`^BjJAS`I*= zZHVJH;&L4|D_Kqf6U`$xP;(jTo%HIj*?9L&KhrNLjK7}M@2gZNd6HcThP11qlFUhvY*Bg&(F!1z)hGFb+9{tP1*7Rv)@LiT*T+92%;J2l{EF zC)7yo)zR%Nx|qhFQ*R6U#uyGKA$AR5(NU)WZ$H`KgQS;VQ?YLnnNxa#I6Oq*HYdJ2 ziGQpya)-*62~Y#N(YYy5cM6OV=MV1B+Qd8nScs?hMyt*k_V{!|z??@TQZ`&z%saZ& z1o||IqLYY@z=>p07!L>;hg064dxEa;LS4{aZ3uet`FIz98%4?4?7U1p0=SiYmA!gZ zI9Y>k>j*W|=$kBcJbr&B#!(JWYrqo&hJkw61EhTZLeKxHp%%7Az!?nulCa_hxaAh7`$~X z)YxVRTg0S%I;~Jgc=}*TZUFD{*x3*W1$6iVS_aTqzgZg|Mm5?Fe$WHdAV@=95D7 zdsG~c{(y=T(eKcfOYJm&Z@aSCzn_&muIytYr3&XK!ou&)3&X64S-|DeN9dAv@~;a^ zOctF78#2DAu&i72(j1S(23a(B!0Uk_=mn%^NN+)xm6%$j-s4kJCVU^L6cDYq2#BaU zKwev1ZE}#_#d+JLU+UmJ6Ju3QNeglv1RneZgEyzedZl8P&Zrmbg&=dOm1dv#tn*T< zQ#F-AtF%*Gm;lTL3w2=3saBJ6Ge1XRXa;0>Lyr69_DLyiRIvq0ya<4!qc7A-7eU)L z%1Dkv=Qb#4-neS)zx|dznLI9XJjdm*|lKWcq8F{&zBAT;rOlqu@n@E-!~bp(=zM2jy%0qK+H9 zKICqo=cYq9qPG~H1B&clvWYzZ)X&V0B>L@1>8Xt-(=fTe^tnY@@u0~UeV+~ditW6- zk5wObbZiqyN$yXxvsJg|&sK$Swrb;bf;8uDeHL2kb70(~QUPewb{@TR-oK#@hpiMj-D+Q#a|! z%PWNvbVD8L6-@2&aVSpt7>4D7PMz1O!~7Mg1Vk{G2Kv0T3`YLb`7XOL8uS4nlP&q1 z-RcM~oWb-SJ~W2+r|?@E-cB()1cit9jN+UjJTrlJ#&K+bwB;`?I5&znYrBfLUB%q4 al^njDz}+L*J`n7a7=dBFIdk_B_uxOwt_wy0 diff --git a/c64/,,config_generic.s b/c64/,,config_generic.s index 25bca317..cba2e0d3 100644 --- a/c64/,,config_generic.s +++ b/c64/,,config_generic.s @@ -41,6 +41,7 @@ // I/O devices #define CONFIG_IEC +#define CONFIG_IEC_BLANK_SCREEN #define CONFIG_IEC_JIFFYDOS // #define CONFIG_TAPE_NORMAL // please keep disabled for now #define CONFIG_TAPE_TURBO diff --git a/c64/,,config_mega65.s b/c64/,,config_mega65.s index 80f96095..2af64048 100644 --- a/c64/,,config_mega65.s +++ b/c64/,,config_mega65.s @@ -43,6 +43,7 @@ // I/O devices #define CONFIG_IEC +#define CONFIG_IEC_BLANK_SCREEN #define CONFIG_IEC_JIFFYDOS // #define CONFIG_TAPE_NORMAL // please keep disabled for now // #define CONFIG_TAPE_TURBO diff --git a/c64/,,config_testing.s b/c64/,,config_testing.s index 652a3e5d..19376b5a 100644 --- a/c64/,,config_testing.s +++ b/c64/,,config_testing.s @@ -42,6 +42,7 @@ // I/O devices #define CONFIG_IEC +// #define CONFIG_IEC_BLANK_SCREEN #define CONFIG_IEC_JIFFYDOS // #define CONFIG_TAPE_NORMAL // please keep disabled for now #define CONFIG_TAPE_TURBO diff --git a/c64/,,config_ultimate64.s b/c64/,,config_ultimate64.s index 7af94966..ea56cd38 100644 --- a/c64/,,config_ultimate64.s +++ b/c64/,,config_ultimate64.s @@ -41,6 +41,7 @@ // I/O devices #define CONFIG_IEC +#define CONFIG_IEC_BLANK_SCREEN #define CONFIG_IEC_JIFFYDOS // #define CONFIG_TAPE_NORMAL // please keep disabled for now #define CONFIG_TAPE_TURBO diff --git a/c64/kernal/iec/iec_wait1ms.s b/c64/kernal/iec/iec_wait1ms.s index 464619c4..9e550f35 100644 --- a/c64/kernal/iec/iec_wait1ms.s +++ b/c64/kernal/iec/iec_wait1ms.s @@ -29,6 +29,8 @@ wait_x_bars: // additional entry point for tape support dex bne !- +iec_wait_rts: // dummy RTS, for very short waits + rts diff --git a/c64/kernal/iec_fast/load_jiffydos.s b/c64/kernal/iec_fast/load_jiffydos.s index 51bf3bf3..126187c4 100644 --- a/c64/kernal/iec_fast/load_jiffydos.s +++ b/c64/kernal/iec_fast/load_jiffydos.s @@ -3,8 +3,6 @@ // JiffyDOS protocol support for IEC - optimized load loop // -// XXX option does not work yet -// #define CONFIG_IEC_BLANK_SCREEN #if CONFIG_IEC_JIFFYDOS && !CONFIG_MEMORY_MODEL_60K @@ -61,6 +59,10 @@ load_jiffydos_loop: #if CONFIG_IEC_BLANK_SCREEN + // It JiffyDOS needs some time here; waste few cycles + nop + jsr iec_wait_rts + // Ask device to start sending bits sta CIA2_PRA @@ -87,8 +89,8 @@ load_jiffydos_loop: lsr lsr - // Wait for the drive - we have time to increment offset, cycles: 2 - iny + // Delay, JiffyDOS needs some time, 2 cycles + nop // Get bits, cycles: 4 + 2 + 2 = 8 ora CIA2_PRA // bits 2 and 3 on CLK/DATA @@ -105,7 +107,8 @@ load_jiffydos_loop: eor C3PO eor CIA2_PRA // bits 6 and 7 on CLK/DATA - // Store retrieved byte, cycles: 6 + // Store retrieved byte, cycles: 2 + 6 = 8 + iny // NTSC needs this delay sta (EAL),y // not compatible with CONFIG_MEMORY_MODEL_60K // Retrieve status bits, cycles: 4