summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/nss.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/nss.cpp')
-rw-r--r--src/mame/drivers/nss.cpp46
1 files changed, 23 insertions, 23 deletions
diff --git a/src/mame/drivers/nss.cpp b/src/mame/drivers/nss.cpp
index 812df518289..0586a8d61a8 100644
--- a/src/mame/drivers/nss.cpp
+++ b/src/mame/drivers/nss.cpp
@@ -832,22 +832,22 @@ void nss_state::machine_reset()
m_joy_flag = 1;
}
-MACHINE_CONFIG_START(nss_state::nss)
-
+void nss_state::nss(machine_config &config)
+{
/* base snes hardware */
- MCFG_DEVICE_ADD("maincpu", _5A22, MCLK_NTSC) /* 2.68Mhz, also 3.58Mhz */
- MCFG_DEVICE_PROGRAM_MAP(snes_map)
+ _5A22(config, m_maincpu, MCLK_NTSC); /* 2.68Mhz, also 3.58Mhz */
+ m_maincpu->set_addrmap(AS_PROGRAM, &nss_state::snes_map);
// runs at 24.576 MHz / 12 = 2.048 MHz
- MCFG_DEVICE_ADD("soundcpu", SPC700, XTAL(24'576'000) / 12)
- MCFG_DEVICE_PROGRAM_MAP(spc_mem)
+ SPC700(config, m_soundcpu, XTAL(24'576'000) / 12);
+ m_soundcpu->set_addrmap(AS_PROGRAM, &nss_state::spc_mem);
config.m_perfect_cpu_quantum = subtag("maincpu");
/* nss hardware */
- MCFG_DEVICE_ADD("bios", Z80, 4000000)
- MCFG_DEVICE_PROGRAM_MAP(bios_map)
- MCFG_DEVICE_IO_MAP(bios_io_map)
+ Z80(config, m_bioscpu, 4000000);
+ m_bioscpu->set_addrmap(AS_PROGRAM, &nss_state::bios_map);
+ m_bioscpu->set_addrmap(AS_IO, &nss_state::bios_io_map);
M50458(config, m_m50458, 4000000, "osd"); /* TODO: correct clock */
S3520CF(config, m_s3520cf); /* RTC */
@@ -857,32 +857,32 @@ MACHINE_CONFIG_START(nss_state::nss)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- MCFG_DEVICE_ADD("spc700", SNES_SOUND)
- MCFG_SOUND_ROUTE(0, "lspeaker", 1.00)
- MCFG_SOUND_ROUTE(1, "rspeaker", 1.00)
+ SNES_SOUND(config, m_spc700);
+ m_spc700->add_route(0, "lspeaker", 1.00);
+ m_spc700->add_route(1, "rspeaker", 1.00);
/* video hardware */
/* TODO: the screen should actually superimpose, but for the time being let's just separate outputs */
config.set_default_layout(layout_dualhsxs);
// SNES PPU
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(DOTCLK_NTSC, SNES_HTOTAL, 0, SNES_SCR_WIDTH, SNES_VTOTAL_NTSC, 0, SNES_SCR_HEIGHT_NTSC)
- MCFG_SCREEN_UPDATE_DRIVER( snes_state, screen_update )
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, nss_state, nss_vblank_irq))
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_raw(DOTCLK_NTSC, SNES_HTOTAL, 0, SNES_SCR_WIDTH, SNES_VTOTAL_NTSC, 0, SNES_SCR_HEIGHT_NTSC);
+ m_screen->set_screen_update(FUNC(snes_state::screen_update));
+ m_screen->screen_vblank().set(FUNC(nss_state::nss_vblank_irq));
SNES_PPU(config, m_ppu, MCLK_NTSC);
m_ppu->open_bus_callback().set([this] { return snes_open_bus_r(); }); // lambda because overloaded function name
m_ppu->set_screen("screen");
// NSS
- MCFG_SCREEN_ADD("osd", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
- MCFG_SCREEN_SIZE(288+22, 216+22)
- MCFG_SCREEN_VISIBLE_AREA(0, 288-1, 0, 216-1)
- MCFG_SCREEN_UPDATE_DRIVER(nss_state,screen_update)
-MACHINE_CONFIG_END
+ screen_device &osd(SCREEN(config, "osd", SCREEN_TYPE_RASTER));
+ osd.set_refresh_hz(60);
+ osd.set_vblank_time(ATTOSECONDS_IN_USEC(2500));
+ osd.set_size(288+22, 216+22);
+ osd.set_visarea(0, 288-1, 0, 216-1);
+ osd.set_screen_update(FUNC(nss_state::screen_update));
+}
/***************************************************************************