Metropoli BBS
VIEWER: samplaus.c MODE: TEXT (CP437)
#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);
}
[ RETURN TO DIRECTORY ]