Commit 022d2a2
Resolve the tile-map base at the fetcher's VRAM read
Probing m3_lcdc_bg_map_change to the T-cycle: a mid-line write to the
LCDC map-select bit lands one tile too late because the map base was
baked into the address at GET_TILE_T1 and the read happened at T2, while
the hardware fetch cycle ends with a two-dot push that places its reads
one dot later than our back-to-back restart. The SCX/SCY map offset stays
sampled at GET_TILE_T1 (m3_scx_high_5_bits pins that); the map-select bit
is now resolved at the VRAM read in GET_TILE_DATA_LOW_T1, and the tile
data low read moved to GET_TILE_DATA_HIGH_T1 accordingly.
bg_map_change 2002 -> 962 diff pixels, win_map_change 1924 -> 1404,
tile_sel_win_change 2294 -> 1718; the rest unchanged. Full battery
(mooneye, blargg, dmg-acid2, units) stays green. CLAUDE.md now carries
the measured-but-unimplemented findings: the hardware dot machine runs
~4 T later than ours (tile data reads +5), the line-0 mode-2 interrupt
quirk, SCX%8 mid-line alignment, and the SameBoy conflict-map pointers.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J1wLWscyUGS7CFwc3CjJR81 parent 48805d2 commit 022d2a2
3 files changed
Lines changed: 62 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
239 | 239 | | |
240 | 240 | | |
241 | 241 | | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
242 | 285 | | |
243 | 286 | | |
244 | 287 | | |
| |||
Lines changed: 18 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
| 53 | + | |
52 | 54 | | |
53 | 55 | | |
54 | 56 | | |
| |||
104 | 106 | | |
105 | 107 | | |
106 | 108 | | |
107 | | - | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
108 | 115 | | |
109 | 116 | | |
110 | 117 | | |
| |||
119 | 126 | | |
120 | 127 | | |
121 | 128 | | |
122 | | - | |
| 129 | + | |
123 | 130 | | |
124 | 131 | | |
125 | 132 | | |
126 | 133 | | |
127 | | - | |
128 | | - | |
| 134 | + | |
129 | 135 | | |
130 | 136 | | |
131 | 137 | | |
132 | | - | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
133 | 141 | | |
134 | 142 | | |
135 | 143 | | |
| |||
138 | 146 | | |
139 | 147 | | |
140 | 148 | | |
| 149 | + | |
141 | 150 | | |
142 | 151 | | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
143 | 156 | | |
144 | 157 | | |
145 | 158 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
0 commit comments