mirror of
https://github.com/holub/mame
synced 2025-05-18 11:39:29 +03:00
Super Game III: added handling for two consecutive writes for MMC1 making Snow Bros playable [Mariusz Wojcieszek, Fabio Pruli]
This commit is contained in:
parent
dfe3ee87db
commit
47f9b653bb
@ -631,12 +631,28 @@ static int mmc1_rom_mask;
|
|||||||
static UINT8* multigam_mmc1_prg_base;
|
static UINT8* multigam_mmc1_prg_base;
|
||||||
static int multigam_mmc1_prg_size;
|
static int multigam_mmc1_prg_size;
|
||||||
static int multigam_mmc1_chr_bank_base;
|
static int multigam_mmc1_chr_bank_base;
|
||||||
|
static int multigam_mmc1_reg_write_enable;
|
||||||
|
|
||||||
|
static TIMER_CALLBACK( mmc1_resync_callback )
|
||||||
|
{
|
||||||
|
multigam_mmc1_reg_write_enable = 1;
|
||||||
|
}
|
||||||
|
|
||||||
static WRITE8_HANDLER( mmc1_rom_switch_w )
|
static WRITE8_HANDLER( mmc1_rom_switch_w )
|
||||||
{
|
{
|
||||||
/* basically, a MMC1 mapper from the nes */
|
/* basically, a MMC1 mapper from the nes */
|
||||||
static int size16k, switchlow, vrom4k;
|
static int size16k, switchlow, vrom4k;
|
||||||
|
|
||||||
|
if ( multigam_mmc1_reg_write_enable == 0 )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
multigam_mmc1_reg_write_enable = 0;
|
||||||
|
timer_call_after_resynch(space->machine, NULL, 0, mmc1_resync_callback);
|
||||||
|
}
|
||||||
|
|
||||||
int reg = (offset >> 13);
|
int reg = (offset >> 13);
|
||||||
|
|
||||||
/* reset mapper */
|
/* reset mapper */
|
||||||
@ -758,6 +774,7 @@ static void multigam_init_mmc1(running_machine *machine, UINT8 *prg_base, int pr
|
|||||||
|
|
||||||
memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x8000, 0xffff, 0, 0, mmc1_rom_switch_w );
|
memory_install_write8_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x8000, 0xffff, 0, 0, mmc1_rom_switch_w );
|
||||||
|
|
||||||
|
multigam_mmc1_reg_write_enable = 1;
|
||||||
mmc1_rom_mask = (prg_size / 0x4000) - 1;
|
mmc1_rom_mask = (prg_size / 0x4000) - 1;
|
||||||
multigam_mmc1_prg_base = prg_base;
|
multigam_mmc1_prg_base = prg_base;
|
||||||
multigam_mmc1_prg_size = prg_size;
|
multigam_mmc1_prg_size = prg_size;
|
||||||
|
Loading…
Reference in New Issue
Block a user