Commit 0f67470
Abort a flickered-on window through the map read (wewx 83->3)
The stray 8-pixel window tiles left in m3_lcdc_win_en_change_multiple_wx
were the drop-side of the same LCDC-pulse phase the activation desync
handles: when the window turns on for a dot and straight back off, the
disabling write lands a couple of dots later on our fetcher timeline
than on hardware, so by the time we check, the fetch had already passed
GET_TILE_T2 and pushed a window tile. Extending the window-drop check
through GET_TILE_DATA_LOW_T2 (and restarting the fetch as background
from GET_TILE_T2 onward) aborts those fetches with no window pixels,
matching hardware. m3_lcdc_win_en_change_multiple stays pixel-perfect
and no other test moves; mealybug DMG total 537 -> 457.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J1wLWscyUGS7CFwc3CjJR81 parent 4789306 commit 0f67470
2 files changed
Lines changed: 9 additions & 7 deletions
File tree
- core/src
- main/java/eu/rekawek/coffeegb/core/gpu/phase
- test/java/eu/rekawek/coffeegb/core/integration/mealybug
Lines changed: 8 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
298 | 298 | | |
299 | 299 | | |
300 | 300 | | |
301 | | - | |
302 | | - | |
303 | | - | |
304 | | - | |
305 | | - | |
306 | | - | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
307 | 309 | | |
308 | 310 | | |
309 | 311 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | | - | |
| 45 | + | |
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| |||
0 commit comments