[comp.os.minix] diff to printer driver

dlong@sdsu.UUCP (04/24/87)

If your printer gets errors when running minix, but not MS-DOS, try
this diff on your printer driver (kernel/printer.c) and remake
the kernel, build boot disk, etc.
Notice that the important thing is that this new driver ignores the
three lowest order bits in the status word, while the previous driver
assumed they should all be set.
-------------------------------Cut Here--------------------------------------
33,34c33,35
< #define NORMAL_STATUS   0xDF	/* printer gives this status when idle */
< #define BUSY_STATUS     0x5F	/* printer gives this status when busy */
---
> #define SIGNIF_STATUS   0xF8	/* significant status bits */
> #define NORMAL_STATUS   0xD8	/* printer gives this status when idle */
> #define BUSY_STATUS     0x58	/* printer gives this status when busy */
38a40,41
> #define PR_BUSY		0x80	/* printer is busy */
> #define PR_ACK		0x40	/* ack bit */
120a124
> 		value &= SIGNIF_STATUS;
210a215,216
>   if ((status & PR_BUSY) == 0) printf("Printer is busy\n");
>   if ((status & PR_ACK) == 0) printf("No ACK!\n");
252a259
> 	value &= SIGNIF_STATUS;
-- 
Dean Long
University of California, San Diego
sdcsvax!tiamat!dlong