#include <stdio.h>
#include <dos.h>

#define LPT1 0x00400008  /* BIOS printer address entries */
#define LPT2 0x0040000a
#define LPT3 0x0040000c
#define LPT4 0x0040000e


int main(int argc, char *argv[])
{
unsigned int port,data;
unsigned int far *bios_printer_addr;
int i;

  if (argc != 2) exit(1);

  port=*(bios_printer_addr=LPT1);

  if (port==NULL)
  {
	 printf("LPT1 does not exist\n");
	 exit(1);
  }

  data = inportb(port);

  for (i = 0, data = 0; i < 7; i++)
  {

    if (argv[1][i] == 0) return(1);
    data = data << 1;
    if (argv[1][i] == '1') data = data | 0x01;

  }

  outportb(port, (char)data);

  return(0);

}


