diff options
Diffstat (limited to 'src/mame/drivers/ql.cpp')
-rw-r--r-- | src/mame/drivers/ql.cpp | 75 |
1 files changed, 38 insertions, 37 deletions
diff --git a/src/mame/drivers/ql.cpp b/src/mame/drivers/ql.cpp index 080bf1d724a..d7c00923d23 100644 --- a/src/mame/drivers/ql.cpp +++ b/src/mame/drivers/ql.cpp @@ -254,15 +254,15 @@ READ8_MEMBER( ql_state::read ) } if (m_qimi_enabled) { - data = m_qimi->read(space, offset, data); + data = m_qimi->read(offset, data); } m_cart->romoeh_w(cart_romoeh); - data = m_cart->read(space, offset & 0x7fff, data); + data = m_cart->read(offset & 0x7fff, data); m_cart->romoeh_w(0); m_exp->romoeh_w(exp_romoeh); - data = m_exp->read(space, offset, data); + data = m_exp->read(offset, data); m_exp->romoeh_w(0); return data; @@ -309,14 +309,14 @@ WRITE8_MEMBER( ql_state::write ) } if (m_qimi_enabled) { - m_qimi->write(space, offset, data); + m_qimi->write(offset, data); } m_cart->romoeh_w(0); - m_cart->write(space, offset & 0x7fff, data); + m_cart->write(offset & 0x7fff, data); m_exp->romoeh_w(0); - m_exp->write(space, offset, data); + m_exp->write(offset, data); } @@ -895,13 +895,14 @@ void ql_state::machine_reset() //************************************************************************** //------------------------------------------------- -// MACHINE_CONFIG( ql ) +// machine_config( ql ) //------------------------------------------------- -MACHINE_CONFIG_START(ql_state::ql) +void ql_state::ql(machine_config &config) +{ // basic machine hardware - MCFG_DEVICE_ADD(m_maincpu, M68008, X1/2) - MCFG_DEVICE_PROGRAM_MAP(ql_mem) + M68008(config, m_maincpu, X1/2); + m_maincpu->set_addrmap(AS_PROGRAM, &ql_state::ql_mem); I8749(config, m_ipc, X4); m_ipc->set_addrmap(AS_IO, &ql_state::ipc_io); @@ -912,17 +913,16 @@ MACHINE_CONFIG_START(ql_state::ql) m_ipc->bus_in_cb().set(FUNC(ql_state::ipc_bus_r)); // video hardware - MCFG_SCREEN_ADD(SCREEN_TAG, RASTER) - MCFG_SCREEN_REFRESH_RATE(50.08) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) // not accurate - MCFG_SCREEN_UPDATE_DEVICE(ZX8301_TAG, zx8301_device, screen_update) - MCFG_SCREEN_SIZE(960, 312) - MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1) + screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(50.08); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate + screen.set_screen_update(ZX8301_TAG, FUNC(zx8301_device::screen_update)); + screen.set_size(960, 312); + screen.set_visarea(0, 512-1, 0, 256-1); // sound hardware SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25); // devices ZX8301(config, m_zx8301, X1, m_maincpu); @@ -954,43 +954,44 @@ MACHINE_CONFIG_START(ql_state::ql) RS232_PORT(config, m_ser2, default_rs232_devices, nullptr); // wired as DTE m_ser2->cts_handler().set(m_zx8302, FUNC(zx8302_device::write_cts2)); - MCFG_DEVICE_ADD("exp", QL_EXPANSION_SLOT, 0, ql_expansion_cards, nullptr) // FIXME: what's the clock on the slot? - //MCFG_QL_EXPANSION_SLOT_IPL0L_CALLBACK() - //MCFG_QL_EXPANSION_SLOT_IPL1L_CALLBACK() - //MCFG_QL_EXPANSION_SLOT_BERRL_CALLBACK() - MCFG_QL_EXPANSION_SLOT_EXTINTL_CALLBACK(WRITELINE(*this, ql_state, exp_extintl_w)) + QL_EXPANSION_SLOT(config, m_exp, 0, ql_expansion_cards, nullptr); // FIXME: what's the clock on the slot? + //m_exp->ipl0l_wr_callback().set(); + //m_exp->ipl1l_wr_callback().set();( + //m_exp->berrl_wr_callback().set(); + m_exp->extintl_wr_callback().set(FUNC(ql_state::exp_extintl_w)); - MCFG_DEVICE_ADD("rom", QL_ROM_CARTRIDGE_SLOT, ql_rom_cartridge_cards, nullptr) + QL_ROM_CARTRIDGE_SLOT(config, m_cart, ql_rom_cartridge_cards, nullptr); QIMI(config, m_qimi, 0); m_qimi->extint_wr_callback().set(FUNC(ql_state::qimi_extintl_w)); // software lists - MCFG_SOFTWARE_LIST_ADD("cart_list", "ql_cart") - MCFG_SOFTWARE_LIST_ADD("cass_list", "ql_cass") - MCFG_SOFTWARE_LIST_ADD("flop_list", "ql_flop") + SOFTWARE_LIST(config, "cart_list").set_original("ql_cart"); + SOFTWARE_LIST(config, "cass_list").set_original("ql_cass"); + SOFTWARE_LIST(config, "flop_list").set_original("ql_flop"); // internal ram RAM(config, m_ram).set_default_size("128K"); -MACHINE_CONFIG_END +} //------------------------------------------------- -// MACHINE_CONFIG( ql_ntsc ) +// machine_config( ql_ntsc ) //------------------------------------------------- -MACHINE_CONFIG_START(ql_state::ql_ntsc) +void ql_state::ql_ntsc(machine_config &config) +{ ql(config); // video hardware - MCFG_SCREEN_MODIFY(SCREEN_TAG) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_SIZE(960, 262) - MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1) -MACHINE_CONFIG_END + screen_device &screen(*subdevice<screen_device>(SCREEN_TAG)); + screen.set_refresh_hz(60); + screen.set_size(960, 262); + screen.set_visarea(0, 512-1, 0, 256-1); + } //------------------------------------------------- -// MACHINE_CONFIG( opd ) +// machine_config( opd ) //------------------------------------------------- void ql_state::opd(machine_config &config) @@ -1003,7 +1004,7 @@ void ql_state::opd(machine_config &config) /* //------------------------------------------------- -// MACHINE_CONFIG( megaopd ) +// machine_config( megaopd ) //------------------------------------------------- void ql_state::megaopd(machine_config &config) |