summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/compc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/compc.cpp')
-rw-r--r--src/mame/drivers/compc.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/mame/drivers/compc.cpp b/src/mame/drivers/compc.cpp
index 46ded695064..ea657b78023 100644
--- a/src/mame/drivers/compc.cpp
+++ b/src/mame/drivers/compc.cpp
@@ -37,7 +37,6 @@ private:
void compc_state::machine_reset()
{
m_portb = 0;
- m_keyboard->enable(1);
}
WRITE8_MEMBER(compc_state::pio_w)
@@ -48,7 +47,7 @@ WRITE8_MEMBER(compc_state::pio_w)
m_portb = data;
m_mb->m_pit8253->write_gate2(BIT(data, 0));
m_mb->pc_speaker_set_spkrdata(BIT(data, 1));
- //m_keyboard->enable(BIT(data, 6));
+ m_keyboard->enable(BIT(data, 6));
if(data & 0x80)
m_mb->m_pic8259->ir1_w(0);
break;
@@ -64,6 +63,9 @@ READ8_MEMBER(compc_state::pio_r)
case 0:
data = m_keyboard->read(space, 0);
break;
+ case 1:
+ data = m_portb;
+ break;
case 2:
if(BIT(m_portb, 3))
{
@@ -75,7 +77,7 @@ READ8_MEMBER(compc_state::pio_r)
/* read lo nibble of S2 */
data = ioport("DSW0")->read() & 0x0f;
}
- if(m_mb->pit_out2() && BIT(m_portb, 0))
+ if(m_mb->pit_out2())
data |= 0x20;
break;
}
@@ -154,6 +156,14 @@ static MACHINE_CONFIG_START(compc)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb)
MCFG_PCNOPPI_MOTHERBOARD_ADD("mb", "maincpu")
+ MCFG_DEVICE_REMOVE("mb:pit8253")
+ MCFG_DEVICE_ADD("mb:pit8253", FE2010_PIT, 0)
+ MCFG_PIT8253_CLK0(XTAL_14_31818MHz/12.0) /* heartbeat IRQ */
+ MCFG_PIT8253_OUT0_HANDLER(DEVWRITELINE("pic8259", pic8259_device, ir0_w))
+ MCFG_PIT8253_CLK1(XTAL_14_31818MHz/12.0) /* dram refresh */
+ MCFG_PIT8253_OUT1_HANDLER(WRITELINE(ibm5160_mb_device, pc_pit8253_out1_changed))
+ MCFG_PIT8253_CLK2(XTAL_14_31818MHz/12.0) /* pio port c pin 4, and speaker polling enough */
+ MCFG_PIT8253_OUT2_HANDLER(WRITELINE(ibm5160_mb_device, pc_pit8253_out2_changed))
MCFG_ISA8_SLOT_ADD("mb:isa", "isa1", pc_isa8_cards, "mda", false)
MCFG_ISA8_SLOT_ADD("mb:isa", "isa2", pc_isa8_cards, "lpt", false)