Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 07 Sep 1996 14:04:48 +0200
From:      Arve Ronning <Arve.Ronning@alcatel.no>
To:        J Wunsch <j@uriah.heep.sax.de>
Cc:        arver@sn.no, freebsd-hackers@freebsd.org
Subject:   Re: Support for fixed-scan monitors
Message-ID:  <323164E0.41C67EA6@alcatel.no>
References:  <199609061814.UAA05394@uriah.heep.sax.de>

next in thread | previous in thread | raw e-mail | index | archive | help
J Wunsch wrote:
> 
> As Arve Ronning wrote:
> 
> > I've been thinking about submitting my patches to FreeBSD.org. The new code
> > would be hidden behind an 'option PREFER_MDA'. But as one of the changes is
> > in the boot-blocks I think this will be a problem because kernel-config
> > options aren't visible when making the boot-blocks (I'm on thin ice here,
> > please feel free to give some advice:).
> 
> This is tricky and in the same boat as the ``FORCE_COMCONSOLE'' stuff
> that is already in the bootstrap.  Probing would be more ideal, but
> 7.5 KB are not plenty of space.
> 

Ok, I'll have a look at the 'FORCE_COMCONSOLE' stuff.

>From my old files I can see that I first did the 'PREFER_MDA' thing in jan.96
and it has worked ok with three different BIOSes/motherboards.

What it does is this : (compared to the stock version)

in start.S :	old			new
		use whatever BIOS     #ifdef PREFER_MDA
		is using;		if (BIOS is using MDA) /*do nothing*/;
					else if (MDA present) { /* 'probe' ! */
					   'trick' BIOS into using MDA;
					}
				      #endif
					use whatever BIOS is using;

in syscons.c, scinit() :
		old			new
		if (!(VGA present))	#ifdef PREFER_MDA
		   use MDA;		   if (MDA present)
		else			      use MDA;
		   use VGA;		   else
					      use VGA;
					#else
					   if (!(VGA present))
					      use MDA;
					   else
					      use VGA;
					#endif

The (MDA present) and (VGA present) 'probes' are simple write-something-and-
check-if-it-can-be-read-back (like the original in scinit()).

What this is all meant to achieve is :
1) if PREFER_MDA is *not* defined, the code is unchanged.
2) if PREFER_MDA is defined and only MDA present, MDA is used.
3) if PREFER_MDA is defined and both MDA and VGA present, MDA is used.
4) if PREFER_MDA is defined and only VGA is present, VGA is used.

So, in effect PREFER_MDA does what it says : PREFER MDA over VGA, while the
original code does PREFER VGA over MDA.

(And the point to all this is that my large cheap fixed-scan monitor can be
used for X while the MDA monitor is used for booting and starting X:).

Would you be interested in looking at the patches and give me your opinion ?
Do you think there would be any interest in including this in -current ? (or
any other version for that matter:).

Regards		Arve




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?323164E0.41C67EA6>