mirror of
https://github.com/holub/mame
synced 2025-05-06 06:14:45 +03:00
pc9801: fix a20
This commit is contained in:
parent
519c3aa989
commit
7edf0aa2ab
@ -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?
|
// TODO: is there any other way that doesn't involve direct r/w of ppi address?
|
||||||
por = m_ppi_sys->read(2) & ~0x20;
|
por = m_ppi_sys->read(2) & ~0x20;
|
||||||
m_ppi_sys->write(2, por);
|
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_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero);
|
||||||
m_gate_a20 = 0;
|
m_gate_a20 = 0;
|
||||||
}
|
}
|
||||||
|
@ -414,6 +414,7 @@ protected:
|
|||||||
|
|
||||||
void ppi_sys_dac_portc_w(uint8_t data);
|
void ppi_sys_dac_portc_w(uint8_t data);
|
||||||
virtual u8 ppi_prn_portb_r() override;
|
virtual u8 ppi_prn_portb_r() override;
|
||||||
|
uint32_t a20_286(bool state);
|
||||||
|
|
||||||
DECLARE_MACHINE_START(pc9801rs);
|
DECLARE_MACHINE_START(pc9801rs);
|
||||||
DECLARE_MACHINE_RESET(pc9801rs);
|
DECLARE_MACHINE_RESET(pc9801rs);
|
||||||
@ -431,7 +432,6 @@ private:
|
|||||||
// optional_device<dac_1bit_device> m_dac1bit;
|
// optional_device<dac_1bit_device> m_dac1bit;
|
||||||
required_device<speaker_sound_device> m_dac1bit;
|
required_device<speaker_sound_device> m_dac1bit;
|
||||||
|
|
||||||
uint32_t a20_286(bool state);
|
|
||||||
|
|
||||||
uint8_t pc9801rs_knjram_r(offs_t offset);
|
uint8_t pc9801rs_knjram_r(offs_t offset);
|
||||||
void pc9801rs_knjram_w(offs_t offset, uint8_t data);
|
void pc9801rs_knjram_w(offs_t offset, uint8_t data);
|
||||||
|
@ -338,8 +338,7 @@ void pc98_epson_state::pc286vs(machine_config &config)
|
|||||||
i80286_cpu_device &maincpu(I80286(config.replace(), m_maincpu, 10000000));
|
i80286_cpu_device &maincpu(I80286(config.replace(), m_maincpu, 10000000));
|
||||||
maincpu.set_addrmap(AS_PROGRAM, &pc98_epson_state::pc286vs_map);
|
maincpu.set_addrmap(AS_PROGRAM, &pc98_epson_state::pc286vs_map);
|
||||||
maincpu.set_addrmap(AS_IO, &pc98_epson_state::pc286vs_io);
|
maincpu.set_addrmap(AS_IO, &pc98_epson_state::pc286vs_io);
|
||||||
// TODO: seems to work without using A20 gate, verify
|
maincpu.set_a20_callback(FUNC(pc98_epson_state::a20_286));
|
||||||
// maincpu.set_a20_callback(i80286_cpu_device::a20_cb(&pc98_epson_state::a20_286, this));
|
|
||||||
maincpu.set_irq_acknowledge_callback("pic8259_master", FUNC(pic8259_device::inta_cb));
|
maincpu.set_irq_acknowledge_callback("pic8259_master", FUNC(pic8259_device::inta_cb));
|
||||||
|
|
||||||
config_base_epson(config);
|
config_base_epson(config);
|
||||||
|
Loading…
Reference in New Issue
Block a user