From 176fc9749e67bc55e242c3e5e7f81ca951fab8cf Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Sun, 3 Nov 2019 09:54:48 +0100 Subject: [PATCH] various tape related fixes --- CONFIG.md | 2 +- 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_mega65.s | 6 +++--- c64/basic/commands/cmd_load.s | 6 +++--- c64/basic/wedge_tape.s | 4 +--- c64/kernal/tape/load_tape_turbo.s | 7 ++++--- c64/kernal/tape/tape_common.s | 2 +- 14 files changed, 13 insertions(+), 14 deletions(-) diff --git a/CONFIG.md b/CONFIG.md index 5d2aad10..1d200f10 100644 --- a/CONFIG.md +++ b/CONFIG.md @@ -215,7 +215,7 @@ Feature needs about 330 bytes in BASIC segment. If unsure - enable. If enabled, a simple DOS wedge is available from the direct mode for turbo tape loading - supports `←L` only -Feature needs about 30 bytes in BASIC segment. If unsure - enable. +Feature needs about 5 bytes in BASIC segment. If unsure - enable. ### `CONFIG_BCD_SAFE_INTERRUPTS` diff --git a/bin/basic_generic.rom b/bin/basic_generic.rom index 92d9c9310b555727adfa63938f990a5ff5d64df0..c31a9ff71c4eef411ba53e3c91ec4b8acdc232c7 100644 GIT binary patch delta 1648 zcmcgs|8G-O6u;G7_14vK&d9`TV7MuM6sO$4nm@kbLjY$xtP zMJAnBWjH3++SB&6E3QtQ49cd)xwk}llKp~-v9eVMk?;ik5{x`=R}=mK6W>eTx##9{ z&bjaNIrp@$Z(r|xYjSXMYxCv}8#lD9AYBzzWT3)R+!M#se=7)IFr-{;psVDFKy0RB zzKW80rsbBZ&RK#&$rjU!yJvt5;{}fh>qM|M=B(wFf7x_v`tmcjUU6ed# zUb?j>9Xm(wCjpfE>&!DnI>R+M3Fk(0+cc~psaJYka7uPUx{$CSV%dA8tfJ%zhd+?tZE=B zYa_8b7xUL*WT|tRUF=gUG(p-iMV@x94jhm63%G3xtY6x60e3{Ct1$)1tqL!0M(MTZlgOA=@ zz?jN2h}*kX>1Clan5%hA0rh<#EMz!NEebhrBd+msQ7^|yH{;{(D-@kZoMs*yF=@ZE zmA#&I!`O&fyWvHMLx@Mngpdt!79{YL3(~WZJc3EkzbU`a*R$U!DN1DKCB)3! zgvi3YOmGK_t7dU|nev(Zffz40%GSlujn26Iz{W=rv5G>V()WD*mo#YRLj? z7s*-g32-TO3CmxeQtLx*wW;4Z#uUAu>9YqDANV0ibAPsbDR4GsfNl!3@uG4Y);+D5q9CxLNadg z==`+J1!Nm`#P#f yy~95ZN(YDWQ;`EhxH;Niaz`3+&M}|AFib8wD$1Jaf%`h@@Je7E#<-iI2>k=B=M)Id()pZ+;WT!DY5`54XPHDHciHQ@VArWOfvwe`iz?tOU zd(OG%>vzsQmxeD5_g-I_UpYDY(#Wxq(>>(XnC8j`O;+MkdZe3`&c{frM&67|qNcIg zVCZT#m>4IcpvuCwx(~JZ1GCGptyUvEy(bZhhGw{VG54*!`m%Q)HwrU5 zrBBo9Htx83*E>~ljT#-6&mh*HB&wb&>ko4&hGF#fz=lhi&^tC5Wm49dY)}yjxQMzC zDB@Wci$h3=8;rqNtQ5)X0y?~_kE5tFP!yC-y$e;l>Sg+|rjzF645O8kiX#1BlX7oT zcS;m}P0Kr1JPuRkIni_GF(a$y*<{h4W~C-dez6e}^3GhEaU0#{*|f{qUYE8~;*059Fy7g`UT5&t-V7_H z^2&k(V4PCs85=VqxwmOeV;0A(x&WECO_6-R$-BY03z9M?qYu=bVXk)ja*UhYx7W=- z&<$nc3z|$8Y>Z27sT}KR)%0oWYm5u)6vAyhu_PIJ&Bh$eC(-ysY*NbEi1LI%%rX+8 zQlI*suc5n-W{x{tYZ$wssyva~prPD44dD$LGZzs1J;ng$lgK+tW9ou$2f;QwtQ^q? zltDsQ^q_ahbXreiNOl&}Teb5da&Z7 zgL<=U;N;OHsavItGEe&GG%Ka^1mDHZ60-V)@`XOBe7VUH4F)R|rBWifHZNUIk~6U@ z3uH8&srs+C)U3b3{V=J1>-URB{z~Um7dfco9B{xday#5LDV68jeZ^VBkF`0UR|on2 zaDOtxlACdz`-ZnzG8L1=6vi__-O42HL1l>A%78RRbxc(-IR*p&Y*w)8u1(1LH!mE}XCx!E9dR(MC+L#Ah8yf2SO;X#5_B_!%i(u-G*o z4Hqa=3IWH-PgToi^Hq#@gAX?>U ztSnc#{Q0S>i=rE6t=ZJ(il~1zy@>14=C_4hO6QGgtUON1+s$vZCLfu_^}@Xh^Y^&0 zgvzx`x#T0XDLA|F6cc;=m3AqYRQvp`JqNmuztDAnVVnwq8)b>SGjgQT2?3wiTr(U_ ggIGtro&4y`fJlu$LcEdg!RpfVM(FQ5Y#hA*0&E}7F#rGn diff --git a/bin/basic_mega65.rom b/bin/basic_mega65.rom index 13b667d028927f0d798b58924efbcc08a501d39e..b3d156e94fe36d3c3997ffd6634e3c3c48fa06a4 100644 GIT binary patch delta 1899 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 diff --git a/bin/basic_testing.rom b/bin/basic_testing.rom index 4f7b7003b39782bf0e3cf7757e7b5288279a75e5..af98c3657c7ca0b5e31604e3006ec9f343b48d3d 100644 GIT binary patch delta 980 zcmYjPZ)jUp6uvB3Im2RB%pGaW!Amg80Er z*p$5yghIl#vJGk<*}Dl@^F~UM;<_aJvauJOybprlK%cEGezAQ+6hyF|w0`jMIPY+O zzu$T1{O-9pbaBY@`O4zTOC!gJpBo-~ify>}#HW=REMyw~-_tayWHOl@cP?aqN-Kx- z3)#SE-qv14!bh4igZ|^Zsjz;}UVK(zr#)vDa^8gKOOfw6f7^c6K5mILXtJQK7jJB^ zG20V6Jqmeem97?3B&))QR8{(rW$b;sN=QxP zPMiskayX{HaZu)+)8h^Q-|}P%p%fv@dc<<+#QK9o z*(t|_BRJJ6mP}T2bYP>(esB!ONNGh8@&lxdb!3Pz6wk#(I-!#OBDu3dLq$adY%~Mm zMw)mO_Gc)Jzbvv~xUU;+KlGVjz>g&FUhTTUldBP6<@eE9jZD>f#XfJfEN$uyXNcWme zQ}$UR?J)T{d5NEwZ*QOYV15UQF4Mm9+9EwrCLi$2x5!AL;w3JX2S5S4FdyEHC(G=c zaM;&lUOsXuN)j9#1lw|+{!vNO4`+|)v8<%`Rzxak{5vCb(=TYPf-I5uYuu^(p$D%? zdbDiEx2=M48_;r_P(}DE!s~6qx?iBhaxUA6A!K)OMZ%gBgj+HImTKDyTLUlDuS}>a5K6gf(Ww} z+R1LliJ11;F_qHu$V*6aC+*5sonE^?M7*#+!q{La)YRHk0$Xp0j!js6*9rQkkK^6% z{oeOIe(!tVZ=`3WNBU%GcIiO;>E3<4{g0z_(i5Q})!LfgW<}Dx)jj2cLn^*jZu`F*4#DXGa#4KMGv1t8NcEN@(P+#LC z?K7%6V#W&A{WASShu5OWuR_^u3EJv8zZ}a`^7P_8#w&vx7{9_D;Rb9MTrp7#+s*8= zQ9t{bXSE1kU53j!8I?CqiqyXYg}Kelf{FUMts?jU69~A7;d%5iyQ|X*m%Z3))osQv zlLEaklJ(1AM>bzqyec(4XcfymiI0N&i|8iTBE)k90pd9%xi@V&n3lpX$j1QE2 ze<^Rulnm}HS|QtG0s9ZYp+5If_sU1>TzM1Cxi>JUGU!KlZx1=MyTXt=)J%hBEVvet z0%lcOX?wi}z@&kv!QDUc6q(Qh|D3eHVg<=F1ad%9 z(Ox0SUBrN@ptprB^!b_3gb4qc3h`68h+gm)B#y%)}hQ1w}L|1`HbL zWLxw0X2V%D8&Ebf!q*h-@qS9tRe|8vP-KHOe#5*)JI0WWQl27Ubfqn_nKd$^?fowa z-qD?t2;qC4sQaCcg2Aqt&l|gZ!>h&W{}?q~O>~SX)no%#>liNJ8d=oNB#6oKd%@Lu zvOu&1_ik&O98J54g(NMw7G`%6;T;%7VB`hyZsi!>qZ~hz@E_T&yoS+-;vj0}{VgkV z;PMi*=2REZnM8_Ag(RV(XZaxW%se{I?>cm_&)y$@J{;W{jYgv3r=AQ)DT=t)aS9k; zOuOJs)3ICont$-1@(mtRzI~8!n#c{fU*N=ibr!xq58lG3FM)V=>LK9C;3mQ#{c})y cn7KNSUYCMRp1IT8PK7}i2KgmY^@INT8`s~#9{>OV diff --git a/bin/basic_ultimate64.rom b/bin/basic_ultimate64.rom index 7466b691b6179c32f08a92dbd463a434ef1ff446..c8caf81cf6e4fa5ec035f053f9c9afe5bcfd93c3 100644 GIT binary patch delta 1736 zcmcgs{ZA8T9DnYvue8uQK|m%vfFcMYzClH*_<|nu+??oq*^5o4v&()r5w@0Wt7B$n zCAS}Nj(8!xetU%)8nO{_6_#zRM>4$`mTXIwF{PWD887N);u5>>!4m&~CF?c!eeTKU z`|^Cg&-c^a+TH5>=*H-c-EBL!Y~9kaM(i!C6i3R6Sv4bGDXYjm7o%!MA@o{S$iPT% z-iMrMGv%_Cl2~Y}vs9j0z$ud0Zd#K+2SkjIh9hWbDk22L4^1c73Q4q@x3Y^RahG{T z$+_4-g>XLMlfAsWiI;7jjJ4=>Gasj;gJRhH+5St4TBqAps{ctR6_2mTM~F`%NiUyH zdPAH1A+PT=Z&b7yEAq$b`2;Jl3r8`(%y z{K3)^oO~dRJS4u`|M@34C3;i|b3&Db1$O=z18qUFQ|Hp!J;fQyS8SmIjidI6BAjt^ zay~L87o2%&F_&<0{7@cuA(u-yxoYa>gn*JAYFytaCafOO>MUpPg1Ew2QmkfVtNvBg znjoy&s&N88q?V!CH!Hs4Yzlr79p-4)tZe<-rgQWyS-1lV33V!Ls0%G}rDQ|R7@9xL zD?~D%B}|X|kzXoQgW&>xfGtX~%*mxnKg;w?x$pahZ(=@GpL8`8>u{lp@T@ z7Ns9u=P-8+%slGn-~g9m7&RyCd`uY6t(<;_5gx>*+_xoikuaJ$Jz>)R!j-)N884G7Kajey1Ggwxs zW})MXaI{@fiEdGwb+*Xo@yWdnobX!2KwwXXcNh!36_1gZ6HgV!`P8B~k8VD^R}S>6 zLO-K#Mx=oFfxVn&K;97AC^v^%sB%O0nl~ZQ8ITA~!mzOtzqJlsFvLo}@SKrzi=> zQ9DA@k}2uccd8YdL!NHWhNhJY;lf~aTB}#HdNp>bD$e)uN}%`E<%aB(SbN2cby<)} zs7o|lq*y@C5ziLM9;fu`&G?q%+y3yyX*1w@pIq0gMMddoj;b= z{_rdLnAsOs-WI2GkCe^K7-ASpuCH0-~tL~Th8 zGcG<_vK`->OW$yi8QG?~kwDbuPfHI~2d-C2H*W3(+gocE+d;$=s1(^b delta 1712 zcmcgt+i%lm6nEmJcIviC*D_i<+OOqS=!H;d8%om)TUi)JDr3?v(u7}NLEFpru!oi@ zATVN+*b2e4Tb4>}Rh);-LrmJ9IHgV3N|R1Y{dbPfkDMRry|y&FbbRdP(Zi!Bd&p~Y)Ry(@G|!}zh?nNi$fP|=-iq_?Xq3+S z16Q*CM39VuByd~mFGl0{^={2H+O<%4XCg2aP?OT9+%EgVdiKIOT4Ej5_UXK|+0j`s zeYKWW^U_gAPyHB>g>|$qkg$w|>7>~%5>Ju6SiV~s}hFHk@#i5|+7d{D~BXyYE zGlL0oD^1=h#ab=8u#R`^>F4O2q9~=qw`LP3l+HCuoGe=qIm?7w;d~{($SLm95WcwA zD2*~`K9W~B4B~E`5=2>-uf&O6N;m3uHwepz%$s4F->Q<|O)JFrX3~^h^XjM4HjBK$ zZ&ry*RyJV_(|M&{V?E9c&8PC>9G>Rms!Ba$BjzRx8`h%K{J2qng3Ow_oBXuFyH42) zyf`DE533T?6|XBt*|AQm`Z~H%srXz}AakY_*Swi|Jw~Cm%s8rNj#-Z*s3rNU`+M4> zO4zuI0b?lxNP>wXujQjACZ|7{iciRse9pwCOlU-}AQ6@CliqhVdi&JO5sPb#AZ}_Z z6S*}tkXuy)ctXIEa9HS_+5je+$XiO|(wwW6ARrHlhm-+vkf=+F-#MgPAdONaJB@W< zQqmJwV`y9r$>swJY+wf(9N>fs=wCjt%m526sDvMvPsUPip2Gr5hCk$A^{Oo?NmJUAHl_K~X_>u4 z*<9}Hlx>AY#j+X-ThR=C6pnkTbe=5($SuQF3-Www#Bp;+OL znj)t+udrxC<_!0<4)}jkmRB^sz+nBgl)@SG3X6sdDpd{vch7G%i@ImNCPNpdg!!h7 zbE;wV?2=HJZ_-y(N)S{NM++#U=1%XTX6m-$ys7``6Q%;?cY`B8TT3oDQ_%kis`WU} zLPGsgx?g>&rFzlYf-~9P-EL!><~HgQQvq-rm1wLYSH1Yvt2O7`cHHXv*4?&<^!L`6 z@HyQ4E|*IwtmX;RJTB$i&2P3RAL^ym!a|k)SDY)Na$PZ(e26wVi)v3XvB%#<&*zd- zUrT$>zV0J0cJHGot3zN%St4)kGQRu|3qBjQ#TZ;O7L*W32$o1~ON2Nh-Uj@FL|$q0 Ols^^NfP0n@clE#hN(it3 diff --git a/bin/kernal_generic.rom b/bin/kernal_generic.rom index 7134217e564acab52adb81158ace005cadf15516..8be831054d9ef93a89a42566488e1c06b0ac14b4 100644 GIT binary patch delta 3108 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 Yc>NTfj^K=d?Xt`W3{xh zQ-jK58CJT%S1Xj#rf>2Xf|UDR@epmjeRjqwEG$ujOTsaEX*!ly}#iC`gY0T@4Ubx`y_rvEYg$|y|9Sxp6h>x@$y8A zOc8u^Rx>U*&~U`Xq9O6Onmd{M=S91w%M4P$%?u+(|WS#+>oyv@tXiN49{SLXQMmj*krFkp=Wk-1QCW0A77NaEIv@ zPk`RmF0>;}P#!#cjLgWMv%O>j_Rh9v5fd;C{a5#;U?d~!bcW(zRBEbMq;QI`4yWMT~go|y%|DR6-g&M zejzwqTGSQ7Uj2!AJI)luL)bR?Ye48qsK zJmllF`?(+&F16y%66$reC?ljE=U1d`IAlGSKtj=@oUpi2e=oB+F211OYuy@kh(v3rT0BPHPM!BC5fdNq5GF9l%N<;< zM4?qvc53K^V(2@iLKEi))s2{xC5s9p<-@jA0+T!l2$MY+rVegQD#MjQ6W{4^3>tYf z5`#Qb=gycck~C)#nQ#`Gc-~0~%qP6~yunOoil+=OZMrLljwH}b0>3&Vy@*#$y-8h` z7}dZs;(jZhGH?|bxH@Iv4M_w4@>KdwTG5_EagE9o+CbUJt0x?ciCdQE-1k2^`6-?J|JFH(D`!=W!!bx!=Wl)l zH;zSkxXo1p$D$)*`|=I?D~GQfo`WHtTmHE9!3c#iBjEBjCo3G}&GLRF&4f+_EIjzh z(W-Eb{f{zdKOih_iVaYB$DE^eARWHFAtry&_9!EtYoGGR;t zP+yBYNk{-N>Ov&|rrgY;Mxo)4*|+{`%Wb=UxsBQ+ewV9QhZ@f8DQ5*yJ|lSKq546% zSw892!JP~MRCQdY#P94&b+tEw#*c)@*C)Ip|w-44?Fu6 zM)0U)Uy>X|YlG^l6U|M#j;dA9Q@Vy^G?~$%DEfB6b->bHBHJMIzC`z^H^J=>2J4SC z^me~b3xn@df@jYyY|<&HUA&%Gym}WP%cA5%1GY0LW71*hzb+$@y;NeJ*k(4scMxuU( zkr)^<2RTY~f&E5{@HTIR@CWu|Dk8Tfa}T{XD<4c{A!LO73CWhvkxVe-Q{f!COFW;S zvw1jzhQeyTw3;Em)7AV&XA*d4#L|Usox{B`klqhK>V^`vJ^a%GN|ku4vAXKn2vl+- z{wN^(4LZS}?0?CAs2}#r{?bUYTdGz;^8YoIY$xkE9dv>cXeR&xkuEUa{-TQhnh<_| z_CF3$e!}ZeSoNRQ%PWkDH}U~H(FTqZO+dnj#GM5z=&1Nq!OpzV)CuahpPNh_RxvBS zzWS#7#2me0*}k`y7jD6c&6f-m&s#27aDcSye=bJ1+vWFx=@Uoa2I0F?<2!<$oq^6$e(X z%Yl42EX+ISgaznHrMhl+VMvUwtQD_l9uUv1>dt#6C=V-N_PoS+Gs*2}cMRPYM^B6U z3OB907F9BQTm<<-z{9(KaL1$F?y0EK4V-B*UwctX97J7Wu<#bTS1c^@G26r9bkXnV zF7d(D8^mMALaRt<-eOTJucaEl9+PPUB55*RdR3r#B**1L&4}QGOFf7PhfvEBem7nV zZ0R;Y3Os2G+o(}^(*B6V4?&M3v)CO+$K#S2MC_WrfkJ8puW2`9=e-11UR$&l)hcF70-jU;H~O+1_pK!?++@k2pa zR70^r#!0+-Qt03vCzL#>H4xJSF}WYgO_G9&Bko<3zv0C&J~xTi#&IHq-67-$5(Q7` LqNT5XU}ydf!ea}m diff --git a/bin/kernal_mega65.rom b/bin/kernal_mega65.rom index cba79c6aaf308612aa26b8418504f34dbc309db0..10db46b38c21e704d8ca74cf9d9523116434c9fc 100644 GIT binary patch delta 2682 zcmZ8j4Ny~87JhjzAqkZdP#}W9t*aKOMf_(Rr-Hv}z3TMGDY`rL&AKxUj?TE#?Z{Ny z;FgCB7R9}G3p#3eo5vCyO4yD+(4_*k)-YAy8W;btx{e8iw&Mc~?*%t6dtOp^JNqVc z@3}wc-1GCDb5dDSS<>-+8%>;v-;;yP40?MraWivGW2ccx##JuzFXj~@G5X(N?ldlZ z)ZF#J-IWZP|j)hX6FT%c*dEErufmj0^Mr2%TyZI*_Ue z9vI?+(cVWO9<@BebDU(a{IdMvhaKms*(l_98x#8Xp zzi940|q^y7yl+mN?) za1yN;@7zUuSup`Q72Gstc)+<(Vc5f2!lp{>#;iJ=%=H&|~ z$~GK4uw&aBwr#JkU6s90hEGvsc@jQ393FW}P8kZyP`iq+`D<+rwhFXFMk_-oRpwLL zsCxyLTO1REijU zOTkwab~$aNz!&JgT+iUoR5QXSBdi*EDnGt|!SOLyeW0caZz^3qvtTAwLcOthTybdD)6 z>jp(L+?lSBZezh3tNbHu*n|mbg)@q%5#HFHF$DL!Uy+k^gWjk#y(cQpavE=E42k9j z>xa97EqLZ|jpcDsa=+z9PgF7?t4!vaHW>{Hb`Ez&$RADRCa}i60=I_AooUFCrZ}mK z=OlB-m*{%*GR_FH!U@Y$K3O0V&1axAh0lXQ=+nU1i(xonxyR4LOM=C0bFZt<$|A1{ zZqdfSssa)9?riaqdqy$KQYMQPFR`VNxIv%hxR6kOA!-7*%4$6k=nFHIk`j9lzxkX`bS|C?+JF74z+gA9+FyNXILbv zIlUBYe=cTwd1(uNX{5&TliiNz5A)GOMnLqPC+JiZjYRQBBi#9_&gw1}m5zBgiHR*8 z|L`J-fgB*46JMlnhQ9bH@sk8d>qRtvkCdd$nEHMYg6?7PyMFvuFe%EwkBpcWlV#?t z1+T7Im9&24YP4i=9d}bhn@Kq4Wkd%5J``sfmh)oBWMdNuAfqWS%xhO`5u*T*@|4c) zw3HmbJ7?0%fF`-x9@hwLRu%?)TqUKcQ`h|;Pez=_5&i|wF}!3<<2a>ivEBA_qT=mg z7GCq@fmn2(98dk!aaN(w`wGON(amtjSetNE(ifw10XqvB>1vQHHJw}NZ_a}q2h|?H z@wls@ClS;=pbF<3x6ndY<91r;Y}`d(u4)jv;+p&}YK`TasRG$UT0%iWzZlAc+?ke? zT>}Y{vheNFMO)uoLoNQIeX34Z+^z!aUCpyYD&885;V-4*%gYzfSw&qjD1R=1d!L{m zhFRe|vEPKK+j6H{mqJ zorJGP-3SJ)mONzvh}0kpbkS4RnOI|qu;>F7V24)wVTAqs5-H45l@xrISyV}7v?m&k zR#Z8wn>fCVt#CP;n*<=>g&W*0V6m20*3;z|z)YbLZ2#@bQT)zm{FM6^@1As5iZm?0 zjY~IM@^98r_kg|bh*tOEbVBIz(jw!IvO+!UwLpBKuCY)Np3xGn9z$osaBy5TKftY| zE8_)+G9fbkVu*D$)D#(SZ=prS$`-RwHHN!)k6L8#`}HV*FkTNdG#*xCWfniC~g`W zc&cx*fZzo{zeXGzMlPo+I&l5;GagbPqerOr1_TyptcJCjEN(W%sE<7J(9RzXRNrz zM~|Tp3C>tRr-w;)_8(Gz*-}e57cLBwzhtl15%M_u9bJfQ%$aKjBYfNdc1@Dcvo<)O zgkqv)E&Ll{gZ4P_v5KYyflL_k+;>yR8TQ;l7oK=-!`6|A=enDXd(Mlthdme3HNWTY z&7Bg>^=f2CjO;_RgW9SYjSqX8kRd4a=I4r2YHdhAiGG^!{Mp_r)I)|A-bJglm*Dk{ zL1gvg96xu0b)A#a;=%h&6*}R4a4|H)3s1<0xf!$1%D7L)vsD}&#RrG*ClT!RV^+cY z$M6rsIAI7Mi9l|3=KgBdMj5{?@62O%7BD;KGPpO4Cr5Fj-#N%rEJZC+AO2g8{0AT5 BELQ*k delta 3315 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 jKH7$#O+ZbuI%ksRIVNq)O;R&UY9^Vqlh|hL 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 diff --git a/c64/,,config_mega65.s b/c64/,,config_mega65.s index b5e6855b..6b179612 100644 --- a/c64/,,config_mega65.s +++ b/c64/,,config_mega65.s @@ -45,7 +45,7 @@ #define CONFIG_IEC // #define CONFIG_IEC_JIFFYDOS // please keep disabled for now // #define CONFIG_TAPE_NORMAL // please keep disabled for now -#define CONFIG_TAPE_TURBO +// #define CONFIG_TAPE_TURBO // #define CONFIG_RS232_UP2400 // please keep disabled for now // #define CONFIG_RS232_UP9600 // please keep disabled for now @@ -77,7 +77,7 @@ #define CONFIG_PROGRAMMABLE_KEYS -.const CONFIG_KEYCMD_RUN = @"\$5FL" +.const CONFIG_KEYCMD_RUN = @"LOAD\"*\"" .const CONFIG_KEYCMD_F1 = @"@" .const CONFIG_KEYCMD_F2 = @"" @@ -108,7 +108,7 @@ #define CONFIG_PANIC_SCREEN #define CONFIG_DOS_WEDGE -#define CONFIG_TAPE_WEDGE +// #define CONFIG_TAPE_WEDGE #define CONFIG_BCD_SAFE_INTERRUPTS diff --git a/c64/basic/commands/cmd_load.s b/c64/basic/commands/cmd_load.s index e7dc76f1..20e2a501 100644 --- a/c64/basic/commands/cmd_load.s +++ b/c64/basic/commands/cmd_load.s @@ -69,13 +69,13 @@ got_devicenumber: lda #$00 sta SA jsr injest_comma - bcs got_secondaryaddress + bcs cmd_load_got_secondaryaddress jsr basic_parse_line_number lda LINNUM+1 bne !+ lda LINNUM+0 sta SA - jmp got_secondaryaddress + jmp cmd_load_got_secondaryaddress !: // Second parameter is above 255, this can't be a secondary address // Use it as load address instead @@ -85,7 +85,7 @@ got_devicenumber: ldy LINNUM+1 bne got_loadaddress -got_secondaryaddress: +cmd_load_got_secondaryaddress: // input for tape wedge ldy TXTTAB+1 ldx TXTTAB+0 diff --git a/c64/basic/wedge_tape.s b/c64/basic/wedge_tape.s index 9eaffab5..4edbe8e8 100644 --- a/c64/basic/wedge_tape.s +++ b/c64/basic/wedge_tape.s @@ -28,9 +28,7 @@ wedge_tape: ldy TXTTAB+1 ldx TXTTAB+0 - jsr JLOAD - - jmp basic_main_loop + jmp cmd_load_got_secondaryaddress #endif // CONFIG_TAPE_WEDGE diff --git a/c64/kernal/tape/load_tape_turbo.s b/c64/kernal/tape/load_tape_turbo.s index e1cfe6b7..6b9ef138 100644 --- a/c64/kernal/tape/load_tape_turbo.s +++ b/c64/kernal/tape/load_tape_turbo.s @@ -73,10 +73,7 @@ load_tape_turbo_payload: load_tape_turbo_loop: jsr tape_turbo_get_byte - - dec CPU_R6510 // to load below I/O area sta (STAL),y - inc CPU_R6510 eor PRTY // handle checksum sta PRTY @@ -126,7 +123,11 @@ tape_turbo_get_bit: asl sta SID_SIGVOL beq !+ +#if CONFIG_COLORS_BRAND && CONFIG_BRAND_ULTIMATE_64 + lda #$0B +#else lda #$06 +#endif !: sta VIC_EXTCOL pla diff --git a/c64/kernal/tape/tape_common.s b/c64/kernal/tape/tape_common.s index 24acc279..e6bb200e 100644 --- a/c64/kernal/tape/tape_common.s +++ b/c64/kernal/tape/tape_common.s @@ -300,7 +300,7 @@ tape_load_success: jsr tape_screen_show_motor_off jsr lvs_display_done -!: + cli jmp lvs_return_last_address