From 2110abf93275ddab28605258527203db87283e8b Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Sun, 28 Feb 2021 22:02:13 +0100 Subject: [PATCH] fixed JiffyDOS broken on some configuurations --- bin/basic_generic.rom | Bin 8192 -> 8192 bytes bin/basic_generic_crt.rom | Bin 8192 -> 8192 bytes bin/basic_ultimate64.rom | Bin 8192 -> 8192 bytes bin/extrom_generic_crt.crt | Bin 32896 -> 32896 bytes bin/kernal_generic.rom | Bin 8192 -> 8192 bytes bin/kernal_generic_crt.rom | Bin 8192 -> 8192 bytes bin/kernal_ultimate64.rom | Bin 8192 -> 8192 bytes src/kernal/iec_fast/jiffydos_wait_line.s | 2 +- strings/FBA90085 | 3 +++ 9 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 strings/FBA90085 diff --git a/bin/basic_generic.rom b/bin/basic_generic.rom index a25f8f71bdc57563f3cd6df00501f40bb21d5c41..32eca3602680fe9f000b41550a2cd29dac161222 100644 GIT binary patch delta 68 zcmZp0XmHrDmWk=$_s#2>>exWEKBpR!@WJm3m=&fz^ymN*t1=Y$wkRB%oWcDFB=5r` SF3e~&IYr(V$eX-b-WLGqZ5(U> delta 68 zcmZp0XmHrDmWk=))6MId>exWEKBpR!@X4nOm=&fz^ymN*t1=Y$wkX`1oWcDFB=5r` SF3e~+IYr(V$eX-b-WLGlryNZH diff --git a/bin/basic_generic_crt.rom b/bin/basic_generic_crt.rom index 3bbe6e029662619dba580718d1893b87a09906f5..a6049934dc6e1829cdf38517550460e6cde9374f 100644 GIT binary patch delta 93 zcmZp0XmHqI&B8kCuR`PR%?>QLIGKR73|}uJ+mkm-Hz+*Wyq50e?u8GkhOd{A?cbZF8x;O+UeCXVQTE>(AN%(TrtcLT mmqHoh&!LQ-*PAN@WjGm?H&2y1$HHhhIYr(VXvXBt^1c8Ok0qf1 diff --git a/bin/basic_ultimate64.rom b/bin/basic_ultimate64.rom index 343bb505f6ee2c1c303345e3ee962406c0b788c2..3577d018f270f8199a9d7ac32d2bdb343d6a7b29 100644 GIT binary patch delta 72 zcmZp0XmHrj$i!CieUYp}@MK1I;mxy{zOXW~Oz!8H$5irtvp%O86Of*q&ixt0jp3Om Xz{s-sw@d~TqtWCPd0&v+W_e!#wFnwB delta 72 zcmZp0XmHrj$i#N?=^|N$;K_{a!kcF?ePLyknB31XkLl#o&H9{XOh9^aI`?M~H-=}P X0Heg_-!d6YjE0j_!79vm0AMgMG diff --git a/bin/kernal_generic.rom b/bin/kernal_generic.rom index 69d5ba3831f860f90f81088193d9fa63b59e2681..07fc29f21417adc430603ee57837e4210aae9c7e 100644 GIT binary patch delta 2336 zcmZ8jeQ*=U71!NKmgO(W7-Pv8yapU(K2i@1L@*^)DUC(5DP%en=Pz#POh%+`CeRi< zO%q$wD0S4zmAi%jAyhqdfILy6Nh#Dx9Ym8D%RqaMJzx@Ra0!wz2Kj6p>&}w6zLU#L zr+;X7-`;z>`+mRop;mjVJ>0LQ){!gPy=B*Cd(?`e zQT$dssBsUvucIV+S!XF~m~{uxCv#y2H_Q^E+i3G!I4kRPHsYoXPt}=36So2FA4d;n z!}nBK_$ElXBis&k?@|i8(&%8C+YS<;@)`}Uw3&r%18zQG^wK{mnv2FdQ|%wpcog z58iDvP1YOxO+yhy%tu#9Oa38?>XqczbbqNic2m@3(-wSU|xRya7?Potu^(}AYuoKZ^9aZZ(mO9e-$ z<)pE28!bxYWZ`m>EL=-2!EbTV){?uo5C8E*$KE~B;g3JeY$iV~VoOCSvJ!3$$bD}N znnn>AjTBu`ZG*+N>Le7`t`jAX?sCTfKP=L{!yc5CLT}O?4+Dc>60r(;R6diq9vF=5 zgb)kJs40&2kd-A{inS7MPV#5`nvPGAmh3NilhP8Y3@6^!*^E5*F!3NkDW$SEPs^D$F?zaZ5!I6Q|> z&*9glReY~N+t|<{TD^5i)_K-xW;OgVKzH{nDv`qsK9|DZQ=0xjH|HL9QF1(Xx(m@` z#8tW;Ao*+Q6T5QC6|xnM=(4f72@I``s?6Uovmr=^NpGnDvndTjeVSG8bjcpHP6igX z%iTYrMdSRX4Vfq-s)e9_!HS0eQ>mC&sfo|4sAlftc;hr&gk72DVMoZqh+1cpnQ`KV zM{s!93M#0Cyt81l1>VmG>Wp1IJ7jesI!<>2z^W(71)J%~6j@bPL%9epTfZphPzZ{H z!G|x(r-wyda3TH$Ib4R+7`srmp*A_;Ul~Ll1HvGSf)YFn+;}x(u)7061**d*bBXIX zNlF)%(~xA=g>7qHGXD_}4O-(-eQrVpD#km;@OI^Yk3d*E^OxAdQmRxnnOABQRi!eb zlv}7WVp;U0DaQzqd{P3Efl#u0(TZhRsSA+soPHZEz7K`%?l!Kw3iEP_F_v*s|jf-iq?XUw7>)vmiMtdWk7-!itsHr#X`PWecGer z*0T`}8(k*k^F!NP-9y1;Y&74ek7|8Pv>K`|e*>LW0F|jJe0z%1^)Rim^C^Mp7rtQw zN89T4H(#Iy$;{T+Sa1~mP6o_X?thulv?9Mf!j77J_2HeuD^SEbp zq*?x0E{4!~nLj=sO@=J%1l;)d9Q^wZKIGs(fZ+5vSk#gI{76{F9a&g~)38qYrX75z zpigv~o$kY|8AZiJCoY}qg3~;Z=)uv)$qlK^ddP;#HEWo5Z47YI#oG0;{`R~WSK3|@ zW4W?5n%GVwWF&ISkhPG_khR2HS+U$D10kK@RTofrQmv;s0X)rd{_7-qgckbBsDIdDB<77L*E*Xt6{Mkmyw_qD{I z@FD>}CpCjwZwLwQ6DU1}p=5U~u9@%4uV(mesAN7hu%T;xzW5pAr3q2jZ<1_m&)7s) zPamnQvX?w=-)#>;(@vaKFPkOBs~zdNpY`fS*yiD&#%p0XcX+PE6eTY7GknX$s7A?&5_BN7lE%~_oq_oxU;Y_22LeW`%NH;8Mk3teEOP(=I z%0LiQkQL;IOW#FP+1Gp4QD%9A=<` zlh>*%>)IaT+DG`i(>ObZf1kx|5;n}?^D;1kug&1pLwrNRvniZSkw|rQ%{HmY$~3KF cn$|FQ@D7f~aY5Wa!fDvUwXW&gnIGNz4+{r*nE(I) delta 2283 zcmZ8iacmRk75ClQaU7EPLgK^@A^8HNaR{{8P{E*4vaV|kd}^syM)+gm)=HJ>(rQ~Z zh{j414YM>_n6odTgwoYDIf$crvzR7GD|gOlgPp>3G#P|8k+TXrK&Ux~fbU|P+dD_} zkNshP-@AM7zVH2h@BLnTV|$~2OiO)_e4%}%xMSYM;Fsm$y|jTt=VPit8g&*EPZ^M) z<*B-elj6J@=eYA48X<4$EcsU!oCE07ML&bDED)mGX!91}FBONQ8MmatpA}ip(`bi` zzJ2JwquRm)FXaq+UR0ljqj+ZuHKshI!6`GIcDbV#@y`x_3$I24e)iu1I0 z-{VX6q=-r1RM0W+|JtiTzmEDR&;hbv@7q5ob!(=E?@8;aDZ$|DrY-lS?ryr1jrm-( zkb~@VcVxhP87at~V6tR%N)_$y8S4NWL$22|Re31nC#M#J{{k-08ApmY}1 zq@FnIk{v_*S&kbx(b=HCv6mL4EE=y%C?uhS$0PZ zgvooxxHk%H1w}m{6d1HGN_OS#uGk?v#4@{wcGD<7>ae54q9aTRI*&tTVI=Q3wTUz@ zdycM`$zPVOCh=wK$q4*bZFzr3#=MTIUp8Vuo`UUcfe6FZo4%Wh{7v#{9adrkl z&{X~xYOJ@QMqPx0n(x=kUAjv>SNTbi9-Zt$m9pp z7i82DMQ@SX!mR~n3Ae`ivu;h#MPw$wDm+S=iB$NEHj+df*l5&g5=oC< z(DSE723=p|2X;6I{5j~OIIc>d58{ZCR3AnfW4~_pC_c?g(`@dTAT==9zlhH);y+7k z`B8zkalV7JdTJ`+7<8C9j_(I__dGs`o@+Z1Adoe@C{y6C&^wR|CDB1v! z{G;fJ-C5_PWQ9)**|_Wif!1c#=C7MMH`O|PknTS~hc3TE3k##8&768>pWKDsxD71) zOdfuf7L7}XHl@Ris0u;D@-s+Vf{QnlW)t#(I6yUD z=FUutI&TT?Bz?t5t+DgPPuGmhxof?s=c+KSHvM&&}o#a$4#&inkR_-`OMTp;`yjeH9v zllMz^(y-hq9V2X6$tKJz7yos|)?jeqWwUOJ$I5vT=qXe-o8mmmG0hYQ`v%zOjj`?EEJ=vn^c zQuRb6&d&D=`dF{o;q2qgC@jW$@vMw`GM^v!%eW^4JAVrHN!L7ySWKoNi0*<$_Rc(R zUT9siq5Mfx@jA`)E+aG+>X)JUpedpG$i8wjIaXe}x=)7s>4nP;0UPI}#|B(DOZe~N z=m@z~zM6`Vx$@mFp}kT5R5udv&!tvy9rYo>c?zw};C-s7PBmjLfyUYA^}!bH5yXnsg<9Y&PjbWT^@F3nUFuoPv|B^ z?Fr~7W##h*%c4CChK;;Xd8BqnHXkt$k^!zm_}U|mf1gcxj64x(PZ>-MPn|k8h#H0RwzgQUCw| diff --git a/bin/kernal_generic_crt.rom b/bin/kernal_generic_crt.rom index c36887dfa153e1d84b4ec92a87e1cefad9dc0eb4..055f732ce0f94e40917c8c10fcf8f63d0dd1a9ae 100644 GIT binary patch delta 1814 zcmYjReN0rKt5I;M$ z6On4`Wf_}dYTJjrDvSh|Wm7iXma*<5d9H*p196hIY<-2jw!n<Y+DiwfB(=InUGhvnaVk*H{p)5e(ee(@xhIU&E4Jx>0S2 z)a6z`7!v(96cV}PVXagc)=PQZVRSvg4PY>*RPR^S>tVwF21vuN#=sx;-+@A8U+%qh z>z5Qco@;-gS>Y*H03W^4ubuJ^a6z|b>YQ*fb{L>4RdS$;wuu*P{fSVSJXta7BKf1_88gE)%5eN`_X?c}_3xu^ojuoFvSvwrv z4)lZ6h7QP{T=cn&4v=JCMQuR#>jga*fE|_-TyU!^IGBq@By1DWkc5uNCg}%>BG5$^Q?pG67;by zON(niYeA8CtP9_n;0~e_${>xX8SYTlQ%~QVZ!>p_tP0oAhOSB~j2`kqe!Vt82J&mo z*F|8Qq47sc5V7D`oGj;;Z}Qcuv!-_8FD}5Cc#WikbMjhOfCW%vt_jzuic`uv_PeG* z7aK=E&*24;Y%JJLZB7$+!M2S*iN|(OMix~?Jv9DF#BZly4CK-H;ncC$DReuXonJ|6 z&kjgY;Y(T{d9yIJb)fI%?K^keSKk%b_x@)mI?KvrSy67@RFqrr#Z&3oS#DgS&W@`s z8V~=+7mSck8MzCJEQsemi7?lYkMtH~EdnFM zB9J2$tpw&~!?XnKk%nSx^Z&wSE8z?OhSepmL->JIOJ57N&SmR?&~_>yH{7;_y2U}O zO8E(ed{cb4wP~@ro^0e!aDnBWw5&aQwVae8#O{J>r@anjQHF~gVrguWp@vHE9vcCkC`IJv0aKpMA zqmfWB(vB{s&#Iy(7fbBA&1n_XQpqpn-leb}$n!3ta{C_UoK`1Qka8P*N| zE*EGg!x?GKNJd!a(_f9tg0b83eoF4cx0lDvc7N?@aawsk{tq_mder~` delta 1839 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 NiJUjbzK;HA_&@CUX#W5J delta 2251 zcmZ8ieNa@_72o%EVOhTR@#(Heyih-ODHyCq(MF}#j%#zLSRJa&B;yO|SZtw_p&y#* zP|y+s}8bM%u@)F7A7Rqg@rZvK;*p#i`(;-A%FD! zaX;QY=iYOE=XcJjEv_y0_Gzfi%wxTD3J!Zbh_}Ay+00w7`XfRNx<1RRQT7r( z79fro^LBR$%(f_j~%8J=~}K zMpQLPdSlm{swTNR4R<}S(+!Wn(ofy#)_#^nHIh4G{lI<9>OyZWc-7dnNHVnL$!BK0 z|8c9(V8}a&&V`6odwYXUcBpQ43i0UIVRSFji%Wwn_dc`e)N@3jovXlTry1$U$+!&# zIvJl0!eO^F2YyG@;yV7OXz_DkZ|f!3W$>m_#wB4?N&4dQ4T>+4L)G#Qz!EkuKl z^Q7?LQT7sgEIJ}czvNMkn!lJrFOm;*JE+}cRJWd9SR$JEUHY;Bpy3m=oDV_;aXJ|P z8*QG1>Lj#}+>YNt)sfhQZ7}XiSWN}U(S)s8ia)#>w@83Q@6ApFPZhyihXi~+M5OG3 zO=vy@>^T(H3Co}|=*0-`pIbq=e~$Gt_EA1yADF#3T}b>Xr6b3Zj4-~E zv^9SFf`=MyxKxC8lg^}q?^I3J$J}bT%iR~~p8NG^O7gr0BybIYzR$#KQO4Z(5Wsm5 zthUOiGJuLnX7aA29ufa+nrm~Y8g8H-!Y02)^^l3=-5MgI0%F#Gn>tQP_01VTl?QH0 zp-KR#;vM5YL1$)(n%SPwB1PBkFQcxb{yEsTkP^nABceSPHH(OlmzgZ8g`8uuwH+cl zJ&ihum-*w~LsA~s!vj8^leDGDf)-~gE>;*=mTLybkIbV%$*ab{6Y=#R4uwwDDhRbx^0ePSVZ4rF(C`LGyDx zJx5vP!g9GDrOALvp4{~kE$EjY%?kU~f>Ij_Q`hbPKao|-A~}I&5k<}V4&F8k58=`< zq#B&VeI;QX!kRg_+-m|6G)Ue}-Dw2-IhR@A-o1ZbSqPTaMg&NMC)24rsSaXJ%caT* zPTP_h^=IFrL8(T!+1C3)j5{4$$b~dS0~b2ep82k{Hizn1$41rXb-qroT~8E_0vwDPE0lPWiRb3GoWzKcB$8!6@1g ztZE5$i1=3vS4PuQs1!wIS?J4$AcQ_6kqjgC88K#VVpO%rQS4*K7<-}jApf#Jj%2RO zos!xCm-^PX5&Zy)LER&+N4Nvw_9yW_Kx5+&a`JxWb2Lm-nKgu2m7a>Z$c^j$MTI&$ zPMB~QohJ6mE30Cu(_kyjtKAWnvwu_1_5d%IuAM$z%ODL!(Hf`&o($fpI-kL_+~??G z1iYD`>Gp1WzJ6a?1>OTH43zaO` zeM?|O^J#oqj^cG#^BX*X;Z>}Abje+#bZQj5p%H$mE~K408oQ#eHPqE?GE_g}V&wthcc3 zpj{8C<{n!~FG#M4@#&1TeAVbdeIGBO<1%`88nuY%{4~j5ZP?LdaWx6?bnwjJV7Ev;;Tr_oUVVjBIJG_L*@MaajiOS9m3(0bo`%QXb7i3ipc z#*9ZhqE#lQteo^{A1w)UT~HD13fYzZ@j}+~+iIk)D%#KTu_z?tKhMT2o9$IYU4U)t z&LAJ}j2&$Y2{C<)RK#}ohuXU@g~-FKJ;^I=`Bf2a%puRN`DI4uxJ@(CEk$fGBW#q# zaY`Y)wq`3OlDReJRA>O^hqe?RW@ZtF!bS3Q_ARnS4F)33I5(J z{{0htZV5jx;g4iYPe4n-XJ)bZ2oni^EaGeA+S=@OITDVQDoyIjJauKh8V~#z*NHej S;23eL*uBMt@>k)*Q~v`S!cIy6 diff --git a/src/kernal/iec_fast/jiffydos_wait_line.s b/src/kernal/iec_fast/jiffydos_wait_line.s index dbfb4356..44e85b1d 100644 --- a/src/kernal/iec_fast/jiffydos_wait_line.s +++ b/src/kernal/iec_fast/jiffydos_wait_line.s @@ -13,7 +13,7 @@ jiffydos_wait_line: -!ifdef CONFIG_MB_M65 { ; MEGA65 does not need to wait, but has to waste few cycles +!ifndef CONFIG_MB_M65 { ; MEGA65 does not need to wait, but has to waste few cycles ; One might try to optimize the code by checking for disabled screen ; (bit 4 of VIC_SCROLY); problem: VIC checks this bit only once per frame: diff --git a/strings/FBA90085 b/strings/FBA90085 new file mode 100644 index 00000000..e350e3e2 --- /dev/null +++ b/strings/FBA90085 @@ -0,0 +1,3 @@ +$FB + LDA #$00 + STA (zeropage address not included in similarity) + +Instruction + some parts. Trivial - not copyrightable.