mirror of
https://github.com/holub/mame
synced 2025-04-25 01:40:16 +03:00
mindset: Fix the 8042s, clock starts ticking [O. Galibert]
This commit is contained in:
parent
5b28cbd49b
commit
e979607ad8
@ -26,7 +26,7 @@ namespace bus {
|
||||
|
||||
void human_interface_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
i8042_device &iocpu(I8042(config, "iocpu", XTAL(5'000'000)));
|
||||
i8042ah_device &iocpu(I8042AH(config, "iocpu", XTAL(5'000'000)));
|
||||
iocpu.set_addrmap(AS_PROGRAM, &human_interface_device::iocpu_map);
|
||||
iocpu.p1_out_cb().set(FUNC(human_interface_device::iocpu_port1_w));
|
||||
iocpu.p2_out_cb().set(FUNC(human_interface_device::iocpu_port2_w));
|
||||
|
@ -61,7 +61,7 @@ private:
|
||||
void update_gpib_irq();
|
||||
void update_gpib_dma();
|
||||
|
||||
required_device<i8042_device> m_iocpu;
|
||||
required_device<i8042ah_device> m_iocpu;
|
||||
required_device<hp_hil_mlc_device> m_mlc;
|
||||
required_device<sn76494_device> m_sound;
|
||||
required_device<tms9914_device> m_tms9914;
|
||||
|
@ -159,6 +159,7 @@ DEFINE_DEVICE_TYPE(I8050, i8050_device, "i8050", "Intel I8050")
|
||||
DEFINE_DEVICE_TYPE(I8041, i8041_device, "i8041", "Intel I8041")
|
||||
DEFINE_DEVICE_TYPE(I8741, i8741_device, "i8741", "Intel I8741")
|
||||
DEFINE_DEVICE_TYPE(I8042, i8042_device, "i8042", "Intel I8042")
|
||||
DEFINE_DEVICE_TYPE(I8042AH,i8042ah_device,"i8042ah","Intel I8042AH")
|
||||
DEFINE_DEVICE_TYPE(I8242, i8242_device, "i8242", "Intel I8242")
|
||||
DEFINE_DEVICE_TYPE(I8742, i8742_device, "i8742", "Intel I8742")
|
||||
DEFINE_DEVICE_TYPE(MB8884, mb8884_device, "mb8884", "MB8884")
|
||||
@ -320,6 +321,11 @@ i8741_device::i8741_device(const machine_config &mconfig, const char *tag, devic
|
||||
}
|
||||
|
||||
i8042_device::i8042_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: upi41_cpu_device(mconfig, I8042, tag, owner, clock, 2048, 128)
|
||||
{
|
||||
}
|
||||
|
||||
i8042ah_device::i8042ah_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: upi41_cpu_device(mconfig, I8042, tag, owner, clock, 2048, 256)
|
||||
{
|
||||
}
|
||||
|
@ -88,7 +88,8 @@ DECLARE_DEVICE_TYPE(I8050, i8050_device) /* 4k internal ROM, 256 bytes in
|
||||
/* Official Intel UPI-41 parts */
|
||||
DECLARE_DEVICE_TYPE(I8041, i8041_device) /* 1k internal ROM, 128 bytes internal RAM */
|
||||
DECLARE_DEVICE_TYPE(I8741, i8741_device) /* 1k internal EEPROM, 128 bytes internal RAM */
|
||||
DECLARE_DEVICE_TYPE(I8042, i8042_device) /* 2k internal ROM, 256 bytes internal RAM */
|
||||
DECLARE_DEVICE_TYPE(I8042, i8042_device) /* 2k internal ROM, 128 bytes internal RAM */
|
||||
DECLARE_DEVICE_TYPE(I8042AH, i8042ah_device)/* 2k internal ROM, 256 bytes internal RAM */
|
||||
DECLARE_DEVICE_TYPE(I8242, i8242_device) /* 2k internal ROM, 256 bytes internal RAM */
|
||||
DECLARE_DEVICE_TYPE(I8742, i8742_device) /* 2k internal EEPROM, 256 bytes internal RAM */
|
||||
|
||||
@ -656,6 +657,13 @@ public:
|
||||
i8042_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
};
|
||||
|
||||
class i8042ah_device : public upi41_cpu_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
i8042ah_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
};
|
||||
|
||||
class i8242_device : public upi41_cpu_device
|
||||
{
|
||||
public:
|
||||
|
@ -386,7 +386,7 @@ tiny_rom_entry const *at_keyboard_controller_device::device_rom_region() const
|
||||
|
||||
void at_keyboard_controller_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
I8042(config, m_mcu, DERIVED_CLOCK(1, 1));
|
||||
I8042AH(config, m_mcu, DERIVED_CLOCK(1, 1));
|
||||
m_mcu->p1_in_cb().set_ioport("P1");
|
||||
m_mcu->p1_out_cb().set_nop();
|
||||
m_mcu->p2_in_cb().set_constant(0xffU);
|
||||
@ -462,7 +462,7 @@ tiny_rom_entry const *ps2_keyboard_controller_device::device_rom_region() const
|
||||
|
||||
void ps2_keyboard_controller_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
I8042(config, m_mcu, DERIVED_CLOCK(1, 1));
|
||||
I8042AH(config, m_mcu, DERIVED_CLOCK(1, 1));
|
||||
m_mcu->p1_in_cb().set(FUNC(ps2_keyboard_controller_device::p1_r));
|
||||
m_mcu->p1_out_cb().set_nop();
|
||||
m_mcu->p2_in_cb().set_constant(0xffU);
|
||||
|
@ -66,7 +66,7 @@ void bitel_state::feap90(machine_config &config)
|
||||
I8031(config, m_maincpu, 12000000); // XTAL illegible
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &bitel_state::prog_map);
|
||||
|
||||
I8042(config, "upi", 6000000).set_disable(); // XTAL illegible
|
||||
I8042AH(config, "upi", 6000000).set_disable(); // XTAL illegible
|
||||
}
|
||||
|
||||
ROM_START(t3210) // i8031, 8742, D80C39C // 4+2k ram onboard; 24kb in battery-backed expansion
|
||||
|
@ -525,7 +525,7 @@ void mindset_state::mindset(machine_config &config)
|
||||
m_syscpu->t0_in_cb().set(FUNC(mindset_state::sys_t0_r));
|
||||
m_syscpu->t1_in_cb().set(FUNC(mindset_state::sys_t1_r));
|
||||
|
||||
I8042(config, m_soundcpu, 14.318181_MHz_XTAL/2);
|
||||
I8042(config, m_soundcpu, 12_MHz_XTAL/2);
|
||||
|
||||
I8749(config, m_kbdcpu, 6_MHz_XTAL);
|
||||
m_kbdcpu->p1_out_cb().set(FUNC(mindset_state::kbd_p1_w));
|
||||
|
Loading…
Reference in New Issue
Block a user