- Partial rewrite to clean up dipswitch struct to prevent potential crashes
- Fix problems on vs games without dipswitch to cause core to crash
- Create dipswitch struct based on new core options layout
In the past while fixing state problems i Wii, this section was the last one i found to be a problem as well. Ignoring this state variable fixes the last Wii state loading problem. PS3 has recently been reported as having state problems and could be similar issue. So, lets just ignore this state variable for all big-endian platforms.
- fixes (if necessary), update and cleanup the following boards that now dont need alternate mappings:
- this is part of migrating unif to be usuable in ines mappers
- boards affected in this commit are:
SUPERVISION16IN1, GS-2004, GS-2013, UNL-SMB2J, MARIO1-MALEE2, UNL-SA-9602B, UNL-KS106C / RESETNROM-XIN1
UNL-AC08, NES-NTBROM, BMC-K-3033, BMC-GN-26, BMC-GHOSTBUSTERS63IN1, BMC-830425C-4391T
BMC-830134C, BMC-891227 / BMC-CTC-12IN1, BMC-JC-016-2, UNL-T4A54A, UNL-8157, BMC-T-262
(might have forgotten to list some...)
- Part of migrating UNIF to NES 2.0 conversion, which should make
each unif roms to be compatible with each other. Some roms have
separate prg and chr banks, which mapper has to do separate banking
for such file versions.
- This change would also make the boards to be easily usuable iNes/Nes 2.0.
Currently reads and sets the following:
- mapper number up to 4095, prg rom size, chr rom size
- chr ram (volatile + non-volatile), region (ntsc, pal, dendy or multi-region)
todo: submapper handling, w-ram and prg nvram at least...
- As stated, prevent a potential crash on some certain roms using split rom banks. This is done by counting the number of prg/chr banks loaded and using this as limit count during mapper bank switching.
- Update related boards.
- Smoother states loading by using the the register value used during call to Sync() instead of the last value written since write and sync are called at different times.
- (reg value written @ $4A000, sync happens $5100)
- A few multi-cart UNIF carts are incorrectly using vertical/horizontal mirroring but the mapper used has mapper-controlled mirroring which does not work when using previous hard-mirroring.
- This PR allows overriding the initial mirroring set (vertical/horizontal) when cart requests a mirroring change for multi-cart games.
- Update exiting game database based on latest changes and testing (reference nesdev for one)
- Update mapper 36, supports F-15 City War (Spain) (Gluk Video) (Unl)
- add Reset function to m177, fixes games freezing when reset is pressed (might not be a hardware behavior, but its annoying for emulators :D)