summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/pachifev.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/pachifev.cpp')
-rw-r--r--src/mame/drivers/pachifev.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mame/drivers/pachifev.cpp b/src/mame/drivers/pachifev.cpp
index bba8b18b00a..3bfd1d93389 100644
--- a/src/mame/drivers/pachifev.cpp
+++ b/src/mame/drivers/pachifev.cpp
@@ -111,7 +111,7 @@ public:
DECLARE_READ8_MEMBER(controls_r);
virtual void machine_start() override;
virtual void machine_reset() override;
- INTERRUPT_GEN_MEMBER(pachifev_vblank_irq);
+ DECLARE_WRITE_LINE_MEMBER(vblank_w);
required_device<cpu_device> m_maincpu;
void pachifev(machine_config &config);
void pachifev_cru(address_map &map);
@@ -306,15 +306,16 @@ void pachifev_state::machine_reset()
}
-INTERRUPT_GEN_MEMBER(pachifev_state::pachifev_vblank_irq)
+WRITE_LINE_MEMBER(pachifev_state::vblank_w)
{
+ if (state)
{
static const char *const inname[2] = { "PLUNGER_P1", "PLUNGER_P2" };
/* I wish I had found a better way to handle cocktail inputs, but I can't find a way to access internal RAM */
/* (bit 5 of 0xf0aa : 0 = player 1 and 1 = player 2 - bit 6 of 0xf0aa : 0 = upright and 1 = cocktail). */
/* All I found is that in main RAM, 0xe00f.b determines the player : 0x00 = player 1 and 0x01 = player 2. */
- address_space &ramspace = device.memory().space(AS_PROGRAM);
+ address_space &ramspace = m_maincpu->space(AS_PROGRAM);
uint8_t player = 0;
if ((ramspace.read_byte(0xe00f) == 0x01) && ((ioport("DSW1")->read() & 0x08) == 0x00))
@@ -350,13 +351,13 @@ MACHINE_CONFIG_START(pachifev_state::pachifev)
// CPU TMS9995, standard variant; no line connections
MCFG_TMS99xx_ADD("maincpu", TMS9995, XTAL(12'000'000), pachifev_map, pachifev_cru)
- MCFG_CPU_VBLANK_INT_DRIVER("screen", pachifev_state, pachifev_vblank_irq)
/* video hardware */
MCFG_DEVICE_ADD( "tms9928a", TMS9928A, XTAL(10'738'635) / 2 )
MCFG_TMS9928A_VRAM_SIZE(0x4000)
MCFG_TMS9928A_SCREEN_ADD_NTSC( "screen" )
MCFG_SCREEN_UPDATE_DEVICE( "tms9928a", tms9928a_device, screen_update )
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(pachifev_state, vblank_w))
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")