#include"dos.h"
#include"stdio.h"
void sbreset();
void dachannelon();
void playfile();
void dachanneloff();
main()
{
sbreset();
dachannelon();
playfile("laugh", 30);
dachanneloff();
}
void sbreset()
{
outportb(0x226, 1); /* */
delay(100); /* SB:n resetointi */
outportb(0x226, 0); /* */
delay(100);
}
void dachannelon()
{
outportb(0x22c, 0xd1); /* D/A kanava päälle */
delay(100);
}
void playfile(char file[12], int speed)
{
FILE *fp;
int i;
char by;
fp=fopen(file, "rb"); /* Avataan tiedosto */
by=getc(fp); /* Luetaan ensimmäinen tavu */
while(by!=EOF) {
outportb(0x22c, 0x10);
for(i=0;i<speed;i++)
{
}
outportb(0x22c, by); /* Soitetaan tavu */
by=getc(fp);
}
fclose(fp);
delay(100);
}
void dachanneloff()
{
outportb(0x22c, 0); /* Suljetaan D/A kanava */
delay(100);
}