Fix for Apollo PIC8259 breakage [Hans Ostermeyer]

This commit is contained in:
Miodrag Milanovic 2013-05-30 07:11:26 +00:00
parent 0016e49bc9
commit c78b33c590
2 changed files with 11 additions and 2 deletions

View File

@ -213,6 +213,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( apollo_dma_2_hrq_changed );
DECLARE_WRITE_LINE_MEMBER( apollo_pic8259_master_set_int_line );
DECLARE_WRITE_LINE_MEMBER( apollo_pic8259_slave_set_int_line );
DECLARE_READ8_MEMBER( apollo_pic8259_get_slave_ack );
};
MACHINE_CONFIG_EXTERN( apollo );

View File

@ -689,6 +689,13 @@ IRQ_CALLBACK_MEMBER(apollo_state::apollo_pic_acknowledge)
* pic8259 configuration
*************************************************************/
READ8_MEMBER( apollo_state::apollo_pic8259_get_slave_ack )
{
MLOG1(("apollo_pic8259_get_slave_ack: offset=%x", offset));
return offset == 3 ? m_pic8259_slave->inta_r() : 0;
}
WRITE_LINE_MEMBER( apollo_state::apollo_pic8259_master_set_int_line ) {
static int interrupt_line = -1;
if (state != interrupt_line) {
@ -1367,8 +1374,9 @@ MACHINE_CONFIG_FRAGMENT( apollo )
MCFG_I8237_ADD( APOLLO_DMA1_TAG, XTAL_14_31818MHz/3, apollo_dma8237_1_config )
MCFG_I8237_ADD( APOLLO_DMA2_TAG, XTAL_14_31818MHz/3, apollo_dma8237_2_config )
MCFG_PIC8259_ADD( APOLLO_PIC1_TAG, WRITELINE(apollo_state,apollo_pic8259_master_set_int_line), GND, NULL ) // TODO: Doublecheck config
MCFG_PIC8259_ADD( APOLLO_PIC2_TAG, WRITELINE(apollo_state,apollo_pic8259_slave_set_int_line), GND, NULL ) // TODO: Doublecheck config
MCFG_PIC8259_ADD( APOLLO_PIC1_TAG, WRITELINE(apollo_state,apollo_pic8259_master_set_int_line), VCC, READ8(apollo_state, apollo_pic8259_get_slave_ack))
MCFG_PIC8259_ADD( APOLLO_PIC2_TAG, WRITELINE(apollo_state,apollo_pic8259_slave_set_int_line), GND, NULL)
MCFG_PTM6840_ADD(APOLLO_PTM_TAG, apollo_ptm_config)
MCFG_MC146818_ADD( APOLLO_RTC_TAG, MC146818_UTC )
MCFG_DUART68681_ADD( APOLLO_SIO_TAG, XTAL_3_6864MHz, apollo_sio_config )