(mess) compis: try to fix irq lines (nw)

This commit is contained in:
cracyc 2013-08-19 19:18:10 +00:00
parent 6c2a2a22c2
commit be08f549a9
3 changed files with 15 additions and 12 deletions

View File

@ -349,6 +349,7 @@ static MACHINE_CONFIG_START( compis, compis_state )
MCFG_CPU_PROGRAM_MAP(compis_mem)
MCFG_CPU_IO_MAP(compis_io)
MCFG_CPU_VBLANK_INT_DRIVER("screen", compis_state, compis_vblank_int)
MCFG_80186_IRQ_SLAVE_ACK(DEVREAD8(DEVICE_SELF_OWNER, compis_state, compis_irq_callback))
//MCFG_CPU_CONFIG(i86_address_mask)
//MCFG_QUANTUM_TIME(attotime::from_hz(60))
@ -372,7 +373,7 @@ static MACHINE_CONFIG_START( compis, compis_state )
MCFG_PIT8253_ADD( "pit8253", compis_pit8253_config )
MCFG_PIT8254_ADD( "pit8254", compis_pit8254_config )
MCFG_PIC8259_ADD( "pic8259_master", DEVWRITELINE("maincpu", i80186_cpu_device, int0_w), VCC, READ8(compis_state, get_slave_ack) )
MCFG_PIC8259_ADD( "pic8259_slave", WRITELINE(compis_state, compis_pic8259_slave_set_int_line), GND, NULL )
MCFG_PIC8259_ADD( "pic8259_slave", DEVWRITELINE("pic8259_master", pic8259_device, ir2_w), GND, NULL )
MCFG_I8255_ADD( "ppi8255", compis_ppi_interface )
MCFG_UPD7220_ADD("upd7220", XTAL_4_433619MHz/2, hgdc_intf, upd7220_map) //unknown clock
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
@ -393,6 +394,7 @@ static MACHINE_CONFIG_START( compis2, compis_state )
MCFG_CPU_PROGRAM_MAP(compis_mem)
MCFG_CPU_IO_MAP(compis_io)
MCFG_CPU_VBLANK_INT_DRIVER("screen", compis_state, compis_vblank_int)
MCFG_80186_IRQ_SLAVE_ACK(DEVREAD8(DEVICE_SELF_OWNER, compis_state, compis_irq_callback))
//MCFG_CPU_CONFIG(i86_address_mask)
//MCFG_QUANTUM_TIME(attotime::from_hz(60))
@ -412,7 +414,7 @@ static MACHINE_CONFIG_START( compis2, compis_state )
MCFG_PIT8253_ADD( "pit8253", compis_pit8253_config )
MCFG_PIT8254_ADD( "pit8254", compis_pit8254_config )
MCFG_PIC8259_ADD( "pic8259_master", DEVWRITELINE("maincpu", i80186_cpu_device, int0_w), VCC, READ8(compis_state, get_slave_ack) )
MCFG_PIC8259_ADD( "pic8259_slave", WRITELINE(compis_state, compis_pic8259_slave_set_int_line), GND, NULL )
MCFG_PIC8259_ADD( "pic8259_slave", DEVWRITELINE("pic8259_master", pic8259_device, ir2_w), GND, NULL )
MCFG_I8255_ADD( "ppi8255", compis_ppi_interface )
MCFG_UPD7220_ADD("upd7220", XTAL_4_433619MHz/2, hgdc_intf, upd7220_map) //unknown clock
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)

View File

@ -163,8 +163,8 @@ public:
DECLARE_READ16_MEMBER(compis_osp_pit_r);
DECLARE_WRITE16_MEMBER(compis_osp_pit_w);
DECLARE_WRITE_LINE_MEMBER(compis_usart_rxready);
DECLARE_WRITE_LINE_MEMBER(compis_pic8259_master_set_int_line);
DECLARE_WRITE_LINE_MEMBER(compis_pic8259_slave_set_int_line);
// DECLARE_WRITE_LINE_MEMBER(compis_pic8259_master_set_int_line);
// DECLARE_WRITE_LINE_MEMBER(compis_pic8259_slave_set_int_line);
DECLARE_READ8_MEMBER(get_slave_ack);
// i186_state m_i186;
TYP_COMPIS m_compis;
@ -188,7 +188,7 @@ public:
// TIMER_CALLBACK_MEMBER(internal_timer_int);
// TIMER_CALLBACK_MEMBER(dma_timer_callback);
// IRQ_CALLBACK_MEMBER(int_callback);
// IRQ_CALLBACK_MEMBER(compis_irq_callback);
DECLARE_READ8_MEMBER(compis_irq_callback);
void compis_irq_set(UINT8 irq);
void compis_keyb_update();
void compis_keyb_init();

View File

@ -158,7 +158,7 @@ void compis_state::compis_keyb_init()
/*-------------------------------------------------------------------------*/
void compis_state::compis_fdc_reset()
{
machine().device("i8272a")->reset();
m_fdc->reset();
}
void compis_state::compis_fdc_tc(int state)
@ -1256,7 +1256,7 @@ void compis_state::compis_cpu_init()
*
*************************************************************/
WRITE_LINE_MEMBER( compis_state::compis_pic8259_master_set_int_line )
/*WRITE_LINE_MEMBER( compis_state::compis_pic8259_master_set_int_line )
{
// m_maincpu->set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
}
@ -1265,7 +1265,7 @@ WRITE_LINE_MEMBER( compis_state::compis_pic8259_slave_set_int_line )
{
if (m_8259m)
m_8259m->ir2_w(state);
}
}*/
READ8_MEMBER( compis_state::get_slave_ack )
{
@ -1276,10 +1276,10 @@ READ8_MEMBER( compis_state::get_slave_ack )
}
//IRQ_CALLBACK_MEMBER(compis_state::compis_irq_callback)
//{
// return m_8259m->inta_r();
//}
READ8_MEMBER(compis_state::compis_irq_callback)
{
return m_8259m->inta_r();
}
DRIVER_INIT_MEMBER(compis_state,compis)
@ -1292,6 +1292,7 @@ void compis_state::machine_start()
{
/* CPU */
compis_cpu_init();
m_fdc->setup_intrq_cb(i8272a_device::line_cb(FUNC(compis_state::fdc_irq), this));
}
/*-------------------------------------------------------------------------*/
/* Name: compis */