summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/atom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/atom.cpp')
-rw-r--r--src/mame/drivers/atom.cpp57
1 files changed, 23 insertions, 34 deletions
diff --git a/src/mame/drivers/atom.cpp b/src/mame/drivers/atom.cpp
index efd3e53feda..b57b652e7d5 100644
--- a/src/mame/drivers/atom.cpp
+++ b/src/mame/drivers/atom.cpp
@@ -662,8 +662,8 @@ void atom_state::machine_start()
m_baseram[0x0a] = machine().rand() & 0x0ff;
m_baseram[0x0b] = machine().rand() & 0x0ff;
- if (m_cart && m_cart->exists())
- m_maincpu->space(AS_PROGRAM).install_read_handler(0xa000, 0xafff, read8_delegate(FUNC(generic_slot_device::read_rom),(generic_slot_device*)m_cart));
+ if (m_cart.found() && m_cart->exists())
+ m_maincpu->space(AS_PROGRAM).install_read_handler(0xa000, 0xafff, read8_delegate(FUNC(generic_slot_device::read_rom), &*m_cart));
}
/*-------------------------------------------------
@@ -679,9 +679,9 @@ void atomeb_state::machine_start()
MACHINE DRIVERS
***************************************************************************/
-image_init_result atom_state::load_cart(device_image_interface &image, generic_slot_device *slot)
+image_init_result atom_state::load_cart(device_image_interface &image, generic_slot_device &slot)
{
- uint32_t size = slot->common_get_size("rom");
+ uint32_t size = slot.common_get_size("rom");
if (size > 0x1000)
{
@@ -689,8 +689,8 @@ image_init_result atom_state::load_cart(device_image_interface &image, generic_s
return image_init_result::FAIL;
}
- slot->rom_alloc(size, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE);
- slot->common_load_rom(slot->get_rom_base(), size, "rom");
+ slot.rom_alloc(size, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE);
+ slot.common_load_rom(slot.get_rom_base(), size, "rom");
return image_init_result::PASS;
}
@@ -793,22 +793,22 @@ MACHINE_CONFIG_START(atomeb_state::atomeb)
/* cartridges */
MCFG_DEVICE_REMOVE("cartslot")
- MCFG_ATOM_ROM_ADD("rom_a0", a0_load)
- MCFG_ATOM_ROM_ADD("rom_a1", a1_load)
- MCFG_ATOM_ROM_ADD("rom_a2", a2_load)
- MCFG_ATOM_ROM_ADD("rom_a3", a3_load)
- MCFG_ATOM_ROM_ADD("rom_a4", a4_load)
- MCFG_ATOM_ROM_ADD("rom_a5", a5_load)
- MCFG_ATOM_ROM_ADD("rom_a6", a6_load)
- MCFG_ATOM_ROM_ADD("rom_a7", a7_load)
- MCFG_ATOM_ROM_ADD("rom_a8", a8_load)
- MCFG_ATOM_ROM_ADD("rom_a9", a9_load)
- MCFG_ATOM_ROM_ADD("rom_aa", aa_load)
- MCFG_ATOM_ROM_ADD("rom_ab", ab_load)
- MCFG_ATOM_ROM_ADD("rom_ac", ac_load)
- MCFG_ATOM_ROM_ADD("rom_ad", ad_load)
- MCFG_ATOM_ROM_ADD("rom_ae", ae_load)
- MCFG_ATOM_ROM_ADD("rom_af", af_load)
+ MCFG_ATOM_ROM_ADD("rom_a0", ext_load<0x0>)
+ MCFG_ATOM_ROM_ADD("rom_a1", ext_load<0x1>)
+ MCFG_ATOM_ROM_ADD("rom_a2", ext_load<0x2>)
+ MCFG_ATOM_ROM_ADD("rom_a3", ext_load<0x3>)
+ MCFG_ATOM_ROM_ADD("rom_a4", ext_load<0x4>)
+ MCFG_ATOM_ROM_ADD("rom_a5", ext_load<0x5>)
+ MCFG_ATOM_ROM_ADD("rom_a6", ext_load<0x6>)
+ MCFG_ATOM_ROM_ADD("rom_a7", ext_load<0x7>)
+ MCFG_ATOM_ROM_ADD("rom_a8", ext_load<0x8>)
+ MCFG_ATOM_ROM_ADD("rom_a9", ext_load<0x9>)
+ MCFG_ATOM_ROM_ADD("rom_aa", ext_load<0xa>)
+ MCFG_ATOM_ROM_ADD("rom_ab", ext_load<0xb>)
+ MCFG_ATOM_ROM_ADD("rom_ac", ext_load<0xc>)
+ MCFG_ATOM_ROM_ADD("rom_ad", ext_load<0xd>)
+ MCFG_ATOM_ROM_ADD("rom_ae", ext_load<0xe>)
+ MCFG_ATOM_ROM_ADD("rom_af", ext_load<0xf>)
MCFG_ATOM_ROM_ADD("rom_e0", e0_load)
MCFG_ATOM_ROM_ADD("rom_e1", e1_load)
@@ -974,17 +974,6 @@ ROM_END
// ROM_LOAD( "atommc2-2.9-a000.rom", 0x2000, 0x1000, CRC(ba73e36c) SHA1(ea9739e96f3283c90b5306288c796fc01144b771) )
//ROM_END
-void atomeb_state::init_atomeb()
-{
- // these have to be set here, so that we can pass m_ext[*] to device_image_load!
- char str[8];
- for (int i = 0; i < 16; i++)
- {
- sprintf(str,"rom_a%x", i);
- m_ext[i] = machine().device<generic_slot_device>(str);
- }
-}
-
/***************************************************************************
SYSTEM DRIVERS
@@ -992,7 +981,7 @@ void atomeb_state::init_atomeb()
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
COMP( 1979, atom, 0, 0, atom, atom, atom_state, empty_init, "Acorn", "Atom", 0)
-COMP( 1979, atomeb, atom, 0, atomeb, atom, atomeb_state, init_atomeb, "Acorn", "Atom with Eprom Box", 0)
+COMP( 1979, atomeb, atom, 0, atomeb, atom, atomeb_state, empty_init, "Acorn", "Atom with Eprom Box", 0)
COMP( 1982, atombb, atom, 0, atombb, atom, atom_state, empty_init, "Acorn", "Atom with BBC Basic", 0)
//COMP( 1983, prophet2, atom, 0, prophet2, atom, driver_device, empty_init, "Busicomputers", "Prophet 2", 0)
//COMP( 1983, prophet3, atom, 0, prophet3, atom, driver_device, empty_init, "Busicomputers", "Prophet 3", 0)