mirror of
https://github.com/holub/mame
synced 2025-04-26 10:13:37 +03:00
novag6502: get rid of bankswitch tag lookup (nw)
This commit is contained in:
parent
d081086940
commit
eeb2c80ce2
@ -924,7 +924,9 @@ WRITE8_MEMBER(fidel6502_state::sc12_trampoline_w)
|
||||
|
||||
READ8_MEMBER(fidel6502_state::sc12_trampoline_r)
|
||||
{
|
||||
if (!machine().side_effects_disabled())
|
||||
sc12_set_cpu_freq(offset);
|
||||
|
||||
return m_sc12_map->read8(space, offset);
|
||||
}
|
||||
|
||||
|
@ -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<hlcd0538_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)
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user