mirror of
https://github.com/holub/mame
synced 2025-06-06 21:03:47 +03:00
(mess) compis: try to fix irq lines (nw)
This commit is contained in:
parent
6c2a2a22c2
commit
be08f549a9
@ -349,6 +349,7 @@ static MACHINE_CONFIG_START( compis, compis_state )
|
|||||||
MCFG_CPU_PROGRAM_MAP(compis_mem)
|
MCFG_CPU_PROGRAM_MAP(compis_mem)
|
||||||
MCFG_CPU_IO_MAP(compis_io)
|
MCFG_CPU_IO_MAP(compis_io)
|
||||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", compis_state, compis_vblank_int)
|
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_CPU_CONFIG(i86_address_mask)
|
||||||
|
|
||||||
//MCFG_QUANTUM_TIME(attotime::from_hz(60))
|
//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_PIT8253_ADD( "pit8253", compis_pit8253_config )
|
||||||
MCFG_PIT8254_ADD( "pit8254", compis_pit8254_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_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_I8255_ADD( "ppi8255", compis_ppi_interface )
|
||||||
MCFG_UPD7220_ADD("upd7220", XTAL_4_433619MHz/2, hgdc_intf, upd7220_map) //unknown clock
|
MCFG_UPD7220_ADD("upd7220", XTAL_4_433619MHz/2, hgdc_intf, upd7220_map) //unknown clock
|
||||||
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
|
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_PROGRAM_MAP(compis_mem)
|
||||||
MCFG_CPU_IO_MAP(compis_io)
|
MCFG_CPU_IO_MAP(compis_io)
|
||||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", compis_state, compis_vblank_int)
|
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_CPU_CONFIG(i86_address_mask)
|
||||||
|
|
||||||
//MCFG_QUANTUM_TIME(attotime::from_hz(60))
|
//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_PIT8253_ADD( "pit8253", compis_pit8253_config )
|
||||||
MCFG_PIT8254_ADD( "pit8254", compis_pit8254_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_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_I8255_ADD( "ppi8255", compis_ppi_interface )
|
||||||
MCFG_UPD7220_ADD("upd7220", XTAL_4_433619MHz/2, hgdc_intf, upd7220_map) //unknown clock
|
MCFG_UPD7220_ADD("upd7220", XTAL_4_433619MHz/2, hgdc_intf, upd7220_map) //unknown clock
|
||||||
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
|
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
|
||||||
|
@ -163,8 +163,8 @@ public:
|
|||||||
DECLARE_READ16_MEMBER(compis_osp_pit_r);
|
DECLARE_READ16_MEMBER(compis_osp_pit_r);
|
||||||
DECLARE_WRITE16_MEMBER(compis_osp_pit_w);
|
DECLARE_WRITE16_MEMBER(compis_osp_pit_w);
|
||||||
DECLARE_WRITE_LINE_MEMBER(compis_usart_rxready);
|
DECLARE_WRITE_LINE_MEMBER(compis_usart_rxready);
|
||||||
DECLARE_WRITE_LINE_MEMBER(compis_pic8259_master_set_int_line);
|
// 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_slave_set_int_line);
|
||||||
DECLARE_READ8_MEMBER(get_slave_ack);
|
DECLARE_READ8_MEMBER(get_slave_ack);
|
||||||
// i186_state m_i186;
|
// i186_state m_i186;
|
||||||
TYP_COMPIS m_compis;
|
TYP_COMPIS m_compis;
|
||||||
@ -188,7 +188,7 @@ public:
|
|||||||
// TIMER_CALLBACK_MEMBER(internal_timer_int);
|
// TIMER_CALLBACK_MEMBER(internal_timer_int);
|
||||||
// TIMER_CALLBACK_MEMBER(dma_timer_callback);
|
// TIMER_CALLBACK_MEMBER(dma_timer_callback);
|
||||||
// IRQ_CALLBACK_MEMBER(int_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_irq_set(UINT8 irq);
|
||||||
void compis_keyb_update();
|
void compis_keyb_update();
|
||||||
void compis_keyb_init();
|
void compis_keyb_init();
|
||||||
|
@ -158,7 +158,7 @@ void compis_state::compis_keyb_init()
|
|||||||
/*-------------------------------------------------------------------------*/
|
/*-------------------------------------------------------------------------*/
|
||||||
void compis_state::compis_fdc_reset()
|
void compis_state::compis_fdc_reset()
|
||||||
{
|
{
|
||||||
machine().device("i8272a")->reset();
|
m_fdc->reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
void compis_state::compis_fdc_tc(int state)
|
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);
|
// 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)
|
if (m_8259m)
|
||||||
m_8259m->ir2_w(state);
|
m_8259m->ir2_w(state);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
READ8_MEMBER( compis_state::get_slave_ack )
|
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)
|
READ8_MEMBER(compis_state::compis_irq_callback)
|
||||||
//{
|
{
|
||||||
// return m_8259m->inta_r();
|
return m_8259m->inta_r();
|
||||||
//}
|
}
|
||||||
|
|
||||||
|
|
||||||
DRIVER_INIT_MEMBER(compis_state,compis)
|
DRIVER_INIT_MEMBER(compis_state,compis)
|
||||||
@ -1292,6 +1292,7 @@ void compis_state::machine_start()
|
|||||||
{
|
{
|
||||||
/* CPU */
|
/* CPU */
|
||||||
compis_cpu_init();
|
compis_cpu_init();
|
||||||
|
m_fdc->setup_intrq_cb(i8272a_device::line_cb(FUNC(compis_state::fdc_irq), this));
|
||||||
}
|
}
|
||||||
/*-------------------------------------------------------------------------*/
|
/*-------------------------------------------------------------------------*/
|
||||||
/* Name: compis */
|
/* Name: compis */
|
||||||
|
Loading…
Reference in New Issue
Block a user