#include int SBDetect(void); void SBSendByte(unsigned char b); /* Soporte de Sound Blaster */ unsigned BPORT = 0x210, XPORT = 0x216, WPORT = 0x21C, RPORT = 0x21A, APORT = 0x21E; char READY = 0xAA; int SBDetect(void) { char Status,Ct; Status = 0; while (Status!=READY && BPORT<0x270) { outportb(XPORT,1); outportb(XPORT,0); Ct = 0; while (Status!=READY && Ct<100) { Status = inportb(RPORT); Ct++; }; if (Status!=READY) { BPORT += 0x10; XPORT += 0x10; WPORT += 0x10; RPORT += 0x10; APORT += 0x10; } } if (BPORT!=0x270) { while ((inport(WPORT) & 128) != 0); outportb(WPORT,0xD1); return(0); } else return(-1); } void SBSendByte(unsigned char b) { while ((inport(WPORT) & 128) != 0); outportb(WPORT,0x10); while ((inport(WPORT) & 128) != 0); outportb(WPORT,b); }