[Linux-parport] parport_pc disables Hercules mode of mdacon on one pentium

Sindi Keesan keesan at iamjlamb.com
Wed Jul 21 21:48:29 EDT 2004

I have three computers set up with both VGA and Hercules cards, to display 
VC 1 and 2 on the TTL and 3 and 4 on the VGA monitor.  
insmod mdacon mda_first_vc=1 mda_last_vc=2

On two of the computers, no matter whether I boot with loadlin from the 
Hercules or VGA mode, I end up with two terminals working in each mode.

On the third computer, a 1997 Pentium I with AMI BIOS and a generic 
Hercules card (I can check the chip if that helps):

1.  Boot from Hercules mode - I get all four terminals displaying in 
Hercules mode on the TTL (but I think the last two don't display properly 
and get sort of scrambled).

2.  Boot from VGA mode - terminals 3 and 4 now display properly in VGA 
mode but terminals 1 and 2 have the text smeared out across the line 

I have parport and parport_pc in rc.S to insmod when I boot on all three 

I was able to get the third computer to work by NOT insmod'ing the 
parport_pc module.  Load all the modules manually and mdacon works 
properly with parport_pc, but then I load parport_pc and the Hercules mode 
goes bad again.  It does not help to load mdacon before rather than after 
parport_pc, or to rmmod parport_pc after the problem occurs.

The fix is either not to use mdacon at all, or to insmod parport_pc 
manually only when needed for printing, after first switching to a VGA 
terminal.  Then I need to reboot (into DOS and then again into linux) to 
use both monitors.  I don't often print in linux.

Slackware 7.1, 2.2.16 kernel (specially compiled with minimal drivers for 
Basiclinux 2).  I have not tried a different Hercules card in there, or a 
different kernel (bare.i, for instance, which I think has parport_pc built 

My theory is that mdacon and parport_pc are using  the same RAM on that 
computer, if that is possible.  Another computer will not work at all with 
Hercules cards due to RAM conflicts of some sort, I think.  

Is there some way to specify where in RAM to load a module?
Would it help anyone if I were to try a different Hercules card or a 
different kernel and report back?

DOS works fine as far as switching between monitors with the mode command.

I have the workaround, but am posting because I could not find any related 
cases and hope to help someone else (not that a lot of people are 
currently using TTL monitors for linux).  I presume if I knew enough I 
could rewrite mdacon.c or parport_pc.c and compile them myself.  

I don't know of a way to use my printers without parport_pc.


More information about the Linux-parport mailing list