--- np2/io/pic.h 2003/12/08 00:55:32 1.4 +++ np2/io/pic.h 2007/11/03 00:00:20 1.7 @@ -1,29 +1,20 @@ typedef struct { - int levels; - UINT8 level[8]; - - int levelsbak; - UINT8 levelbak[8]; - - UINT8 pry[8]; UINT8 icw[4]; UINT8 imr; // ocw1 - UINT8 ocw3; + UINT8 isr; UINT8 irr; - UINT8 ext; + UINT8 ocw3; - UINT8 isr; - UINT8 isrbak; + UINT8 pry; UINT8 writeicw; - UINT8 padding; + UINT8 padding[2]; } _PICITEM, *PICITEM; typedef struct { _PICITEM pi[2]; - BYTE ext_irq; } _PIC, *PIC; enum { @@ -54,26 +45,21 @@ enum { IRQ_INT6 = 0x0d }; -#define PICEXISTINTR ((!pic.ext_irq) && \ - ((pic.pi[0].irr & (~pic.pi[0].imr)) || \ - (pic.pi[1].irr & (~pic.pi[1].imr)))) +#define PICEXISTINTR ((pic.pi[0].irr & (~pic.pi[0].imr)) || \ + (pic.pi[1].irr & (~pic.pi[1].imr))) #ifdef __cplusplus extern "C" { #endif -void extirq_push(void); -void extirq_pop(void); - void pic_irq(void); void pic_setirq(REG8 irq); void pic_resetirq(REG8 irq); -void pic_registext(REG8 irq); void picmask(NEVENTITEM item); -void pic_reset(void); +void pic_reset(const NP2CFG *pConfig); void pic_bind(void); #ifdef __cplusplus