summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/nbmj8688.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/nbmj8688.cpp')
-rw-r--r--src/mame/drivers/nbmj8688.cpp227
1 files changed, 114 insertions, 113 deletions
diff --git a/src/mame/drivers/nbmj8688.cpp b/src/mame/drivers/nbmj8688.cpp
index d4ebe4c45ed..bbb4bbd7773 100644
--- a/src/mame/drivers/nbmj8688.cpp
+++ b/src/mame/drivers/nbmj8688.cpp
@@ -2453,23 +2453,23 @@ READ8_MEMBER(nbmj8688_state::dipsw2_r)
return m_nb1413m3->dipsw2_r(space,offset);
}
-MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_4096)
-
+void nbmj8688_state::NBMJDRV_4096(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", Z80, 5000000) /* 5.00 MHz */
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", nbmj8688_state, irq0_line_hold)
+ Z80(config, m_maincpu, 5000000); /* 5.00 MHz */
+ m_maincpu->set_vblank_int("screen", FUNC(nbmj8688_state::irq0_line_hold));
NB1413M3(config, m_nb1413m3, 0);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
/* 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, 16, 240-1)
- MCFG_SCREEN_UPDATE_DRIVER(nbmj8688_state, screen_update)
- MCFG_SCREEN_PALETTE("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, 16, 240-1);
+ screen.set_screen_update(FUNC(nbmj8688_state::screen_update));
+ screen.set_palette("palette");
PALETTE(config, "palette", FUNC(nbmj8688_state::mbmj8688_12bit), 4096);
@@ -2483,12 +2483,14 @@ MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_4096)
psg.port_b_read_callback().set(FUNC(nbmj8688_state::dipsw2_r)); // DIPSW-B read
psg.add_route(ALL_OUTPUTS, "speaker", 0.35);
- MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
-MACHINE_CONFIG_END
+ DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
+ vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
+}
-MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_256)
+void nbmj8688_state::NBMJDRV_256(machine_config &config)
+{
NBMJDRV_4096(config);
/* basic machine hardware */
@@ -2497,9 +2499,10 @@ MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_256)
subdevice<palette_device>("palette")->set_entries(256).set_init(FUNC(nbmj8688_state::mbmj8688_8bit));
MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_8bit)
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_65536)
+void nbmj8688_state::NBMJDRV_65536(machine_config &config)
+{
NBMJDRV_4096(config);
/* basic machine hardware */
@@ -2508,20 +2511,20 @@ MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_65536)
subdevice<palette_device>("palette")->set_entries(65536).set_init(FUNC(nbmj8688_state::mbmj8688_16bit));
MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_hybrid_16bit)
-MACHINE_CONFIG_END
+}
// --------------------------------------------------------------------------------
-MACHINE_CONFIG_START(nbmj8688_state::crystalg)
+void nbmj8688_state::crystalg(machine_config &config)
+{
NBMJDRV_256(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(secolove_map)
- MCFG_DEVICE_IO_MAP(crystalg_io_map)
+ m_maincpu->set_addrmap(AS_PROGRAM, &nbmj8688_state::secolove_map);
+ m_maincpu->set_addrmap(AS_IO, &nbmj8688_state::crystalg_io_map);
m_nb1413m3->set_type(NB1413M3_CRYSTALG);
-MACHINE_CONFIG_END
+}
void nbmj8688_state::crystal2(machine_config &config)
{
@@ -2537,28 +2540,28 @@ void nbmj8688_state::nightlov(machine_config &config)
m_nb1413m3->set_type(NB1413M3_NIGHTLOV);
}
-MACHINE_CONFIG_START(nbmj8688_state::apparel)
+void nbmj8688_state::apparel(machine_config &config)
+{
NBMJDRV_256(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(secolove_map)
- MCFG_DEVICE_IO_MAP(secolove_io_map)
+ m_maincpu->set_addrmap(AS_PROGRAM, &nbmj8688_state::secolove_map);
+ m_maincpu->set_addrmap(AS_IO, &nbmj8688_state::secolove_io_map);
m_nb1413m3->set_type(NB1413M3_APPAREL);
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(nbmj8688_state::mbmj_h12bit)
+void nbmj8688_state::mbmj_h12bit(machine_config &config)
+{
NBMJDRV_4096(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(secolove_map)
- MCFG_DEVICE_IO_MAP(secolove_io_map)
+ m_maincpu->set_addrmap(AS_PROGRAM, &nbmj8688_state::secolove_map);
+ m_maincpu->set_addrmap(AS_IO, &nbmj8688_state::secolove_io_map);
/* video hardware */
MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_hybrid_12bit)
-MACHINE_CONFIG_END
+}
void nbmj8688_state::citylove(machine_config &config)
{
@@ -2582,42 +2585,40 @@ void nbmj8688_state::secolove(machine_config &config)
}
/*Same as h12bit HW with different sound HW + NMI enable bit*/
-MACHINE_CONFIG_START(nbmj8688_state::barline)
+void nbmj8688_state::barline(machine_config &config)
+{
mbmj_h12bit(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_IO_MAP(barline_io_map)
+ m_maincpu->set_addrmap(AS_IO, &nbmj8688_state::barline_io_map);
m_nb1413m3->set_type(NB1413M3_BARLINE);
- MCFG_DEVICE_REPLACE("psg", YM3812, 20000000/8)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.35)
+ YM3812(config.replace(), "psg", 20000000/8).add_route(ALL_OUTPUTS, "speaker", 0.35);
config.device_remove("dac");
config.device_remove("vref");
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(nbmj8688_state::mbmj_p16bit)
+void nbmj8688_state::mbmj_p16bit(machine_config &config)
+{
NBMJDRV_65536(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(secolove_map)
- MCFG_DEVICE_IO_MAP(secolove_io_map)
+ m_maincpu->set_addrmap(AS_PROGRAM, &nbmj8688_state::secolove_map);
+ m_maincpu->set_addrmap(AS_IO, &nbmj8688_state::secolove_io_map);
/* video hardware */
MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_pure_16bit)
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(nbmj8688_state::mbmj_p16bit_LCD)
+}
+void nbmj8688_state::mbmj_p16bit_LCD(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", Z80, 5000000) /* 5.00 MHz */
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", nbmj8688_state, irq0_line_hold)
- MCFG_DEVICE_PROGRAM_MAP(secolove_map)
- MCFG_DEVICE_IO_MAP(secolove_io_map)
- MCFG_DEVICE_IO_MAP(p16bit_LCD_io_map)
+ Z80(config, m_maincpu, 5000000); /* 5.00 MHz */
+ m_maincpu->set_vblank_int("screen", FUNC(nbmj8688_state::irq0_line_hold));
+ m_maincpu->set_addrmap(AS_PROGRAM, &nbmj8688_state::secolove_map);
+ m_maincpu->set_addrmap(AS_IO, &nbmj8688_state::p16bit_LCD_io_map);
NB1413M3(config, m_nb1413m3, 0);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
@@ -2626,13 +2627,13 @@ MACHINE_CONFIG_START(nbmj8688_state::mbmj_p16bit_LCD)
PALETTE(config, "palette", FUNC(nbmj8688_state::mbmj8688_16bit), 65536);
config.set_default_layout(layout_nbmj8688);
- 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, 16, 240-1)
- MCFG_SCREEN_UPDATE_DRIVER(nbmj8688_state, screen_update)
- MCFG_SCREEN_PALETTE("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, 16, 240-1);
+ screen.set_screen_update(FUNC(nbmj8688_state::screen_update));
+ screen.set_palette("palette");
PALETTE(config, "palette_lcd", FUNC(nbmj8688_state::mbmj8688_lcd), 2);
@@ -2645,8 +2646,8 @@ MACHINE_CONFIG_START(nbmj8688_state::mbmj_p16bit_LCD)
lcd0.set_visarea(0, 480-1, 0, 64-1);
lcd0.set_screen_update("lcdc0", FUNC(hd61830_device::screen_update));
lcd0.set_palette("palette_lcd");
- MCFG_DEVICE_ADD("lcdc0", HD61830B, 5000000/2) // ???
- MCFG_VIDEO_SET_SCREEN("lcd0")
+ HD61830B(config, m_lcdc0, 5000000/2); // ???
+ m_lcdc0->set_screen("lcd0");
screen_device &lcd1(SCREEN(config, "lcd1", SCREEN_TYPE_LCD));
lcd1.set_physical_aspect(15, 3);
@@ -2657,8 +2658,8 @@ MACHINE_CONFIG_START(nbmj8688_state::mbmj_p16bit_LCD)
lcd1.set_visarea(0, 480-1, 0, 64-1);
lcd1.set_screen_update("lcdc1", FUNC(hd61830_device::screen_update));
lcd1.set_palette("palette_lcd");
- MCFG_DEVICE_ADD("lcdc1", HD61830B, 5000000/2) // ???
- MCFG_VIDEO_SET_SCREEN("lcd1")
+ HD61830B(config, m_lcdc1, 5000000/2); // ???
+ m_lcdc1->set_screen("lcd1");
MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_pure_16bit_LCD)
@@ -2670,10 +2671,11 @@ MACHINE_CONFIG_START(nbmj8688_state::mbmj_p16bit_LCD)
psg.port_b_read_callback().set(FUNC(nbmj8688_state::dipsw2_r)); // DIPSW-B read
psg.add_route(ALL_OUTPUTS, "speaker", 0.35);
- MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
-MACHINE_CONFIG_END
+ DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
+ vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
+}
void nbmj8688_state::bijokkoy(machine_config &config)
{
@@ -2731,16 +2733,16 @@ void nbmj8688_state::vipclub(machine_config &config)
m_nb1413m3->set_type(NB1413M3_VIPCLUB);
}
-MACHINE_CONFIG_START(nbmj8688_state::seiha)
+void nbmj8688_state::seiha(machine_config &config)
+{
NBMJDRV_65536(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(secolove_map)
- MCFG_DEVICE_IO_MAP(seiha_io_map)
+ m_maincpu->set_addrmap(AS_PROGRAM, &nbmj8688_state::secolove_map);
+ m_maincpu->set_addrmap(AS_IO, &nbmj8688_state::seiha_io_map);
m_nb1413m3->set_type(NB1413M3_SEIHA);
-MACHINE_CONFIG_END
+}
void nbmj8688_state::seiham(machine_config &config)
{
@@ -2749,39 +2751,39 @@ void nbmj8688_state::seiham(machine_config &config)
m_nb1413m3->set_type(NB1413M3_SEIHAM);
}
-MACHINE_CONFIG_START(nbmj8688_state::mjgaiden)
+void nbmj8688_state::mjgaiden(machine_config &config)
+{
NBMJDRV_4096(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(ojousan_map)
- MCFG_DEVICE_IO_MAP(mjgaiden_io_map)
+ m_maincpu->set_addrmap(AS_PROGRAM, &nbmj8688_state::ojousan_map);
+ m_maincpu->set_addrmap(AS_IO, &nbmj8688_state::mjgaiden_io_map);
m_nb1413m3->set_type(NB1413M3_OJOUSAN);
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(nbmj8688_state::iemoto)
+void nbmj8688_state::iemoto(machine_config &config)
+{
NBMJDRV_65536(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(secolove_map)
- MCFG_DEVICE_IO_MAP(iemoto_io_map)
+ m_maincpu->set_addrmap(AS_PROGRAM, &nbmj8688_state::secolove_map);
+ m_maincpu->set_addrmap(AS_IO, &nbmj8688_state::iemoto_io_map);
m_nb1413m3->set_type(NB1413M3_IEMOTO);
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(nbmj8688_state::ojousan)
+void nbmj8688_state::ojousan(machine_config &config)
+{
NBMJDRV_65536(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(ojousan_map)
- MCFG_DEVICE_IO_MAP(iemoto_io_map)
+ m_maincpu->set_addrmap(AS_PROGRAM, &nbmj8688_state::ojousan_map);
+ m_maincpu->set_addrmap(AS_IO, &nbmj8688_state::iemoto_io_map);
m_nb1413m3->set_type(NB1413M3_OJOUSAN);
-MACHINE_CONFIG_END
+}
void nbmj8688_state::ojousanm(machine_config &config)
{
@@ -2790,13 +2792,13 @@ void nbmj8688_state::ojousanm(machine_config &config)
m_nb1413m3->set_type(NB1413M3_OJOUSANM);
}
-MACHINE_CONFIG_START(nbmj8688_state::swinggal)
+void nbmj8688_state::swinggal(machine_config &config)
+{
ojousan(config);
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(secolove_map)
- MCFG_DEVICE_IO_MAP(iemoto_io_map)
-MACHINE_CONFIG_END
+ m_maincpu->set_addrmap(AS_PROGRAM, &nbmj8688_state::secolove_map);
+ m_maincpu->set_addrmap(AS_IO, &nbmj8688_state::iemoto_io_map);
+}
void nbmj8688_state::iemotom(machine_config &config)
{
@@ -2826,14 +2828,14 @@ void nbmj8688_state::korinaim(machine_config &config)
m_nb1413m3->set_type(NB1413M3_KORINAIM);
}
-MACHINE_CONFIG_START(nbmj8688_state::mbmj_p12bit)
+void nbmj8688_state::mbmj_p12bit(machine_config &config)
+{
NBMJDRV_4096(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(mjsikaku_map)
- MCFG_DEVICE_IO_MAP(kaguya_io_map)
-MACHINE_CONFIG_END
+ m_maincpu->set_addrmap(AS_PROGRAM, &nbmj8688_state::mjsikaku_map);
+ m_maincpu->set_addrmap(AS_IO, &nbmj8688_state::kaguya_io_map);
+}
void nbmj8688_state::kaguya(machine_config &config)
{
@@ -2870,41 +2872,40 @@ void nbmj8688_state::idhimitu(machine_config &config)
m_nb1413m3->set_type(NB1413M3_IDHIMITU);
}
-MACHINE_CONFIG_START(nbmj8688_state::mjsikaku)
+void nbmj8688_state::mjsikaku(machine_config &config)
+{
NBMJDRV_4096(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(mjsikaku_map)
- MCFG_DEVICE_IO_MAP(mjsikaku_io_map)
+ m_maincpu->set_addrmap(AS_PROGRAM, &nbmj8688_state::mjsikaku_map);
+ m_maincpu->set_addrmap(AS_IO, &nbmj8688_state::mjsikaku_io_map);
m_nb1413m3->set_type(NB1413M3_MJSIKAKU);
/* sound hardware */
- MCFG_DEVICE_REPLACE("psg", YM3812, 20000000/8)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.7)
-MACHINE_CONFIG_END
+ YM3812(config.replace(), "psg", 20000000/8).add_route(ALL_OUTPUTS, "speaker", 0.7);
+}
-MACHINE_CONFIG_START(nbmj8688_state::mmsikaku)
+void nbmj8688_state::mmsikaku(machine_config &config)
+{
NBMJDRV_4096(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(secolove_map)
- MCFG_DEVICE_IO_MAP(mmsikaku_io_map)
+ m_maincpu->set_addrmap(AS_PROGRAM, &nbmj8688_state::secolove_map);
+ m_maincpu->set_addrmap(AS_IO, &nbmj8688_state::mmsikaku_io_map);
m_nb1413m3->set_type(NB1413M3_MMSIKAKU);
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(nbmj8688_state::otonano)
+void nbmj8688_state::otonano(machine_config &config)
+{
mjsikaku(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_IO_MAP(otonano_io_map)
+ m_maincpu->set_addrmap(AS_IO, &nbmj8688_state::otonano_io_map);
m_nb1413m3->set_type(NB1413M3_OTONANO);
-MACHINE_CONFIG_END
+}
void nbmj8688_state::mjcamera(machine_config &config)
{