notaz / picodrive

Fast MegaDrive/MegaCD/32X emulator
Other
291 stars 165 forks source link

32x ignores bank switching #75

Closed gitymon closed 6 years ago

gitymon commented 6 years ago

SH2 access on ROM addresses ( 0200 0000h - 0240 0000h ) ignores the bank setup registers (A1 30F1h - A1 30FFh).

reference tests i did on hardware (Everdrive) and emulator (KegaFusion) do both rewire the accesses, and allow me reading above 4MB from 32X.

( I can supply a test ROM if the problem is unclear)

notaz commented 6 years ago

Yeah I haven't bothered to implement it because no 32X games ever used that mapper.

I've pushed an attempt to implement it. It will only activate if the ROM size is above 4MB; I don't want it on by default as the vast majority of carts don't have that mapper. If it doesn't work, please provide a test ROM.

gitymon commented 6 years ago

looks like it still ignores the regs a test rom: bankswitcher.zip rom randomly switches banks every 3 seconds and compares by reading from all 7 mapped banks. (verified on everdrive v2)

notaz commented 6 years ago

Thanks for a nice test, I think it should be good now.