summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/subsino.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/subsino.cpp')
-rw-r--r--src/mame/drivers/subsino.cpp180
1 files changed, 89 insertions, 91 deletions
diff --git a/src/mame/drivers/subsino.cpp b/src/mame/drivers/subsino.cpp
index 0a55731dfaa..c9272645251 100644
--- a/src/mame/drivers/subsino.cpp
+++ b/src/mame/drivers/subsino.cpp
@@ -2704,11 +2704,12 @@ GFXDECODE_END
* Machine Drivers *
***************************************************************************/
-MACHINE_CONFIG_START(subsino_state::victor21)
+void subsino_state::victor21(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", Z180, XTAL(12'000'000) / 8) /* Unknown clock */
- MCFG_DEVICE_PROGRAM_MAP(victor21_map)
- MCFG_DEVICE_IO_MAP(subsino_iomap)
+ Z180(config, m_maincpu, XTAL(12'000'000) / 8); /* Unknown clock */
+ m_maincpu->set_addrmap(AS_PROGRAM, &subsino_state::victor21_map);
+ m_maincpu->set_addrmap(AS_IO, &subsino_state::subsino_iomap);
i8255_device &ppi(I8255A(config, "ppi"));
ppi.out_pa_callback().set(FUNC(subsino_state::out_a_w));
@@ -2717,16 +2718,16 @@ MACHINE_CONFIG_START(subsino_state::victor21)
ppi.tri_pb_callback().set_constant(0);
ppi.in_pc_callback().set_ioport("INC");
- MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW)
+ TICKET_DISPENSER(config, m_hopper, attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW);
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(512, 256)
- MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0+16, 256-16-1)
- MCFG_SCREEN_UPDATE_DRIVER(subsino_state, screen_update)
- MCFG_SCREEN_PALETTE(m_palette)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ screen.set_size(512, 256);
+ screen.set_visarea(0, 512-1, 0+16, 256-16-1);
+ screen.set_screen_update(FUNC(subsino_state::screen_update));
+ screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, subsino_depth3);
@@ -2737,39 +2738,38 @@ MACHINE_CONFIG_START(subsino_state::victor21)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("ymsnd", YM2413, XTAL(3'579'545))
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
+ YM2413(config, "ymsnd", XTAL(3'579'545)).add_route(ALL_OUTPUTS, "mono", 1.0);
- MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(4'433'619) / 4, okim6295_device::PIN7_HIGH) /* Clock frequency & pin 7 not verified */
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
-MACHINE_CONFIG_END
+ OKIM6295(config, "oki", XTAL(4'433'619) / 4, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); /* Clock frequency & pin 7 not verified */
+}
/* same but with an additional protection. */
-MACHINE_CONFIG_START(subsino_state::victor5)
+void subsino_state::victor5(machine_config &config)
+{
victor21(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(victor5_map)
-MACHINE_CONFIG_END
+ m_maincpu->set_addrmap(AS_PROGRAM, &subsino_state::victor5_map);
+}
-MACHINE_CONFIG_START(subsino_state::crsbingo)
+void subsino_state::crsbingo(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", Z180, XTAL(12'000'000) / 8) /* Unknown CPU and clock */
- MCFG_DEVICE_PROGRAM_MAP(crsbingo_map)
- MCFG_DEVICE_IO_MAP(subsino_iomap)
+ Z180(config, m_maincpu, XTAL(12'000'000) / 8); /* Unknown CPU and clock */
+ m_maincpu->set_addrmap(AS_PROGRAM, &subsino_state::crsbingo_map);
+ m_maincpu->set_addrmap(AS_IO, &subsino_state::subsino_iomap);
- MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW)
+ TICKET_DISPENSER(config, m_hopper, attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW);
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(512, 256)
- MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0+16, 256-16-1)
- MCFG_SCREEN_UPDATE_DRIVER(subsino_state, screen_update)
- MCFG_SCREEN_PALETTE(m_palette)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ screen.set_size(512, 256);
+ screen.set_visarea(0, 512-1, 0+16, 256-16-1);
+ screen.set_screen_update(FUNC(subsino_state::screen_update));
+ screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, subsino_depth4);
@@ -2780,16 +2780,16 @@ MACHINE_CONFIG_START(subsino_state::crsbingo)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("ymsnd", YM2413, XTAL(3'579'545)) /* Unknown clock */
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
-MACHINE_CONFIG_END
+ YM2413(config, "ymsnd", XTAL(3'579'545)).add_route(ALL_OUTPUTS, "mono", 1.0); /* Unknown clock */
+}
-MACHINE_CONFIG_START(subsino_state::srider)
+void subsino_state::srider(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", Z180, XTAL(12'000'000) / 8) /* Unknown clock */
- MCFG_DEVICE_PROGRAM_MAP(srider_map)
- MCFG_DEVICE_IO_MAP(subsino_iomap)
+ Z180(config, m_maincpu, XTAL(12'000'000) / 8); /* Unknown clock */
+ m_maincpu->set_addrmap(AS_PROGRAM, &subsino_state::srider_map);
+ m_maincpu->set_addrmap(AS_IO, &subsino_state::subsino_iomap);
i8255_device &ppi1(I8255A(config, "ppi1"));
ppi1.in_pa_callback().set_ioport("SW1");
@@ -2801,16 +2801,16 @@ MACHINE_CONFIG_START(subsino_state::srider)
ppi2.in_pb_callback().set_ioport("INA");
ppi2.in_pc_callback().set_ioport("INB");
- MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW)
+ TICKET_DISPENSER(config, m_hopper, attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW);
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(512, 256)
- MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0+16, 256-16-1)
- MCFG_SCREEN_UPDATE_DRIVER(subsino_state, screen_update)
- MCFG_SCREEN_PALETTE(m_palette)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ screen.set_size(512, 256);
+ screen.set_visarea(0, 512-1, 0+16, 256-16-1);
+ screen.set_screen_update(FUNC(subsino_state::screen_update));
+ screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, subsino_depth4);
@@ -2821,27 +2821,26 @@ MACHINE_CONFIG_START(subsino_state::srider)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("ymsnd", YM3812, XTAL(3'579'545))
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
+ YM3812(config, "ymsnd", XTAL(3'579'545)).add_route(ALL_OUTPUTS, "mono", 1.0);
- MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(4'433'619) / 4, okim6295_device::PIN7_HIGH) /* Clock frequency & pin 7 not verified */
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
-MACHINE_CONFIG_END
+ OKIM6295(config, "oki", XTAL(4'433'619) / 4, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); /* Clock frequency & pin 7 not verified */
+}
-MACHINE_CONFIG_START(subsino_state::sharkpy)
+void subsino_state::sharkpy(machine_config &config)
+{
srider(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(sharkpy_map)
-MACHINE_CONFIG_END
+ m_maincpu->set_addrmap(AS_PROGRAM, &subsino_state::sharkpy_map);
+}
-MACHINE_CONFIG_START(subsino_state::tisub)
+void subsino_state::tisub(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", Z180, XTAL(12'000'000) / 8) /* Unknown CPU and clock */
- MCFG_DEVICE_PROGRAM_MAP(tisub_map)
- MCFG_DEVICE_IO_MAP(subsino_iomap)
+ Z180(config, m_maincpu, XTAL(12'000'000) / 8); /* Unknown CPU and clock */
+ m_maincpu->set_addrmap(AS_PROGRAM, &subsino_state::tisub_map);
+ m_maincpu->set_addrmap(AS_IO, &subsino_state::subsino_iomap);
i8255_device &ppi1(I8255A(config, "ppi1"));
ppi1.in_pa_callback().set_ioport("SW1");
@@ -2853,16 +2852,16 @@ MACHINE_CONFIG_START(subsino_state::tisub)
ppi2.in_pb_callback().set_ioport("INA");
ppi2.in_pc_callback().set_ioport("INB");
- MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW)
+ TICKET_DISPENSER(config, m_hopper, attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW);
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(512, 256)
- MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0+16, 256-16-1)
- MCFG_SCREEN_UPDATE_DRIVER(subsino_state, screen_update_reels)
- MCFG_SCREEN_PALETTE(m_palette)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ screen.set_size(512, 256);
+ screen.set_visarea(0, 512-1, 0+16, 256-16-1);
+ screen.set_screen_update(FUNC(subsino_state::screen_update_reels));
+ screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, subsino_depth4_reels);
@@ -2873,15 +2872,15 @@ MACHINE_CONFIG_START(subsino_state::tisub)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("ymsnd", YM3812, XTAL(3'579'545)) /* Unknown clock */
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
-MACHINE_CONFIG_END
+ YM3812(config, "ymsnd", XTAL(3'579'545)).add_route(ALL_OUTPUTS, "mono", 1.0); /* Unknown clock */
+}
-MACHINE_CONFIG_START(subsino_state::stbsub)
+void subsino_state::stbsub(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", Z180, XTAL(12'000'000) / 8) /* Unknown clock */
- MCFG_DEVICE_PROGRAM_MAP(stbsub_map)
- MCFG_DEVICE_IO_MAP(subsino_iomap)
+ Z180(config, m_maincpu, XTAL(12'000'000) / 8); /* Unknown clock */
+ m_maincpu->set_addrmap(AS_PROGRAM, &subsino_state::stbsub_map);
+ m_maincpu->set_addrmap(AS_IO, &subsino_state::subsino_iomap);
i8255_device &ppi1(I8255A(config, "ppi1"));
ppi1.in_pa_callback().set_ioport("SW1");
@@ -2894,16 +2893,16 @@ MACHINE_CONFIG_START(subsino_state::stbsub)
ppi2.in_pc_callback().set_ioport("INA");
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
- MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW)
+ TICKET_DISPENSER(config, m_hopper, attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW);
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(512, 256)
- MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0+16, 256-16-1)
- MCFG_SCREEN_UPDATE_DRIVER(subsino_state, screen_update_stbsub_reels)
- MCFG_SCREEN_PALETTE(m_palette)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ screen.set_size(512, 256);
+ screen.set_visarea(0, 512-1, 0+16, 256-16-1);
+ screen.set_screen_update(FUNC(subsino_state::screen_update_stbsub_reels));
+ screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, subsino_stbsub);
@@ -2918,17 +2917,16 @@ MACHINE_CONFIG_START(subsino_state::stbsub)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("ymsnd", YM3812, XTAL(3'579'545))
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
-MACHINE_CONFIG_END
+ YM3812(config, "ymsnd", XTAL(3'579'545)).add_route(ALL_OUTPUTS, "mono", 1.0);
+}
-MACHINE_CONFIG_START(subsino_state::mtrainnv)
+void subsino_state::mtrainnv(machine_config &config)
+{
stbsub(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(mtrainnv_map)
-MACHINE_CONFIG_END
+ m_maincpu->set_addrmap(AS_PROGRAM, &subsino_state::mtrainnv_map);
+}
/***************************************************************************