From eeb2c80ce223f04aa030b3db4ed649caef47d833 Mon Sep 17 00:00:00 2001 From: hap Date: Sat, 19 May 2018 17:10:16 +0200 Subject: novag6502: get rid of bankswitch tag lookup (nw) --- src/mame/drivers/fidel6502.cpp | 4 +++- src/mame/drivers/novag6502.cpp | 14 ++++++++------ src/mame/drivers/novag68k.cpp | 4 ++-- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/mame/drivers/fidel6502.cpp b/src/mame/drivers/fidel6502.cpp index c60ff3783cd..72174ca7553 100644 --- a/src/mame/drivers/fidel6502.cpp +++ b/src/mame/drivers/fidel6502.cpp @@ -924,7 +924,9 @@ WRITE8_MEMBER(fidel6502_state::sc12_trampoline_w) READ8_MEMBER(fidel6502_state::sc12_trampoline_r) { - sc12_set_cpu_freq(offset); + if (!machine().side_effects_disabled()) + sc12_set_cpu_freq(offset); + return m_sc12_map->read8(space, offset); } diff --git a/src/mame/drivers/novag6502.cpp b/src/mame/drivers/novag6502.cpp index 3e108d567bf..56a0167a856 100644 --- a/src/mame/drivers/novag6502.cpp +++ b/src/mame/drivers/novag6502.cpp @@ -79,10 +79,12 @@ class novag6502_state : public novagbase_state public: novag6502_state(const machine_config &mconfig, device_type type, const char *tag) : novagbase_state(mconfig, type, tag), - m_hlcd0538(*this, "hlcd0538") + m_hlcd0538(*this, "hlcd0538"), + m_rombank(*this, "rombank") { } optional_device m_hlcd0538; + optional_memory_bank m_rombank; TIMER_DEVICE_CALLBACK_MEMBER(irq_on) { m_maincpu->set_input_line(M6502_IRQ_LINE, ASSERT_LINE); } TIMER_DEVICE_CALLBACK_MEMBER(irq_off) { m_maincpu->set_input_line(M6502_IRQ_LINE, CLEAR_LINE); } @@ -423,7 +425,7 @@ WRITE8_MEMBER(novag6502_state::sexpert_leds_w) WRITE8_MEMBER(novag6502_state::sexpert_mux_w) { // d0: rom bankswitch - membank("bank1")->set_entry(data & 1); + m_rombank->set_entry(data & 1); // d3: enable beeper m_beeper->set_state(data >> 3 & 1); @@ -458,12 +460,12 @@ MACHINE_RESET_MEMBER(novag6502_state, sexpert) novagbase_state::machine_reset(); sexpert_set_cpu_freq(); - membank("bank1")->set_entry(0); + m_rombank->set_entry(0); } void novag6502_state::init_sexpert() { - membank("bank1")->configure_entries(0, 2, memregion("maincpu")->base() + 0x8000, 0x8000); + m_rombank->configure_entries(0, 2, memregion("maincpu")->base() + 0x8000, 0x8000); } @@ -475,7 +477,7 @@ void novag6502_state::init_sexpert() WRITE8_MEMBER(novag6502_state::sforte_lcd_control_w) { // d3: rom bankswitch - membank("bank1")->set_entry(data >> 3 & 1); + m_rombank->set_entry(data >> 3 & 1); // assume same as sexpert sexpert_lcd_control_w(space, 0, data); @@ -540,7 +542,7 @@ void novag6502_state::sforte_map(address_map &map) map(0x1ff7, 0x1ff7).w(this, FUNC(novag6502_state::sforte_lcd_data_w)); map(0x1ffc, 0x1fff).rw("acia", FUNC(mos6551_device::read), FUNC(mos6551_device::write)); map(0x2000, 0x7fff).rom(); - map(0x8000, 0xffff).bankr("bank1"); + map(0x8000, 0xffff).bankr("rombank"); } void novag6502_state::sexpert_map(address_map &map) diff --git a/src/mame/drivers/novag68k.cpp b/src/mame/drivers/novag68k.cpp index 138953672bb..ab767d36f93 100644 --- a/src/mame/drivers/novag68k.cpp +++ b/src/mame/drivers/novag68k.cpp @@ -288,7 +288,7 @@ MACHINE_CONFIG_END ******************************************************************************/ ROM_START( diablo68 ) - ROM_REGION16_BE( 0x20000, "maincpu", 0 ) + ROM_REGION16_BE( 0x20000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD16_BYTE("evenurom.bin", 0x00000, 0x8000, CRC(03477746) SHA1(8bffcb159a61e59bfc45411e319aea6501ebe2f9) ) ROM_LOAD16_BYTE("oddlrom.bin", 0x00001, 0x8000, CRC(e182dbdd) SHA1(24dacbef2173fa737636e4729ff22ec1e6623ca5) ) ROM_LOAD16_BYTE("book.bin", 0x10000, 0x8000, CRC(553a5c8c) SHA1(ccb5460ff10766a5ca8008ae2cffcff794318108) ) // no odd rom @@ -296,7 +296,7 @@ ROM_END ROM_START( scorpio68 ) - ROM_REGION16_BE( 0x20000, "maincpu", 0 ) + ROM_REGION16_BE( 0x20000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD16_BYTE("s_evn_904.u3", 0x00000, 0x8000, CRC(a8f63245) SHA1(0ffdc6eb8ecad730440b0bfb2620fb00820e1aea) ) ROM_LOAD16_BYTE("s_odd_c18.u2", 0x00001, 0x8000, CRC(4f033319) SHA1(fce228b1705b7156d4d01ef92b22a875d0f6f321) ) ROM_LOAD16_BYTE("502.u4", 0x10000, 0x8000, CRC(553a5c8c) SHA1(ccb5460ff10766a5ca8008ae2cffcff794318108) ) // no odd rom -- cgit v1.2.3