summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/pong.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/pong.cpp')
-rw-r--r--src/mame/drivers/pong.cpp142
1 files changed, 69 insertions, 73 deletions
diff --git a/src/mame/drivers/pong.cpp b/src/mame/drivers/pong.cpp
index 515789872e3..82ffa7ffd44 100644
--- a/src/mame/drivers/pong.cpp
+++ b/src/mame/drivers/pong.cpp
@@ -466,23 +466,23 @@ INPUT_PORTS_END
MACHINE_CONFIG_START(pong_state::pong)
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", NETLIST_CPU, NETLIST_CLOCK)
+ //MCFG_DEVICE_ADD("maincpu", NETLIST_CPU, NETLIST_CLOCK)
//MCFG_NETLIST_SETUP(pong)
- MCFG_NETLIST_SETUP_MEMBER(this, &pong_state::NETLIST_NAME(pong))
-
- MCFG_NETLIST_ANALOG_INPUT("maincpu", "vr0", "ic_b9_R.R")
- MCFG_NETLIST_ANALOG_MULT_OFFSET(1.0 / 100.0 * RES_K(50), RES_K(56) )
- MCFG_NETLIST_ANALOG_INPUT("maincpu", "vr1", "ic_a9_R.R")
- MCFG_NETLIST_ANALOG_MULT_OFFSET(1.0 / 100.0 * RES_K(50), RES_K(56) )
- MCFG_NETLIST_ANALOG_INPUT("maincpu", "pot0", "ic_b9_POT.DIAL")
- MCFG_NETLIST_ANALOG_INPUT("maincpu", "pot1", "ic_a9_POT.DIAL")
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "sw1a", "sw1a.POS", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "sw1b", "sw1b.POS", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "coinsw", "coinsw.POS", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "antenna", "antenna.IN", 0)
-
- MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "snd0", "sound", pong_state, sound_cb, "")
- MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "vid0", "videomix", fixedfreq_device, update_composite_monochrome, "fixfreq")
+ //MCFG_NETLIST_SETUP_MEMBER(this, &pong_state::NETLIST_NAME(pong))
+
+ NETLIST_CPU(config, "maincpu", NETLIST_CLOCK).set_constructor(this, &pong_state::NETLIST_NAME(pong));
+
+ NETLIST_ANALOG_INPUT(config, "maincpu:vr0", "ic_b9_R.R").set_mult_offset(1.0 / 100.0 * RES_K(50), RES_K(56) );
+ NETLIST_ANALOG_INPUT(config, "maincpu:vr1", "ic_a9_R.R").set_mult_offset(1.0 / 100.0 * RES_K(50), RES_K(56) );
+ NETLIST_ANALOG_INPUT(config, "maincpu:pot0", "ic_b9_POT.DIAL");
+ NETLIST_ANALOG_INPUT(config, "maincpu:pot1", "ic_a9_POT.DIAL");
+ NETLIST_LOGIC_INPUT(config, "maincpu:sw1a", "sw1a.POS", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:sw1b", "sw1b.POS", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:coinsw", "coinsw.POS", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:antenna", "antenna.IN", 0);
+
+ NETLIST_ANALOG_OUTPUT(config, "maincpu:snd0", 0).set_params("sound", FUNC(pong_state::sound_cb), "");
+ NETLIST_ANALOG_OUTPUT(config, "maincpu:vid0", 0).set_params("videomix", FUNC(fixedfreq_device::update_composite_monochrome), "fixfreq");
/* video hardware */
SCREEN(config, "screen", SCREEN_TYPE_RASTER);
@@ -504,36 +504,35 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(breakout_state::breakout)
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", NETLIST_CPU, NETLIST_CLOCK)
- MCFG_NETLIST_SETUP(breakout)
-
- MCFG_NETLIST_ANALOG_INPUT("maincpu", "pot1", "POTP1.DIAL")
- MCFG_NETLIST_ANALOG_INPUT("maincpu", "pot2", "POTP2.DIAL")
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "coinsw1", "COIN1.POS", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "coinsw2", "COIN2.POS", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "startsw1", "START1.POS", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "startsw2", "START2.POS", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "servesw", "SERVE.POS", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "sw4", "S4.POS", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "sw3", "S3.POS", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "sw2", "S2.POS", 0)
-
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "sw1_1", "S1_1.POS", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "sw1_2", "S1_2.POS", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "sw1_3", "S1_3.POS", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "sw1_4", "S1_4.POS", 0)
-
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "antenna", "antenna.IN", 0)
-
- MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "snd0", "sound", breakout_state, sound_cb, "")
- MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "vid0", "videomix", fixedfreq_device, update_composite_monochrome, "fixfreq")
+ NETLIST_CPU(config, "maincpu", NETLIST_CLOCK).set_constructor(NETLIST_NAME(breakout));
+
+ NETLIST_ANALOG_INPUT(config, "maincpu:pot1", "POTP1.DIAL");
+ NETLIST_ANALOG_INPUT(config, "maincpu:pot2", "POTP2.DIAL");
+ NETLIST_LOGIC_INPUT(config, "maincpu:coinsw1", "COIN1.POS", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:coinsw2", "COIN2.POS", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:startsw1", "START1.POS", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:startsw2", "START2.POS", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:servesw", "SERVE.POS", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:sw4", "S4.POS", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:sw3", "S3.POS", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:sw2", "S2.POS", 0);
+
+ NETLIST_LOGIC_INPUT(config, "maincpu:sw1_1", "S1_1.POS", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:sw1_2", "S1_2.POS", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:sw1_3", "S1_3.POS", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:sw1_4", "S1_4.POS", 0);
+
+ NETLIST_LOGIC_INPUT(config, "maincpu:antenna", "antenna.IN", 0);
+
+ NETLIST_ANALOG_OUTPUT(config, "maincpu:snd0", 0).set_params("sound", FUNC(breakout_state::sound_cb), "");
+ NETLIST_ANALOG_OUTPUT(config, "maincpu:vid0", 0).set_params("videomix", FUNC(fixedfreq_device::update_composite_monochrome), "fixfreq");
// Leds and lamps
- MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "led_serve", "CON_P", breakout_state, serve_cb, "")
- MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "lamp_credit1", "CON_CREDIT1", breakout_state, credit1_cb, "")
- MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "lamp_credit2", "CON_CREDIT2", breakout_state, credit2_cb, "")
- MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "coin_counter", "CON_T", breakout_state, coin_counter_cb, "")
+ NETLIST_ANALOG_OUTPUT(config, "maincpu:led_serve", 0).set_params("CON_P", FUNC(breakout_state::serve_cb), "");
+ NETLIST_ANALOG_OUTPUT(config, "maincpu:lamp_credit1", 0).set_params("CON_CREDIT1", FUNC(breakout_state::credit1_cb), "");
+ NETLIST_ANALOG_OUTPUT(config, "maincpu:lamp_credit2", 0).set_params("CON_CREDIT2", FUNC(breakout_state::credit2_cb), "");
+ NETLIST_ANALOG_OUTPUT(config, "maincpu:coin_counter", 0).set_params("CON_T", FUNC(breakout_state::coin_counter_cb), "");
/* video hardware */
SCREEN(config, "screen", SCREEN_TYPE_RASTER);
@@ -560,6 +559,7 @@ MACHINE_CONFIG_START(pong_state::pongf)
pong(config);
/* basic machine hardware */
+
MCFG_DEVICE_MODIFY("maincpu")
MCFG_NETLIST_SETUP(pong_fast)
@@ -568,24 +568,23 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(pong_state::pongd)
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", NETLIST_CPU, NETLIST_CLOCK)
- MCFG_NETLIST_SETUP(pongdoubles)
-
- MCFG_NETLIST_ANALOG_INPUT("maincpu", "pot0", "A10_POT.DIAL")
- MCFG_NETLIST_ANALOG_INPUT("maincpu", "pot1", "B10_POT.DIAL")
- MCFG_NETLIST_ANALOG_INPUT("maincpu", "pot2", "B9B_POT.DIAL")
- MCFG_NETLIST_ANALOG_INPUT("maincpu", "pot3", "B9A_POT.DIAL")
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "sw1a", "DIPSW1.POS", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "sw1b", "DIPSW2.POS", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "coinsw", "COIN_SW.POS", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "startsw", "START_SW.POS", 0)
+ NETLIST_CPU(config, "maincpu", NETLIST_CLOCK).set_constructor(NETLIST_NAME(pongdoubles));
+
+ NETLIST_ANALOG_INPUT(config, "maincpu:pot0", "A10_POT.DIAL");
+ NETLIST_ANALOG_INPUT(config, "maincpu:pot1", "B10_POT.DIAL");
+ NETLIST_ANALOG_INPUT(config, "maincpu:pot2", "B9B_POT.DIAL");
+ NETLIST_ANALOG_INPUT(config, "maincpu:pot3", "B9A_POT.DIAL");
+ NETLIST_LOGIC_INPUT(config, "maincpu:sw1a", "DIPSW1.POS", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:sw1b", "DIPSW2.POS", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:coinsw", "COIN_SW.POS", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:startsw", "START_SW.POS", 0);
#if 0
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "antenna", "antenna.IN", 0, 0x01)
+ NETLIST_LOGIC_INPUT(config, "maincpu:antenna", "antenna.IN", 0, 0x01)
#endif
- MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "snd0", "AUDIO", pong_state, sound_cb, "")
- MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "vid0", "videomix", fixedfreq_device, update_composite_monochrome, "fixfreq")
+ NETLIST_ANALOG_OUTPUT(config, "maincpu:snd0", 0).set_params("AUDIO", FUNC(pong_state::sound_cb), "");
+ NETLIST_ANALOG_OUTPUT(config, "maincpu:vid0", 0).set_params("videomix", FUNC(fixedfreq_device::update_composite_monochrome), "fixfreq");
/* video hardware */
SCREEN(config, "screen", SCREEN_TYPE_RASTER);
@@ -607,27 +606,24 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(rebound_state::rebound)
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", NETLIST_CPU, NETLIST_CLOCK)
- MCFG_NETLIST_SETUP(rebound_schematics)
- //FIXME: doesn't work - segmentation fault
- //MCFG_NETLIST_SETUP_MEMBER(this, &rebound_state::NETLIST_NAME(rebound))
+ NETLIST_CPU(config, "maincpu", NETLIST_CLOCK).set_constructor(NETLIST_NAME(rebound_schematics));
// FIXME: Later
- MCFG_NETLIST_ANALOG_INPUT("maincpu", "pot1", "POTP1.DIAL")
- MCFG_NETLIST_ANALOG_INPUT("maincpu", "pot2", "POTP2.DIAL")
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "antenna", "antenna.IN", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "coinsw", "COIN1_SW.POS", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "startsw", "START_SW.POS", 0)
+ NETLIST_ANALOG_INPUT(config, "maincpu:pot1", "POTP1.DIAL");
+ NETLIST_ANALOG_INPUT(config, "maincpu:pot2", "POTP2.DIAL");
+ NETLIST_LOGIC_INPUT(config, "maincpu:antenna", "antenna.IN", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:coinsw", "COIN1_SW.POS", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:startsw", "START_SW.POS", 0);
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "dsw1a", "DSW1a.POS", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "dsw1b", "DSW1b.POS", 0)
- MCFG_NETLIST_LOGIC_INPUT("maincpu", "dsw2", "DSW2.POS", 0)
+ NETLIST_LOGIC_INPUT(config, "maincpu:dsw1a", "DSW1a.POS", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:dsw1b", "DSW1b.POS", 0);
+ NETLIST_LOGIC_INPUT(config, "maincpu:dsw2", "DSW2.POS", 0);
- MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "snd0", "sound", rebound_state, sound_cb, "")
- MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "vid0", "videomix", fixedfreq_device, update_composite_monochrome, "fixfreq")
+ NETLIST_ANALOG_OUTPUT(config, "maincpu:snd0", 0).set_params("sound", FUNC(rebound_state::sound_cb), "");
+ NETLIST_ANALOG_OUTPUT(config, "maincpu:vid0", 0).set_params("videomix", FUNC(fixedfreq_device::update_composite_monochrome), "fixfreq");
- MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "led_credit", "CON11", rebound_state, led_credit_cb, "")
- MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "coin_counter", "CON10", rebound_state, coin_counter_cb, "")
+ NETLIST_ANALOG_OUTPUT(config, "maincpu:led_credit", 0).set_params("CON11", FUNC(rebound_state::led_credit_cb), "");
+ NETLIST_ANALOG_OUTPUT(config, "maincpu:coin_counter", 0).set_params("CON10", FUNC(rebound_state::coin_counter_cb), "");
/* video hardware */
SCREEN(config, "screen", SCREEN_TYPE_RASTER);