pc9801: fix a20

This commit is contained in:
cracyc 2023-09-26 19:49:47 -05:00
parent 519c3aa989
commit 7edf0aa2ab
3 changed files with 2 additions and 4 deletions

View File

@ -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;
}

View File

@ -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);

View File

@ -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);