From 54fd24d704d25ae813f0b1cbe882963867ca16dc Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Thu, 7 Nov 2019 22:05:49 +0100 Subject: [PATCH] fix for EAL corruption --- 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/kernal/screen/screen_grow_logical_line.s | 14 +++++++++++++- .../screen/screen_scroll_up_if_on_last_line.s | 13 +++++++++++++ 10 files changed, 26 insertions(+), 1 deletion(-) diff --git a/bin/basic_generic.rom b/bin/basic_generic.rom index 2760d0579cf44efdd014a89a5454bbba28c2a51c..075bec045f52902291b01cb5d79d0a585ba77da9 100644 GIT binary patch delta 125 zcmZp0XmFU|!L;N3L@!k!xv`L!1xRgfV0q0bwd4ItdxcB?Ggc|gU#pP&a*-m4-tiuY zCbzQnvuu9vQ@&Y(otqJ)L6u_yGmxIVo%<<>n#ZF9qR#MGf+%)g6CkzOmRC)P(P(mt Ld=*IWfxH3$?Tj|Z delta 125 zcmZp0XmFU|!SwUnL@!k!xv`L!1xRgfV0q0b_4C_GdxcB?Ggc|gU#pP&a*-m4{`n1v zCbzQnvz&hKGkdcHJ2xXpgDS@aW*|LzJNHu%HIGLJM4jQW1X1j~CO~SlEw7poqv7Nf L`6`g$19=4i;OIK4 diff --git a/bin/basic_mega65.rom b/bin/basic_mega65.rom index 7ed322bc82b7c5891c9aa0635c1b252fd78fe130..31f6c4df7248f6e41126940a2371d17dce745201 100644 GIT binary patch delta 140 zcmZp0XmHqYh=pnYm(535elkk!|FY6v;nM$%RSNUhDx7?}ND)Nu{{lptud~fzWIFkD zaw$g;Ncl+)BSs)S`7fsqh|=b=1W{>RCLqZMZ PjV7naSAjG>kXHZzz6wH> delta 140 zcmZp0XmHqYh=qyc`{pAoKN+PszOS@bxb#0`mBReB3cTMJDS~K@??ANqI@=sZCf@Ip zOF4o-%1?3_F#_qye>rtPls1hb2cC4ohQg> OI5|bW3Z(IYyaE88;WvB$ diff --git a/bin/basic_testing.rom b/bin/basic_testing.rom index 89d34c309db3b3b338903a8c31013f2b420e0454..eeeba8125060c0162b25a3076549287740696821 100644 GIT binary patch delta 76 zcmZp0XmHrz$HLO_&WB}k5Q`3D@8)`zvrLSWCi}8SF!oMf#%{=|@L}l&1%(d^y^|lX fI|CJ{a73^GsahU4M#f2-kMPbHWHg$bB0mQJ{(%}) delta 76 zcmZp0XmHrz$HKDUosaV5AQm0QrJL(n&N4Bsn(WIS!MJqtGIm2wmk&!fD7bu3SUULu fyE9OM3P%JBkgDZzV`N;l`3UcPK}N&LDe`jwE@m5g diff --git a/bin/basic_ultimate64.rom b/bin/basic_ultimate64.rom index 05bf4fc70e56ebf4a2d6d064475342e1e1818528..025ea811a31f6306a9774d5d19d6ce69e04550ac 100644 GIT binary patch delta 170 zcmZp0XmFU|q0#(drM<$X{~4W|9ykV5YrbnUqgF^G<7PblObsv2GePc+NtjKON*?^sGaxD8XphguATV}?N$w}P7 wjLnm`aX$l+b9r=u4`?L=}ir*O$CM&YrOg3O=n;gr245(3s!?F xV8+>#w{brMl5=@dvS?VnHe#DzA!m<}tgi&{pjPf&kA7>a*#8(xj)@_-1L``m!uO^Pt zgl1euo5v4Ms;1uhNqg_HNxL{CeCkdezcHmI)z@&iY<@_XfzfL??yng^UoLt4XGTQi zn#6lZZesp3yYHcWwC6DA6V)VS3E|T-i4&3sy%P5FXn?|0#Mu$D+-Uk*{Ts`2Pgxpy z=j%;rDbtZ72mk5cx&6lQ#qJHaKKZC|^V9-`Z($(<9}Sb%#HUiq=3Q&wx#B~VM|&2? z7l}5uj2M%;clQSyl2C6D^#{>wA><3X4YFsa?z_fY_XPw>zJ{g9pSo-YR?bDkFjH_siTg|+DpzG)@?1JcR^v77w8sO z6s6sB8+z{tVSn%4U=$ghmYAZ}{RT=P2(JsOqIp`<(By9$ehh<6gX!`_Lw>bkOD2cE1q<)G`Kcvo!wf1Jao*t3H2)XF6ss&t~RRxZLXyVjayWFH20!>zj z^rmPMIb?NaI){Hi zN-egWzi5zVFOQjN{B+dO=0F||AJIU-2g!?;{id69@%7iqXO^N3wOTC-P3f!%^&H@6 zYJ9C?+Q(BKSL!;c1U!b>Mb5Uxt2(g%1Vf@(ESGZjwsRB-Qit2}-|>tk^F ztf#rp47dHMCU>_~aPqm91DxE`a+texycu#H3w$nYjiGM*4Z0B0Ne)zZhVlXXw3OTv zQq3PN#m|&I@sqvVm?z&oyPRdW)oSuNp8^7S<&7E}Wx?x%gbV$Xud-?zKL3~~7N7`|LWixh`KkO}+?@S=B& z@~9&&Jg3QBU9a8Rx+2qiLD^t$gq7&ajG2L>I0yiXQbyk zBk=giMa9{2ok5!x-I*?CNLR8$mj*`Exe12uFMM9^w99Ahq$+)HwL?1VkUAk8S9wPb z*Ep-7#w#cK^3@qpZWI!fs8uXc7!l=Boz)h#AXsNnMG#DaE;QRAlV&}Ws6UFAhaGLG zcox@caGxe%NxM~q>UcN-t}dOgu8zjO#YLxp5}f3v%pI$W!;niW{(Hd140KV;JAb=0 z&}CKG5`d>GfIVR-_QJ-vBe9!d05(PjO+Lx_{Ww)b?RnkT0x-8+YjouQ6k8PVa;p)!u92cqhz(PPii82_K1d!pgEXyp`9> z^`1QI>!W7yXZ`uCFVOJ$;K)}5P_uU>#R))G9e;nApDoQB`4u4OGbu&A3 zbs9QDIa(O>p$x3uVJ@%ZWuuMf^#FIAv9qknT77I>4lA7Cl}MSrJOM&t7-Zi!th?Rv z$CK~-JkR&{=lglw4!6U9Su{5!6+dc7qPq)ZRGi&c#c{HXuc=(K*E(?zy|-7nrW<9e zy71GiYy9~sY8q~xat^;T<&;CxO|NDAvuUbtZ4|IG5t3$M^&3uv8zbn;C13bVL`FSR z_=luaSAO6JchONcbVLZsRFCdW;?uLb36Bq*P5MQ&X8}HCydgz$ji&or-&|e#jPRCgGmx3QlkyE-ybDW8u2hLs%A||4m1o@}V z&O3=wKe#s%YtthdLy;JIBaX&mUW4L$+~f1>QEwdIilVpUXgYf|9ScdHKjqEzbK{aR zL{pU_K9t0DN%=d1frGfwCDtb5V?;8PY*>nEdXbpd3b!{(mJm%MH4PTQ0i1XZD(6H? zq|Q*ltHfofw$&$FxUr$1CR?`9p zhVvQRAJ(xPek_<_MS%=m-($F*�-(_M1}Hi`P##NwG>xNV*otFe9oXn~l49ANjfQ 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 delta 2325 zcmZ8jdr(x@8NUzqg*025ZT(LN0o`ce7Xb3cpAhPTUbdB)H9mIZ;t;^s0;WFAi-&@1@c}b6ct>Vr(-GtMF zY+)aZ(zPa!#TZ#@G^MosAuanIODkLdc3XP#_JXT_J?rwgi#AzPe|e~4Pts}9qI)h$ z?DI1c>y7cEizolkeU;uwR&*QlJtMtil$pifU-Z^@j8W*oqLAsPhO|z4=+4a%X<>qr z4-{6B`gK)x5Tm>DTqDyu??tV5n+EcwIi5dhZ?_{kSc}pWmmcLP@I_NWl&1&=(eoXr z$EQcS5dJ)b)F8UHpbcGH7&8C+pb$Gpjhl@_l3K{(TPnVy^50|(6xOt?A+H4r<{Y>3PKafo4ni*@5^c%Lkz$srqhh1Ef zce`VVnidTG6$;Gn-=!qe5BxFNIuMic+=j6VMKZN>Cw`!G;|-Hd=KmC?4w;7sVzLo& zWUFz%F=Yw6CwuivB6Cx0=0Wz#8@<5y>#dz}$<<6mEvlZMPH8k&VU`1Ps&L(4t=&yyun z4u)H;iQnp2c{koV-DI9|IB?OV5Nk02vDzZ&-58pV;onX>FE{iy_VK8E&R;1dc3-&b zM=}dkbZ=g*qRk<~C$6U}E}lrdp{GxgGE44}Va3Pdqd`bP{08mzT2!KFsHQ1`1+d&= zP92gI#6n<5j!c8n31_#pgL7r#+^h4!fcQHPgxp5g6co19RJE`=OC z(nUS(vbm}E5OeFY#NvmM0SZ^nd)fyQA>8qZc)8;cBldN?!ic>cHO!rccA!A~WxRP`eDwTtK1()2oA6qZU_Qhu?7_r{WA zEc|%#(7J&EhJ2cyNoSCy^lubx4tW9t`&}BN0{F->Xch4)o}J~z1^<01EYAA}- zQqW-s<8%0FNhg$}s3K4;NSZXS2zvNVOEOQrO*NR;S#4B3)sT^yWz)zq6@k6Lzba#n z)yi1psfI?LKo4kW)Jtg^x~pmE9(3iYz7M^89GC>(4fGoMxxOT8Z~@IM`QCE$h^~S% z`98|j1PJ>+A0spCtc6jLx@Ge#Ch%*MgF(;l`zk3rL3+W8UR1Cu~1 zkG!i71UL@(4ez(PQvGGF6#tKXEa~E`8${L7jdspsT@;qLY3k#6i0WwrT#h{C3dzlM zt}gECp9E3Dik3^wph3?Zz8Z2&kyu?X#DPVLdgiFHOd1An1a0WsFyl+t) z(FJ7VU_cBMs6fYki`srbc}pm6`&-Ngu!?-xRUy|?3Aax`^j}H+6T%58nXDgIZdy5noEEq9AZp7TAqzJaM7F?D4oiWpDzZuV^D+l z?P+w(pca=FEvd*lm{0=)q$g`L-AV3ceRus)rE64X;R){wNM_H7Tr@ZW+7Um|HY2-j zo6`X5KRFk@^UfuBehLgd{of|FwsM+W?6c+5#Kmxi+EF2P22GQx^*b0gOtQ02&=urt zb`|rULgeh9(9@(MXB({}$8%n$qvX?^ob4c}0#KEBUi*vjK8E6kR=cj%-Z2M+LKwts z4C=RqXHb-E&9$zHKTZhBl?bWK%}tq!h`pdC$iPel6_ew++bkt2eq#>TOkw>aoTp-c rko4tl$UCgy-ze4jZ1onl`dJothw?q@oX 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 diff --git a/bin/kernal_ultimate64.rom b/bin/kernal_ultimate64.rom index a2b05e35494b987e7cec93cba939b7a219cedf6f..1d79fd746ad105ff1016c31f80bb9ebc9ace6510 100644 GIT binary patch delta 2082 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 diff --git a/c64/kernal/screen/screen_grow_logical_line.s b/c64/kernal/screen/screen_grow_logical_line.s index d2995b3c..b90f36de 100644 --- a/c64/kernal/screen/screen_grow_logical_line.s +++ b/c64/kernal/screen/screen_grow_logical_line.s @@ -36,7 +36,13 @@ count_rows_loop: cpx #0 beq no_copy_down bmi no_copy_down - + + // Preserve EAL + lda EAL+0 + pha + lda EAL+1 + pha + // Set pointers to end of screen line, and one line // above. (It is always one physical line, because // this can only happen when expanding a line from 40 to @@ -105,6 +111,12 @@ cl_inner: dex bne copy_line_down_loop + // Restore EAL + pla + sta EAL+1 + pla + sta EAL+0 + no_copy_down: jsr screen_calculate_line_pointer diff --git a/c64/kernal/screen/screen_scroll_up_if_on_last_line.s b/c64/kernal/screen/screen_scroll_up_if_on_last_line.s index 8f8281b9..1ad713cc 100644 --- a/c64/kernal/screen/screen_scroll_up_if_on_last_line.s +++ b/c64/kernal/screen/screen_scroll_up_if_on_last_line.s @@ -28,6 +28,13 @@ is_last_line: // FALLTHROUGH scroll_screen_up: + + // Preserve EAL + lda EAL+0 + pha + lda EAL+1 + pha + // Now scroll the whole screen up either one or two lines // based on whether the first screen line is linked or not. @@ -88,6 +95,12 @@ scroll_copy_loop2: dex bne scroll_copy_loop2 + // Restore EAL + pla + sta EAL+1 + pla + sta EAL+0 + // Fill in scrolled up area ldx SAL+0 scroll_copy_loop3: