summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author cracyc <cracyc@users.noreply.github.com>2023-09-26 19:49:47 -0500
committer cracyc <cracyc@users.noreply.github.com>2023-09-26 19:49:47 -0500
commit7edf0aa2abba2bef57b477fa1af0fed7213647c2 (patch)
tree3eb479474028cb3bbccc4afa14941c6f400fe52a /src
parent519c3aa9895e908645149d0491cb8c06de0aba98 (diff)
pc9801: fix a20
Diffstat (limited to 'src')
-rw-r--r--src/mame/nec/pc9801.cpp1
-rw-r--r--src/mame/nec/pc9801.h2
-rw-r--r--src/mame/nec/pc9801_epson.cpp3
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<dac_1bit_device> m_dac1bit;
required_device<speaker_sound_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);