From 89a2b467dd18b1bf56dbf2d8119cc1443e83316d Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Fri, 27 Nov 2020 22:55:58 +0100 Subject: [PATCH] temporary workaround for MEGA65 DevKit vs XEMU behaviour difference, fixes C64 mode --- bin/mega65.rom | Bin 131072 -> 131072 bytes bin/mega65_pxlfont.rom | Bin 131072 -> 131072 bytes src/,,config_mega65.s | 5 +++++ src/kernal/screen_m65/mega65_scrmodeset.s | 3 +++ 4 files changed, 8 insertions(+) diff --git a/bin/mega65.rom b/bin/mega65.rom index 2b08841d6f21ee98036f0bee0fda1481fa9d16a0..08a2d57bd569197d611eeeb9742c81ad4b39fecb 100644 GIT binary patch delta 1301 zcmY+EeN5bR7{{;2l{-WPjp1dtV^0{!h$tIdrjBI3BuGs9M|;=y+H&rWU{FlvVwRYV znC%R9_%hI1)c4% zflfxfCDhww-n(tPN7B!!N5H`un>&Wu9fyuXnKx!PXFo8PP948s-m*H`9cjsGe5Kts z(`n8@8IgUjXW}#7F6_*5#LgP&h=Ba)^EePjBZ>RorRvFUzA`PJGhTo>79o7g=WUo{ zBRR%8%p<8Fu}q4fbt0@ww=lUr%#4#oUU>=?+mZ@z#BR8uMTk2wHL@d_*2(!lMJ;I% z3ZJO6xHZ$ghv?=zbZ-;gyh6hPQ3uG7;0v+$ki8@mLoyF zKMe5ro@eec5!uRQ!B}Xw_4UVIp%*ziM#WvR6!Q|!>?~dbxdCGozVRWB0X|wz!_d8n zQrc?BLUbd|d>+uE>WJ2_4u`Z6^}IH$eiwo|67e@YB1++O1h7m)g#;qWmENJQl24@E zm##{hUzIgURmS|994j_|(v(=4c~RFPA?Y?;U|!Ng3?_q^Xnt#vtX`WH$&es7rQ!{3 z{_qX>TL}NwTW_Yhn(NK*6h;UzRQ`nXKaJGfU)GQdIt_R0^q-uNYaB7Cd@5xNm! z#pHy!7=j=REi4SOFjWm10rQ9+$Q<0uw%Mo)S<4#Ly!9bUx2dh*^%)72fi3C$>%&OVoX0{J-g2gO@k=|? z6^Nx6&MW&MgB(^^@~85o=ZZ3|neoEWaWexqG1W;uBhj#$8@geB1vMm7@i=#I;JFJs z$yTL+sv)9MYHw0VcJ+r_^5uygX{i4Nx@|f781;A0xok*>YBx*aBUwr1@PQ~Nw&id=g3Il z4Tmb}-$ysUdWy>5$!SwvC85Q`w?Bf=Y}Yh86{#cfq>stct{}CC@WK5>2SgYY!DD>_ q{|1(ClaoQ`TjR)Dg{tU6@Xet0+lvOzy;fuejbk%s#%8D;?tcL5U@_$Y delta 1355 zcmY+EeQeZp7{}Y&y1PNxrXl0-HhhAEWrz;v#Kk2F8bC-*+PmIe+nroBivs_Un1u{7 zLyhYYlOrcT1Y~Y(r{(O(pxga{m=LDhE!<*E=P(dZgD~C}kjq}&8=F2oA;$jk{GOM7 ze{Da{^Q)@5RMiz-oVBK+vTMoR*OpBQVP8E@;q`%JhJM*PDskQoT%+9LKM+&`UF%B= zh`@bORL3O`o6~F^2Qz-C-ZOQK`2V<1OvBu~xfdyrkWQdLH^G;l9^!KvZU1{06Nx8+)}lwDacjw9}wBG;7UO z@5RkOp`D!e7Udq};20O9;262+Eu-Hh^WMs}d7^P%I|vh;xhB@rmfds&z?*VdBcE8~ zCyoqQ_w7nyEH{%)Pq$ISaqAuc+2(scAK!bTBwmo6I%_UOEaZ1zaW(>~BY*oEXqhw! z8`kIZ<~sO|gGO((=(}qWeep!A-rGXacl18nHnn0gx&(pXk^`GLc3jZo2zBs21~+=y zv&7+-pTk`$AMN5WJ<#M&J25m1qxtsY{GUP~`~4*=gErp?)7ivCrkKusOk|pYodE-2 zJ_v^bolTCie00f>-%A5o8R*(uD8NYIiWd$DlS^euFCcV%z(tW)e zlO8p#fWYfRY4_uP|0jMV^M_e~7_=ZX`%D)!1R*Zqcb=JNKa%Wdi{Bh=qq@3No0&0% zNzrLnD$5$gKAy#Uz#TG^VE7P6Tu7{Epl5!lnz0L8{D}&NZ4c=QtxxaPdKJA-`$6y3 zzE>bfjtBSTZ4%Xm2w;+d)go*nrQ$AnkhF^K*9S#Cs7bo0$^AiHN|jna>vF2x`q41p zo@h{L;F@SCEC%N=(1W%S?OKcNNpO!$iKR~;2&%W>wqO0DbGw!6ifp&kOX!tNs^d8L zIPb4YOZV1F83ve`g<9z`*ISp>qw3*mMCd_;)fb1XF$Fjdnm9Pc!KE5l6oSh>(mDq# ze2JrTZPaJo7jX8__Api!dObZBp1Q8?w5yD^vNNbqi>Q8z<)5qNaH<9hCUrXU<^tNF zv}Sn2XU?JwsLW}&(TfzV2bk!ID;0D$8_UsfQ@ZmAO2mz0ERIL}Ad89YmB@lfs() zFXT&$B}$qTpOKbIe~Duv&kKBzm-#P+7NJ!*F0={lLQMEd_*z&cIi+)ft;DL?NZ%w& zLhqp69V%Nsz{BV)J2MLdJe%{-CRFmU9;O5+o`NJ7bAUnGjCgWSfv_gdN?iD)&a4GY3* dsuH8&9bx-tnFyb+U12*P_Ya@xAEsaN`~!Y#Ql|g_ diff --git a/bin/mega65_pxlfont.rom b/bin/mega65_pxlfont.rom index 4c18426b18af275edf78f3993412b284301d5bd5..016048093554faa37f9b9294845e0b992761dfdc 100644 GIT binary patch delta 1301 zcmY+EeN5bR7{{;2l{-WPjp1dtV^0{!h$tIdrjBI3BuGs9M|;=y+H&rWU{FlvVwRYV znC%R9_%hI1)c4% zflfxfCDhww-n(tPN7B!!N5H`un>&Wu9fyuXnKx!PXFo8PP948s-m*H`9cjsGe5Kts z(`n8@8IgUjXW}#7F6_*5#LgP&h=Ba)^EePjBZ>RorRvFUzA`PJGhTo>79o7g=WUo{ zBRR%8%p<8Fu}q4fbt0@ww=lUr%#4#oUU>=?+mZ@z#BR8uMTk2wHL@d_*2(!lMJ;I% z3ZJO6xHZ$ghv?=zbZ-;gyh6hPQ3uG7;0v+$ki8@mLoyF zKMe5ro@eec5!uRQ!B}Xw_4UVIp%*ziM#WvR6!Q|!>?~dbxdCGozVRWB0X|wz!_d8n zQrc?BLUbd|d>+uE>WJ2_4u`Z6^}IH$eiwo|67e@YB1++O1h7m)g#;qWmENJQl24@E zm##{hUzIgURmS|994j_|(v(=4c~RFPA?Y?;U|!Ng3?_q^Xnt#vtX`WH$&es7rQ!{3 z{_qX>TL}NwTW_Yhn(NK*6h;UzRQ`nXKaJGfU)GQdIt_R0^q-uNYaB7Cd@5xNm! z#pHy!7=j=REi4SOFjWm10rQ9+$Q<0uw%Mo)S<4#Ly!9bUx2dh*^%)72fi3C$>%&OVoX0{J-g2gO@k=|? z6^Nx6&MW&MgB(^^@~85o=ZZ3|neoEWaWexqG1W;uBhj#$8@geB1vMm7@i=#I;JFJs z$yTL+sv)9MYHw0VcJ+r_^5uygX{i4Nx@|f781;A0xok*>YBx*aBUwr1@PQ~Nw&id=g3Il z4Tmb}-$ysUdWy>5$!SwvC85Q`w?Bf=Y}Yh86{#cfq>stct{}CC@WK5>2SgYY!DD>_ q{|1(ClaoQ`TjR)Dg{tU6@Xet0+lvOzy;fuejbk%s#%8D;?tcL5U@_$Y delta 1355 zcmY+EeQeZp7{}Y&y1PNxrXl0-HhhAEWrz;v#Kk2F8bC-*+PmIe+nroBivs_Un1u{7 zLyhYYlOrcT1Y~Y(r{(O(pxga{m=LDhE!<*E=P(dZgD~C}kjq}&8=F2oA;$jk{GOM7 ze{Da{^Q)@5RMiz-oVBK+vTMoR*OpBQVP8E@;q`%JhJM*PDskQoT%+9LKM+&`UF%B= zh`@bORL3O`o6~F^2Qz-C-ZOQK`2V<1OvBu~xfdyrkWQdLH^G;l9^!KvZU1{06Nx8+)}lwDacjw9}wBG;7UO z@5RkOp`D!e7Udq};20O9;262+Eu-Hh^WMs}d7^P%I|vh;xhB@rmfds&z?*VdBcE8~ zCyoqQ_w7nyEH{%)Pq$ISaqAuc+2(scAK!bTBwmo6I%_UOEaZ1zaW(>~BY*oEXqhw! z8`kIZ<~sO|gGO((=(}qWeep!A-rGXacl18nHnn0gx&(pXk^`GLc3jZo2zBs21~+=y zv&7+-pTk`$AMN5WJ<#M&J25m1qxtsY{GUP~`~4*=gErp?)7ivCrkKusOk|pYodE-2 zJ_v^bolTCie00f>-%A5o8R*(uD8NYIiWd$DlS^euFCcV%z(tW)e zlO8p#fWYfRY4_uP|0jMV^M_e~7_=ZX`%D)!1R*Zqcb=JNKa%Wdi{Bh=qq@3No0&0% zNzrLnD$5$gKAy#Uz#TG^VE7P6Tu7{Epl5!lnz0L8{D}&NZ4c=QtxxaPdKJA-`$6y3 zzE>bfjtBSTZ4%Xm2w;+d)go*nrQ$AnkhF^K*9S#Cs7bo0$^AiHN|jna>vF2x`q41p zo@h{L;F@SCEC%N=(1W%S?OKcNNpO!$iKR~;2&%W>wqO0DbGw!6ifp&kOX!tNs^d8L zIPb4YOZV1F83ve`g<9z`*ISp>qw3*mMCd_;)fb1XF$Fjdnm9Pc!KE5l6oSh>(mDq# ze2JrTZPaJo7jX8__Api!dObZBp1Q8?w5yD^vNNbqi>Q8z<)5qNaH<9hCUrXU<^tNF zv}Sn2XU?JwsLW}&(TfzV2bk!ID;0D$8_UsfQ@ZmAO2mz0ERIL}Ad89YmB@lfs() zFXT&$B}$qTpOKbIe~Duv&kKBzm-#P+7NJ!*F0={lLQMEd_*z&cIi+)ft;DL?NZ%w& zLhqp69V%Nsz{BV)J2MLdJe%{-CRFmU9;O5+o`NJ7bAUnGjCgWSfv_gdN?iD)&a4GY3* dsuH8&9bx-tnFyb+U12*P_Ya@xAEsaN`~!Y#Ql|g_ diff --git a/src/,,config_mega65.s b/src/,,config_mega65.s index 823fb077..63e33307 100644 --- a/src/,,config_mega65.s +++ b/src/,,config_mega65.s @@ -110,3 +110,8 @@ ; --- Other ;; #CONFIG# COMPRESSION_LVL_2 NO + + +; --- Temporary hotfixes + +;; #CONFIG# HOTFIX_CHARPTR YES diff --git a/src/kernal/screen_m65/mega65_scrmodeset.s b/src/kernal/screen_m65/mega65_scrmodeset.s index b060e736..56b2d3b4 100644 --- a/src/kernal/screen_m65/mega65_scrmodeset.s +++ b/src/kernal/screen_m65/mega65_scrmodeset.s @@ -91,6 +91,8 @@ m65_scrmodeset_internal: ; entry point for M65_MODE65 stx VIC_COLPTR+0 stx VIC_COLPTR+1 +!ifndef CONFIG_HOTFIX_CHARPTR { + ; Set the following location: ; - VIC_CHARPTR - for character generator location @@ -100,6 +102,7 @@ m65_scrmodeset_internal: ; entry point for M65_MODE65 sta VIC_CHARPTR+1 lda #$01 sta VIC_CHARPTR+2 +} ; Set the following locations: ; - M65_SCRGUARD, M65_COLGUARD - guards for virtual screen end