669 /* Sets input and output filters on Soundblaster Pro card */ #include int on_off_val, hi_lo_val, dnfi_val; int reg_0C_val, reg_0E_val; main(int argc,char **argv) { if(argc > 1) { on_off_val = atoi(argv[1]); outportb(0x224,0x0C); reg_0C_val = inportb(0x225); switch(on_off_val) { case 1: reg_0C_val = reg_0C_val & 0xDF; if(argc == 4) hi_lo_val = atoi(argv[2]); else break; switch(hi_lo_val){ case 1: reg_0C_val = reg_0C_val | 0x08;break; case 0: reg_0C_val = reg_0C_val & 0xF7;break; } break; case 0: reg_0C_val = reg_0C_val | 0x20; } outportb(0x224,0x0C); outportb(0x225,reg_0C_val); dnfi_val = atoi(argv[argc-1]); outportb(0x224,0x0E); reg_0E_val = inportb(0x225); switch(dnfi_val) { case 1: reg_0E_val = reg_0E_val & 0xDF;break; case 0: reg_0E_val = reg_0E_val | 0x20;break; } outportb(0x224,0x0E); outportb(0x225,reg_0E_val); } else { printf("Sets filters on Soundblaster Pro sound card\n"); printf("usage: setfilt [] \n\n"); printf("ANFI, DNFI: 1=On, 0=Off FiltType: 1=High, 0=Low\n"); } } . 0