From 7edf0aa2abba2bef57b477fa1af0fed7213647c2 Mon Sep 17 00:00:00 2001 From: cracyc Date: Tue, 26 Sep 2023 19:49:47 -0500 Subject: pc9801: fix a20 --- src/mame/nec/pc9801.cpp | 1 - src/mame/nec/pc9801.h | 2 +- src/mame/nec/pc9801_epson.cpp | 3 +-- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/mame/nec/pc9801.cpp b/src/mame/nec/pc9801.cpp index 68dfba147ab..e71552b3f1d 100644 --- a/src/mame/nec/pc9801.cpp +++ b/src/mame/nec/pc9801.cpp @@ -761,7 +761,6 @@ void pc9801vm_state::a20_ctrl_w(offs_t offset, uint8_t data) // TODO: is there any other way that doesn't involve direct r/w of ppi address? por = m_ppi_sys->read(2) & ~0x20; m_ppi_sys->write(2, por); - m_maincpu->set_input_line(INPUT_LINE_A20, CLEAR_LINE); m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); m_gate_a20 = 0; } diff --git a/src/mame/nec/pc9801.h b/src/mame/nec/pc9801.h index 57145b26eb1..dff6f5076d3 100644 --- a/src/mame/nec/pc9801.h +++ b/src/mame/nec/pc9801.h @@ -414,6 +414,7 @@ protected: void ppi_sys_dac_portc_w(uint8_t data); virtual u8 ppi_prn_portb_r() override; + uint32_t a20_286(bool state); DECLARE_MACHINE_START(pc9801rs); DECLARE_MACHINE_RESET(pc9801rs); @@ -431,7 +432,6 @@ private: // optional_device m_dac1bit; required_device m_dac1bit; - uint32_t a20_286(bool state); uint8_t pc9801rs_knjram_r(offs_t offset); void pc9801rs_knjram_w(offs_t offset, uint8_t data); diff --git a/src/mame/nec/pc9801_epson.cpp b/src/mame/nec/pc9801_epson.cpp index c274527a4f9..6691bdcad21 100644 --- a/src/mame/nec/pc9801_epson.cpp +++ b/src/mame/nec/pc9801_epson.cpp @@ -338,8 +338,7 @@ void pc98_epson_state::pc286vs(machine_config &config) i80286_cpu_device &maincpu(I80286(config.replace(), m_maincpu, 10000000)); maincpu.set_addrmap(AS_PROGRAM, &pc98_epson_state::pc286vs_map); maincpu.set_addrmap(AS_IO, &pc98_epson_state::pc286vs_io); - // TODO: seems to work without using A20 gate, verify -// maincpu.set_a20_callback(i80286_cpu_device::a20_cb(&pc98_epson_state::a20_286, this)); + maincpu.set_a20_callback(FUNC(pc98_epson_state::a20_286)); maincpu.set_irq_acknowledge_callback("pic8259_master", FUNC(pic8259_device::inta_cb)); config_base_epson(config); -- cgit v1.2.3