summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/nokia_3310.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/nokia_3310.cpp')
-rw-r--r--src/mame/drivers/nokia_3310.cpp64
1 files changed, 30 insertions, 34 deletions
diff --git a/src/mame/drivers/nokia_3310.cpp b/src/mame/drivers/nokia_3310.cpp
index 86cbbd2d2b8..ea7919f0682 100644
--- a/src/mame/drivers/nokia_3310.cpp
+++ b/src/mame/drivers/nokia_3310.cpp
@@ -262,7 +262,7 @@ void noki3310_state::machine_reset()
m_timer_fiq8->adjust(attotime::from_hz(1000), 0, attotime::from_hz(1000));
// simulate power-on input
- if (machine().system().name && (machine().system().name[4] == '8' || machine().system().name[4] == '5'))
+ if (machine().system().name[4] == '8' || machine().system().name[4] == '5')
m_power_on = ~0x10;
else
m_power_on = ~0x02;
@@ -700,60 +700,56 @@ static INPUT_PORTS_START( noki3310 )
INPUT_PORTS_END
-MACHINE_CONFIG_START(noki3310_state::noki3310)
-
+void noki3310_state::noki3310(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", ARM7_BE, 26000000 / 2) // MAD2WD1 13 MHz, clock internally supplied to ARM core can be divided by 2, in sleep mode a 32768 Hz clock is used
- MCFG_DEVICE_PROGRAM_MAP(noki3310_map)
+ ARM7_BE(config, m_maincpu, 26000000 / 2); // MAD2WD1 13 MHz, clock internally supplied to ARM core can be divided by 2, in sleep mode a 32768 Hz clock is used
+ m_maincpu->set_addrmap(AS_PROGRAM, &noki3310_state::noki3310_map);
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", LCD, rgb_t::white())
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
- MCFG_SCREEN_SIZE(84, 48)
- MCFG_SCREEN_VISIBLE_AREA(0, 84-1, 0, 48-1)
- MCFG_SCREEN_UPDATE_DEVICE("pcd8544", pcd8544_device, screen_update)
- MCFG_SCREEN_PALETTE("palette")
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD, rgb_t::white()));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
+ screen.set_size(84, 48);
+ screen.set_visarea(0, 84-1, 0, 48-1);
+ screen.set_screen_update("pcd8544", FUNC(pcd8544_device::screen_update));
+ screen.set_palette("palette");
PALETTE(config, "palette", palette_device::MONOCHROME_INVERTED);
- MCFG_PCD8544_ADD("pcd8544")
- MCFG_PCD8544_SCREEN_UPDATE_CALLBACK(noki3310_state, pcd8544_screen_update)
+ PCD8544(config, m_pcd8544, 0);
+ m_pcd8544->set_screen_update_cb(FUNC(noki3310_state::pcd8544_screen_update), this);
INTEL_TE28F160(config, "flash");
+}
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(noki3310_state::noki3330)
+void noki3310_state::noki3330(machine_config &config)
+{
noki3310(config);
INTEL_TE28F320(config.replace(), "flash");
+}
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(noki3310_state::noki3410)
+void noki3310_state::noki3410(machine_config &config)
+{
noki3330(config);
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_SIZE(96, 65) // Philips OM6206
-
-MACHINE_CONFIG_END
+ subdevice<screen_device>("screen")->set_size(96, 65); // Philips OM6206
+}
-MACHINE_CONFIG_START(noki3310_state::noki7110)
+void noki3310_state::noki7110(machine_config &config)
+{
noki3330(config);
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_SIZE(96, 65) // Epson SED1565
-
-MACHINE_CONFIG_END
+ subdevice<screen_device>("screen")->set_size(96, 65); // Epson SED1565
+}
-MACHINE_CONFIG_START(noki3310_state::noki6210)
+void noki3310_state::noki6210(machine_config &config)
+{
noki3330(config);
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_SIZE(96, 60)
-
-MACHINE_CONFIG_END
+ subdevice<screen_device>("screen")->set_size(96, 60);
+}
// MAD2 internal ROMS