--- np2/io/pic.h 2003/10/16 17:57:56 1.1 +++ np2/io/pic.h 2003/12/08 00:55:32 1.4 @@ -1,23 +1,23 @@ typedef struct { int levels; - BYTE level[8]; + UINT8 level[8]; int levelsbak; - BYTE levelbak[8]; + UINT8 levelbak[8]; - BYTE pry[8]; - BYTE icw[4]; + UINT8 pry[8]; + UINT8 icw[4]; - BYTE imr; // ocw1 - BYTE ocw3; - BYTE irr; - BYTE ext; - - BYTE isr; - BYTE isrbak; - BYTE writeicw; - BYTE padding; + UINT8 imr; // ocw1 + UINT8 ocw3; + UINT8 irr; + UINT8 ext; + + UINT8 isr; + UINT8 isrbak; + UINT8 writeicw; + UINT8 padding; } _PICITEM, *PICITEM; @@ -54,6 +54,10 @@ 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)))) + #ifdef __cplusplus extern "C" { @@ -63,9 +67,9 @@ void extirq_push(void); void extirq_pop(void); void pic_irq(void); -void pic_setirq(BYTE irq); -void pic_resetirq(BYTE irq); -void pic_registext(BYTE irq); +void pic_setirq(REG8 irq); +void pic_resetirq(REG8 irq); +void pic_registext(REG8 irq); void picmask(NEVENTITEM item);