[comp.os.minix] Minix 1.3 and printers

lyle@ogccse.ogc.edu (Lyle Cool) (06/07/89)

I have Minix 1.3 (640K PC) running (finally) except for the printer
driver. The printer works fine under DOS, but Minix doesn't seem to
know that the printer is connected. Every attempt to use it results
in :
printer out of paper
printer not on line
printer error
I have a Panasonic 1091 connected to the parallel port of a typical
XT clone. If anyone can offer help, it would be most appreciated.
Thanks,
Lyle Cool

jeff@questar.QUESTAR.MN.ORG (Jeff Holmes) (06/08/89)

In article <3096@ogccse.ogc.edu> lyle@ogccse.UUCP (Lyle Cool) writes:
> I have Minix 1.3 (640K PC) running (finally) except for the printer

> I have a Panasonic 1091 connected to the parallel port of a typical
> XT clone. If anyone can offer help, it would be most appreciated.

> Lyle Cool

I have the same configuration and no problems, try the cable or
connections.

-jeff-
-- 
Jeff Holmes	                  DOMAIN: jeff@questar.mn.org 
Questar Data Systems                UUCP: amdahl!bungia!questar!jeff

pa1343@sdcc15.ucsd.edu (John J. Marco) (06/10/89)

In article <3096@ogccse.ogc.edu> lyle@ogccse.UUCP (Lyle Cool) writes:
>I have Minix 1.3 (640K PC) running (finally) except for the printer
>driver. The printer works fine under DOS, but Minix doesn't seem to
>know that the printer is connected. Every attempt to use it results
>in :
>printer out of paper
>printer not on line
>printer error
>I have a Panasonic 1091 connected to the parallel port of a typical
>XT clone. If anyone can offer help, it would be most appreciated.
I'll bet you have a hercules card.  Why?  I had this same problem also
and only recently found out how to fix it.  The problem is that the 
IO address of the p[rinter port is calculated using the type of video card
that is in use.  two marcos are defined for this: PR_COLOR_BASE and 
PR_MONO_BASE.  Normally, get_chrome determines whether the current video card
is color or mono (or EGA).  for the color cards it reports a color adapter
to minix.  printer.c then uses this to set the printer IO port to 
PR_COLOR_BASE.  For mono cards, monocrhome is reported by get_chrome() and
then printer.c uses that to set the printer port to PR_MONO_BASE.
Here's the catch:
If get_chrome is called and the video is Hercules or compatible
it will return the monochrome value.  printer.c will then set the 
port address to PR_MONO_BASE.
BUT, after testing to find out what the printer port is with a hercules
    card I found out that the hercules card  makes the printer port
    address be PR_COLOR_BASE.  Thus the WRONG port address is being used
    for the printer port and the printer doesn't work.

My kludge to this problem was to define PR_MONO_BASE to be the same value
as PR_COLOR_BASE.  This gives the printer driver no choice but to use the
color printer IO address like the Hercules card requires.  I am considering
putting a small routine in klib88.asm to use the BIOS to find the printer
port, thus eliminating this problem altogether.

I hope this helps.

>Thanks,
>Lyle Cool

+-----------------------------------------+
| John J. Marco -- pa1343@sdcc15.ucsd.edu | 
| ...!uunet!sdcc15.ucsd.edu!pa1343	  |  
+-----------------------------------------+