mgba-emu / mgba

mGBA Game Boy Advance Emulator
https://mgba.io/
Mozilla Public License 2.0
5.58k stars 765 forks source link

Rumble should work even if 0x80000C8 is not set #3234

Open afska opened 2 months ago

afska commented 2 months ago

Hi @endrift, thanks for fixing https://github.com/mgba-emu/mgba/issues/3232 I've just tested it and it works! However, I found a new issue:

gba-rumble-example-no-0x80000C8-write.zip This ROM works on the EZ Flash OmegaDE and insideGadgets carts, but mGBA doesn't autodetect its rumble features. Even when forcing it via override, the vibration doesn't work (it seems to be ignoring the Data and Direction port writes, based on the memory viewer).

According to GBATEK, this should work since the Control port only determines whether the addresses are readable or not.

EDIT: Explicitly writing a 0 to 0x80000C8 makes it work, but only when enabling the feature via game overrides.

endrift commented 2 months ago

I'd like to check to make sure this works on official hardware, not just flash carts. Can you provide a multiboot build of the test ROM too?

afska commented 2 months ago

Sure, here's a multiboot build: gba-rumble-example_mb.zip