/* ----------------------------------------------------------- */ /* demo 5 : four interrupt source */ /* CN1_PC0: initial Low, active High */ /* CN1_PC1: initial High, active Low */ /* CN1_PC2: initial Low, active High */ /* CN1_PC3: initial High, active Low */ /* step 1 : run demo5.exe */ /* ----------------------------------------------------------- */ #include "PIO.H" #define A1_8259 0x20 #define A2_8259 0xA0 #define EOI 0x20 WORD init_low(); WORD wBase,wIrq; static void interrupt irq_service(); int irqmask,now_int_state,invert,new_int_state,int_c,int_num; int CNT_L1,CNT_L2,CNT_L3,CNT_L4; int CNT_H1,CNT_H2,CNT_H3,CNT_H4; int main() { int i,j; WORD wBoards,wRetVal; WORD wBase,wIrq,wSubVendor,wSubDevice,wSubAux,wSlotBus,wSlotDevice; char c; DWORD dwVal; clrscr(); PIO_DriverInit(&wBoards,0x80,0x01,0x00); printf("\n(1) Threr are %d PIO-D144 Cards in this PC",wBoards); if ( wBoards==0 ) { putch(0x07); putch(0x07); putch(0x07); printf("(1) There are no PIO-D144 card in this PC !!!\n"); exit(0); } printf("\n(2) Show the Configuration Space of all PIO-D144:"); for(i=0; i=8) outp(A2_8259,0x20); outp(A1_8259,0x20); }