summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/goldnpkr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/goldnpkr.cpp')
-rw-r--r--src/mame/drivers/goldnpkr.cpp93
1 files changed, 40 insertions, 53 deletions
diff --git a/src/mame/drivers/goldnpkr.cpp b/src/mame/drivers/goldnpkr.cpp
index 60e4be4ae95..2eab70a3f73 100644
--- a/src/mame/drivers/goldnpkr.cpp
+++ b/src/mame/drivers/goldnpkr.cpp
@@ -1300,6 +1300,7 @@ public:
goldnpkr_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
+ m_pia(*this, "pia%u", 0U),
m_videoram(*this, "videoram"),
m_colorram(*this, "colorram"),
m_discrete(*this, "discrete"),
@@ -1354,6 +1355,7 @@ public:
protected:
required_device<cpu_device> m_maincpu;
+ required_device_array<pia6821_device, 2> m_pia;
DECLARE_WRITE8_MEMBER(goldnpkr_videoram_w);
DECLARE_WRITE8_MEMBER(goldnpkr_colorram_w);
@@ -1397,7 +1399,6 @@ private:
required_shared_ptr<uint8_t> m_videoram;
required_shared_ptr<uint8_t> m_colorram;
-
optional_device<discrete_device> m_discrete;
optional_device<ay8910_device> m_ay8910;
required_device<gfxdecode_device> m_gfxdecode;
@@ -4322,14 +4323,14 @@ MACHINE_CONFIG_START(goldnpkr_state::goldnpkr_base)
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_DEVICE_ADD("pia0", PIA6821, 0)
- MCFG_PIA_READPA_HANDLER(READ8(*this, goldnpkr_state, goldnpkr_mux_port_r))
- MCFG_PIA_WRITEPB_HANDLER(WRITE8(*this, goldnpkr_state, lamps_a_w))
+ PIA6821(config, m_pia[0], 0);
+ m_pia[0]->readpa_handler().set(FUNC(goldnpkr_state::goldnpkr_mux_port_r));
+ m_pia[0]->writepb_handler().set(FUNC(goldnpkr_state::lamps_a_w));
- MCFG_DEVICE_ADD("pia1", PIA6821, 0)
- MCFG_PIA_READPA_HANDLER(IOPORT("SW1"))
- MCFG_PIA_WRITEPA_HANDLER(WRITE8(*this, goldnpkr_state, sound_w))
- MCFG_PIA_WRITEPB_HANDLER(WRITE8(*this, goldnpkr_state, mux_w))
+ PIA6821(config, m_pia[1], 0);
+ m_pia[1]->readpa_handler().set_ioport("SW1");
+ m_pia[1]->writepa_handler().set(FUNC(goldnpkr_state::sound_w));
+ m_pia[1]->writepb_handler().set(FUNC(goldnpkr_state::mux_w));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -4368,9 +4369,8 @@ MACHINE_CONFIG_START(goldnpkr_state::pottnpkr)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(pottnpkr_map)
- MCFG_DEVICE_MODIFY("pia0")
- MCFG_PIA_READPA_HANDLER(READ8(*this, goldnpkr_state, pottnpkr_mux_port_r))
- MCFG_PIA_WRITEPA_HANDLER(WRITE8(*this, goldnpkr_state, mux_port_w))
+ m_pia[0]->readpa_handler().set(FUNC(goldnpkr_state::pottnpkr_mux_port_r));
+ m_pia[0]->writepa_handler().set(FUNC(goldnpkr_state::mux_port_w));
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4386,9 +4386,8 @@ MACHINE_CONFIG_START(goldnpkr_state::witchcrd)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(witchcrd_map)
- MCFG_DEVICE_MODIFY("pia0")
- MCFG_PIA_READPA_HANDLER(READ8(*this, goldnpkr_state, pottnpkr_mux_port_r))
- MCFG_PIA_WRITEPA_HANDLER(WRITE8(*this, goldnpkr_state, mux_port_w))
+ m_pia[0]->readpa_handler().set(FUNC(goldnpkr_state::pottnpkr_mux_port_r));
+ m_pia[0]->writepa_handler().set(FUNC(goldnpkr_state::mux_port_w));
/* video hardware */
MCFG_PALETTE_MODIFY("palette")
@@ -4408,11 +4407,8 @@ MACHINE_CONFIG_START(goldnpkr_state::wcfalcon)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(witchcrd_falcon_map)
- MCFG_DEVICE_MODIFY("pia0")
- MCFG_PIA_WRITEPA_HANDLER(WRITE8(*this, goldnpkr_state, mux_port_w))
-
- MCFG_DEVICE_MODIFY("pia1")
- MCFG_PIA_WRITEPA_HANDLER(WRITE8(*this, goldnpkr_state, wcfalcon_snd_w)) /* port A out, custom handler due to address + data are muxed */
+ m_pia[0]->writepa_handler().set(FUNC(goldnpkr_state::mux_port_w));
+ m_pia[1]->writepa_handler().set(FUNC(goldnpkr_state::wcfalcon_snd_w)); /* port A out, custom handler due to address + data are muxed */
/* video hardware */
MCFG_PALETTE_MODIFY("palette")
@@ -4432,9 +4428,8 @@ MACHINE_CONFIG_START(goldnpkr_state::wildcard)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(wildcard_map)
- MCFG_DEVICE_MODIFY("pia0")
- MCFG_PIA_READPA_HANDLER(READ8(*this, goldnpkr_state, pottnpkr_mux_port_r))
- MCFG_PIA_WRITEPA_HANDLER(WRITE8(*this, goldnpkr_state, mux_port_w))
+ m_pia[0]->readpa_handler().set(FUNC(goldnpkr_state::pottnpkr_mux_port_r));
+ m_pia[0]->writepa_handler().set(FUNC(goldnpkr_state::mux_port_w));
/* video hardware */
// MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_wildcard)
@@ -4456,9 +4451,8 @@ MACHINE_CONFIG_START(goldnpkr_state::wcrdxtnd)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(wcrdxtnd_map)
- MCFG_DEVICE_MODIFY("pia0")
- MCFG_PIA_READPA_HANDLER(READ8(*this, goldnpkr_state, pottnpkr_mux_port_r))
- MCFG_PIA_WRITEPA_HANDLER(WRITE8(*this, goldnpkr_state, mux_port_w))
+ m_pia[0]->readpa_handler().set(FUNC(goldnpkr_state::pottnpkr_mux_port_r));
+ m_pia[0]->writepa_handler().set(FUNC(goldnpkr_state::mux_port_w));
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_wcrdxtnd)
@@ -4484,11 +4478,8 @@ MACHINE_CONFIG_START(goldnpkr_state::wildcrdb)
MCFG_DEVICE_PROGRAM_MAP(wildcrdb_mcu_map)
MCFG_DEVICE_IO_MAP(wildcrdb_mcu_io_map)
- MCFG_DEVICE_MODIFY("pia0")
- MCFG_PIA_WRITEPA_HANDLER(WRITE8(*this, goldnpkr_state, mux_port_w))
-
- MCFG_DEVICE_MODIFY("pia1")
- MCFG_PIA_WRITEPA_HANDLER(WRITE8(*this, goldnpkr_state, wcfalcon_snd_w))
+ m_pia[0]->writepa_handler().set(FUNC(goldnpkr_state::mux_port_w));
+ m_pia[1]->writepa_handler().set(FUNC(goldnpkr_state::wcfalcon_snd_w));
/* video hardware */
// MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_wildcard)
@@ -4510,9 +4501,8 @@ MACHINE_CONFIG_START(goldnpkr_state::genie)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(genie_map)
- MCFG_DEVICE_MODIFY("pia0")
- MCFG_PIA_READPA_HANDLER(READ8(*this, goldnpkr_state, pottnpkr_mux_port_r))
- MCFG_PIA_WRITEPA_HANDLER(WRITE8(*this, goldnpkr_state, mux_port_w))
+ m_pia[0]->readpa_handler().set(FUNC(goldnpkr_state::pottnpkr_mux_port_r));
+ m_pia[0]->writepa_handler().set(FUNC(goldnpkr_state::mux_port_w));
/* video hardware */
MCFG_PALETTE_MODIFY("palette")
@@ -4532,9 +4522,8 @@ MACHINE_CONFIG_START(goldnpkr_state::geniea)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(goldnpkr_map)
-// MCFG_DEVICE_MODIFY("pia0")
-// MCFG_PIA_READPA_HANDLER(READ8(*this, goldnpkr_state, pottnpkr_mux_port_r))
-// MCFG_PIA_WRITEPA_HANDLER(WRITE8(*this, goldnpkr_state, mux_port_w))
+// m_pia[0]->readpa_handler().set(FUNC(goldnpkr_state::pottnpkr_mux_port_r));
+// m_pia[0]->writepa_handler().set(FUNC(goldnpkr_state::mux_port_w));
/* video hardware */
MCFG_PALETTE_MODIFY("palette")
@@ -4570,17 +4559,15 @@ MACHINE_CONFIG_START(goldnpkr_state::bchancep)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(bchancep_map)
- MCFG_DEVICE_MODIFY("pia0")
- MCFG_PIA_READPA_HANDLER(READ8(*this, goldnpkr_state, pia0_a_r))
- MCFG_PIA_READPB_HANDLER(READ8(*this, goldnpkr_state, pia0_b_r))
- MCFG_PIA_WRITEPA_HANDLER(WRITE8(*this, goldnpkr_state, pia0_a_w))
- MCFG_PIA_WRITEPB_HANDLER(WRITE8(*this, goldnpkr_state, pia0_b_w))
+ m_pia[0]->readpa_handler().set(FUNC(goldnpkr_state::pia0_a_r));
+ m_pia[0]->readpb_handler().set(FUNC(goldnpkr_state::pia0_b_r));
+ m_pia[0]->writepa_handler().set(FUNC(goldnpkr_state::pia0_a_w));
+ m_pia[0]->writepb_handler().set(FUNC(goldnpkr_state::pia0_b_w));
- MCFG_DEVICE_MODIFY("pia1")
- MCFG_PIA_READPA_HANDLER(READ8(*this, goldnpkr_state, pia1_a_r))
- MCFG_PIA_READPB_HANDLER(READ8(*this, goldnpkr_state, pia1_b_r))
- MCFG_PIA_WRITEPA_HANDLER(WRITE8(*this, goldnpkr_state, pia1_a_w))
- MCFG_PIA_WRITEPB_HANDLER(WRITE8(*this, goldnpkr_state, pia1_b_w))
+ m_pia[1]->readpa_handler().set(FUNC(goldnpkr_state::pia1_a_r));
+ m_pia[1]->readpb_handler().set(FUNC(goldnpkr_state::pia1_b_r));
+ m_pia[1]->writepa_handler().set(FUNC(goldnpkr_state::pia1_a_w));
+ m_pia[1]->writepb_handler().set(FUNC(goldnpkr_state::pia1_b_w));
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4730,14 +4717,14 @@ MACHINE_CONFIG_START(blitz_state::megadpkr)
MCFG_DEVICE_ADD("timekpr", M48T02, 0)
- MCFG_DEVICE_ADD("pia0", PIA6821, 0)
- MCFG_PIA_READPA_HANDLER(READ8(*this, goldnpkr_state, pottnpkr_mux_port_r))
- MCFG_PIA_WRITEPB_HANDLER(WRITE8(*this, goldnpkr_state, lamps_a_w))
+ PIA6821(config, m_pia[0], 0);
+ m_pia[0]->readpa_handler().set(FUNC(goldnpkr_state::pottnpkr_mux_port_r));
+ m_pia[0]->writepb_handler().set(FUNC(goldnpkr_state::lamps_a_w));
- MCFG_DEVICE_ADD("pia1", PIA6821, 0)
- MCFG_PIA_READPA_HANDLER(IOPORT("SW1"))
- MCFG_PIA_WRITEPA_HANDLER(WRITE8(*this, goldnpkr_state, sound_w))
- MCFG_PIA_WRITEPB_HANDLER(WRITE8(*this, goldnpkr_state, mux_w))
+ PIA6821(config, m_pia[1], 0);
+ m_pia[1]->readpa_handler().set_ioport("SW1");
+ m_pia[1]->writepa_handler().set(FUNC(goldnpkr_state::sound_w));
+ m_pia[1]->writepb_handler().set(FUNC(goldnpkr_state::mux_w));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)