mspacii, mspacii2: Fix regression

This commit is contained in:
AJR 2020-12-15 15:24:20 -05:00
parent ce97ced8d9
commit cde6864678
2 changed files with 28 additions and 3 deletions

View File

@ -520,6 +520,14 @@ void pacman_state::nmouse_interrupt_vector_w(uint8_t data)
}
void pacman_state::mspacii_interrupt_vector_w(uint8_t data)
{
if (data == 0xfb) data = 0xfe;
if (data == 0xfc) data = 0xfc;
m_interrupt_vector = data;
}
/*************************************
*
@ -1436,6 +1444,12 @@ void epospm_state::epos_portmap(address_map &map)
map(0x00, 0xff).r(FUNC(epospm_state::epos_decryption_w)); /* Switch protection logic */
}
void pacman_state::mspacii_portmap(address_map &map)
{
map.global_mask(0xff);
map(0x00, 0x00).mirror(0xff).w(FUNC(pacman_state::mspacii_interrupt_vector_w));
}
void pacman_state::mschamp_portmap(address_map &map)
{
writeport(map);
@ -3973,6 +3987,15 @@ void pacman_state::rocktrv2(machine_config &config)
}
void pacman_state::mspacii(machine_config &config)
{
woodpek(config);
// Basic machine hardware
m_maincpu->set_addrmap(AS_IO, &pacman_state::mspacii_portmap);
}
void pacman_state::mschamp(machine_config &config)
{
pacman(config);
@ -7873,8 +7896,8 @@ GAME( 1981, mspacmab4, mspacman, woodpek, mspacman, pacman_state, empty_init,
GAME( 1981, mspacmbe, mspacman, woodpek, mspacman, pacman_state, init_mspacmbe, ROT90, "bootleg", "Ms. Pac-Man (bootleg, encrypted)", MACHINE_SUPPORTS_SAVE )
GAME( 1982, mspacmbmc, mspacman, woodpek, mspacman, pacman_state, empty_init, ROT90, "bootleg (Marti Colls)", "Ms. Pac-Man (Marti Colls bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1981, mspacmbn, mspacman, woodpek, mspacman, pacman_state, init_pengomc1, ROT90, "bootleg (Novatronic)", "Ms. Pac-Man (Novatronic bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1981, mspacii, mspacman, woodpek, mspacman, pacman_state, init_mspacii, ROT90, "bootleg (Orca)", "Ms. Pac-Man II (Orca bootleg set 1)", MACHINE_SUPPORTS_SAVE )
GAME( 1981, mspacii2, mspacman, woodpek, mspacman, pacman_state, init_mspacii, ROT90, "bootleg (Orca)", "Ms. Pac-Man II (Orca bootleg set 2)", MACHINE_SUPPORTS_SAVE )
GAME( 1981, mspacii, mspacman, mspacii, mspacman, pacman_state, init_mspacii, ROT90, "bootleg (Orca)", "Ms. Pac-Man II (Orca bootleg set 1)", MACHINE_SUPPORTS_SAVE )
GAME( 1981, mspacii2, mspacman, mspacii, mspacman, pacman_state, init_mspacii, ROT90, "bootleg (Orca)", "Ms. Pac-Man II (Orca bootleg set 2)", MACHINE_SUPPORTS_SAVE )
GAME( 1981, pacgal, mspacman, woodpek, mspacman, pacman_state, empty_init, ROT90, "hack", "Pac-Gal (set 1)", MACHINE_SUPPORTS_SAVE )
GAME( 1981, mspacpls, mspacman, woodpek, mspacpls, pacman_state, empty_init, ROT90, "hack", "Ms. Pac-Man Plus", MACHINE_SUPPORTS_SAVE )
GAME( 1992, mschamp, mspacman, mschamp, mschamp, pacman_state, init_mschamp, ROT90, "hack", "Ms. Pacman Champion Edition / Zola-Puc Gal", MACHINE_SUPPORTS_SAVE ) // Rayglo version

View File

@ -50,6 +50,7 @@ protected:
void dremshpr_map(address_map &map);
void dremshpr_portmap(address_map &map);
void drivfrcp_portmap(address_map &map);
void mspacii_portmap(address_map &map);
void mschamp_map(address_map &map);
void mschamp_portmap(address_map &map);
void mspacman_map(address_map &map);
@ -105,6 +106,7 @@ protected:
void pacman_interrupt_vector_w(uint8_t data);
void piranha_interrupt_vector_w(uint8_t data);
void nmouse_interrupt_vector_w(uint8_t data);
void mspacii_interrupt_vector_w(uint8_t data);
IRQ_CALLBACK_MEMBER(interrupt_vector_r);
DECLARE_WRITE_LINE_MEMBER(coin_counter_w);
DECLARE_WRITE_LINE_MEMBER(coin_lockout_global_w);
@ -199,7 +201,6 @@ protected:
uint32_t screen_update_s2650games(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(vblank_irq);
INTERRUPT_GEN_MEMBER(periodic_irq);
DECLARE_WRITE_LINE_MEMBER(rocktrv2_vblank_irq);
DECLARE_WRITE_LINE_MEMBER(vblank_nmi);
DECLARE_WRITE_LINE_MEMBER(s2650_interrupt);
@ -215,6 +216,7 @@ public:
void rocktrv2(machine_config &config);
void mspacman(machine_config &config);
void dremshpr(machine_config &config);
void mspacii(machine_config &config);
void mschamp(machine_config &config);
void nmouse(machine_config &config);
void vanvan(machine_config &config);