Open getCursorsExe opened 1 year ago
See also #3524.
I'm guessing this is unintentional; the system bus is implemented separately from the other domains.
It's an "issue" upstream. IO/PALRAM/VRAM/OAM are unimplemented https://github.com/mgba-emu/mgba/blob/dbffb46c4e7d2e7a2cbed7c3488cece4c2176d4c/src/gba/memory.c#L1362-L1373 SRAM is partially implemented (only works when it's actually SRAM and not Flash/EEPROM/etc) https://github.com/mgba-emu/mgba/blob/dbffb46c4e7d2e7a2cbed7c3488cece4c2176d4c/src/gba/memory.c#L1388-L1396
In VBA-Next, we could write to IO/PALRAM/VRAM/OAM as intended.
This would mean that debugging functions in mGBA core aren't even finished at all, but VBA-Next, it was.
Since GBAPatch16
and GBAPatch32
do implement those things, we could fix it in the memory domain by adding separate writeshort and writelong implementations. This would probably be good enough, as in real usage you'd have little reason to write only 8 bits at a time to most of these locations.
Fixed in upstream bb8a6e05f9fb440efdf2121f08448814d6a7ed1f. No one ever told me this was a problem so I never knew.
At http://problemkaputt.de/gbatek-gba-memory-map.htm these mentioned memory locations are suppossed to be read/write, but in mGBA you cannot poke them manually, just as if these memory locations were completely read-only.