From 00074fac7d330faa568e3070230c38c8922e4b72 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Tue, 20 May 2025 00:13:59 -0700 Subject: [PATCH] GB Video: Fix window enable edge case (fixes #2640) --- CHANGES | 1 + cinema/gb/window/smurfs-score/baseline_0000.png | Bin 0 -> 2992 bytes cinema/gb/window/smurfs-score/baseline_0001.png | Bin 0 -> 3008 bytes cinema/gb/window/smurfs-score/baseline_0002.png | Bin 0 -> 3017 bytes cinema/gb/window/smurfs-score/baseline_0003.png | Bin 0 -> 3018 bytes cinema/gb/window/smurfs-score/test.mvl | Bin 0 -> 17277 bytes src/gb/renderers/software.c | 2 +- 7 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 cinema/gb/window/smurfs-score/baseline_0000.png create mode 100644 cinema/gb/window/smurfs-score/baseline_0001.png create mode 100644 cinema/gb/window/smurfs-score/baseline_0002.png create mode 100644 cinema/gb/window/smurfs-score/baseline_0003.png create mode 100644 cinema/gb/window/smurfs-score/test.mvl diff --git a/CHANGES b/CHANGES index 3a7b590f8..0db36e95a 100644 --- a/CHANGES +++ b/CHANGES @@ -20,6 +20,7 @@ Emulation fixes: - GB Memory: Initialize HRAM when skipping BIOS in GBC mode (fixes mgba.io/i/3420) - GB Serialize: Add missing Pocket Cam state to savestates - GB Video: Implement DMG-style sprite ordering + - GB Video: Fix window enable edge case (fixes mgba.io/i/2640) - GBA: Unhandled bkpt should be treated as an undefined exception - GBA: Add baseline CP0 (Wii U VC) and CP1 (DCC) implementations - GBA Serialize: Fix some minor save state edge cases diff --git a/cinema/gb/window/smurfs-score/baseline_0000.png b/cinema/gb/window/smurfs-score/baseline_0000.png new file mode 100644 index 0000000000000000000000000000000000000000..28e647945c656da0ac97dc92f60862b7ed67feba GIT binary patch literal 2992 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 literal 0 HcmV?d00001 diff --git a/cinema/gb/window/smurfs-score/baseline_0002.png b/cinema/gb/window/smurfs-score/baseline_0002.png new file mode 100644 index 0000000000000000000000000000000000000000..4d39f3c2182a8677dd862e25b77cadc6096394a9 GIT binary patch literal 3017 zcma)8cTm&W8vTLNdo>6eiVMspJ)h@49 ziX5$oNl{#?QrC6rdel|;c)qb%JX3h0(hc^Zg&bNh6YE8m)i1rAt~4|>3RyLKdd$m`2lp}oDh7be8}nyixryhwS|*%`;dxeVF~&ZhAU z?`F%JezCP^sYX><*_Yx%=^jHl3GS(I!eEvbeBeug7bD!YBeNwsXZcbz=@C5$eR%(l zet6_mtb%OlINF&^%=J12+#a>1Bzf^9!7pGjl~E^DW8V$Y#&<4POs8SC=`7P6)6OG5T(>J^t17Kr}L9U%H=} z(`r9_|3&?ZG2GhUCKa4ttKA&D5rQ2aMg*L;eOOuBG+8lbh&i8+>ofos<+BFb0<0>S z+HgaEznc|Uh?T-dLsr4sjFJ`ZVNS;$^G;wk%>Jjf6vz3QqNhxUsA$zfNox~;rsx=) znB1|53s>@Y(F#aeQZ<$x^g>W-D-KWXDS2t^TKiqL4d%Nc{rh z>qUZ^E*nQHX=@|GLbx|1ZPk91&vi}Itp3iDB(KZyRac@pqhr5oB!LR*cdAuh5Z|8) z3ESx#;eDV>)7t**Rr&~62%FQow{`a6a6buL6H>z8biXMpWUH9WdEDucdDU3gxQE_G z3IF~U>oHc|JZwnpLTw_v58lj}ohEKs)ypAV>_Y`wr$RPO+UwKH6{61PdwOEU2Kbz zAr{p>v;I1gC753bl0p>U$cL0%J<(WSU#7tXr=gJi@ng)=Y?`WX-p@`%Tj7z`2o;mo1YXIX+N3+yvT?%Mu5~kVtWg2uR0^R%Ry7dPK zR5*oX-Y8|X(o}(^l)0}|&m@;8=DB-v|Jr!s{Iy1iPz3%XcFL|9ouOmZ z@8(xhK?A&?+lay7cQda(vHEuWNG<5FocFx7!tbr~o-$tiMLEG`Li9POBgZV!7AJ_|nDn~El z&{|F(_8LHvd>AG6664Eg99e|aT!~uQ{*b;PgEh~oFMUMNE((8MWEnc7NH6m>N*ybyvumNrIy|$RR z#I-B?(FtpwOc=FP6=*#>&hfi^n*krSSW);tmECEA4mgizm5%v7b4Z`z{?F2%qJPv? zw_zw;CPo7V&X!FAx!@bs*S#1E7d_PojJ_v2V$=I7h7ky4So{_CjjS=d2OCuYaXN}g ztG|BWt|avCY`sXXBP_vKOcHS8`l@}`s@H?qa)KZUJi0n7R=5nIH(fJLX8|&ekKVC8 z7JQQTU(+$ zeRswSD&lKNgi74kHXcsF3?G2qhUy_S!qz&l6UKCD;FNY8d=4ddHVA6`9O(dDaNonj zl6*G!P;mSTVO>Y~#PLT@f`GZn1eEEKJQKb(%Ajg2_@IbI4l_k{VA;iO+Qc(eP|(H} zpcCJw{{VG%{po2^NAW;vS1{D<$ejNdp1&{I4?h=5e;s2Ao$VGGJip^7jyLd>CZla| zbZ=*tr5pKKMcwZEHa}7jD}+U-2SGPq3_eKPvxXQOG>sJYPOMM{c~5h<@M?)s z-ol)o6dD-t`QEKVsC#a!6nAv-_IHe;H>Dssk{Qb#5{Brp}Q>%Pp$$-UbJ=2qrmfkK(Rn~vNprTwuA@o|JNU+hKHSYi6THx(}@ zS6%p}@B&`>%Gf3C5ozG+-sV`I-`;jTeUm}kBp?bD9TI)Hqqwoqt#hki;}4S*o*vS- zd@Ncv&yG*_Cf+Vnl!>vVh#LxM;1u7}ZQYcalM1IT6=bgA3F|l13~0!?yjs}~5vA zLL%iJu})?7@gS;`1)V`)bJdy#1}D^DI?v4@ckQry7U_6T2g3=yny@11q{c`PlF;5z zXT7HrK^H_>v@^(Uk~fe>SH@sP8?ol-@6Lsz>(0{Ba{rZhe<$L%!2N$O)J3KMDx|>d T6YhZTx2B6QE7K}tw}gKJ6n>qj literal 0 HcmV?d00001 diff --git a/cinema/gb/window/smurfs-score/baseline_0003.png b/cinema/gb/window/smurfs-score/baseline_0003.png new file mode 100644 index 0000000000000000000000000000000000000000..a746b2efd6355b2d521f04f5659d41f4094e7cd1 GIT binary patch literal 3018 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 H`X~Jz$;Obq literal 0 HcmV?d00001 diff --git a/cinema/gb/window/smurfs-score/test.mvl b/cinema/gb/window/smurfs-score/test.mvl new file mode 100644 index 0000000000000000000000000000000000000000..7e30d877e4c7329d0d6614f9c310c00b7ceb6c1b GIT binary patch literal 17277 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

uV?)=`}g@6Go-Bd-pnd|hp!XN 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 X1K)c^Ti}kGa@1Dx`5*M~Kj;4dl?@t` literal 0 HcmV?d00001 diff --git a/src/gb/renderers/software.c b/src/gb/renderers/software.c index 76a0c55da..08e703b19 100644 --- a/src/gb/renderers/software.c +++ b/src/gb/renderers/software.c @@ -268,7 +268,7 @@ static void GBVideoSoftwareRendererUpdateWindow(struct GBVideoSoftwareRenderer* if (renderer->lastY >= GB_VIDEO_VERTICAL_PIXELS || !(after || before)) { return; } - if (!renderer->hasWindow && renderer->lastX == GB_VIDEO_HORIZONTAL_PIXELS) { + if (!renderer->hasWindow && renderer->lastX == GB_VIDEO_HORIZONTAL_PIXELS && renderer->lastY != oldWy) { return; } if (renderer->lastY >= oldWy) {