#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;

  if (argc != 2) exit(1);

  port=*(bios_printer_addr=LPT1);

  if (port==NULL)
  {
	 printf("LPT1 does not exist\n");
	 exit(1);
  }

  data = inportb(port);

  switch (argv[1][0])
  {

	 case '1' :
		data = data & 0xbf;
		break;
	 case '2' :
		data = data & 0xdf;
		break;
	 case '3' :
		data = data & 0xef;
		break;
	 case '4' :
		data = data & 0xf7;
		break;
	 case '5' :
		data = data & 0xfb;
		break;
	 case '6' :
		data = data & 0xfd;
		break;
	 case '7' :
		data = data & 0xfe;
		break;
	 default :
		exit(1);
		break;
  }

  outportb(port, (char)data);

  return(0);

}


