Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Aug 1997 18:31:26 -0700
From:      Jonathan Mini <j_mini@efn.org>
To:        Mikael Karpberg <karpen@ocean.campus.luth.se>
Cc:        hfwirth@ping.at, emulation@FreeBSD.ORG
Subject:   Re: Fun with DOSCMD (was Re: modifying boot mgrs FROM FREEBSD)
Message-ID:  <19970810183126.27893@micron.efn.org>
In-Reply-To: <199708101952.VAA16366@ocean.campus.luth.se>; from Mikael Karpberg on Sun, Aug 10, 1997 at 09:52:54PM %2B0200
References:  <19970810043000.13645@micron.efn.org> <199708101952.VAA16366@ocean.campus.luth.se>

next in thread | previous in thread | raw e-mail | index | archive | help
Mikael Karpberg stands accused of saying :
> According to Jonathan Mini:
> > Helmut F. Wirth stands accused of saying :
> [...]
> > > I thought a little about doscmd in console mode too, that is when no 
> > > Xserver is running. Here it should be possible to do real hardware
> > > access for hardware not sensitive for the kernel and security. For
> > > doscmd in non X11 environments I think we could simply map the VGA/VESA
> > > original BIOS of the card and use it under VM86. We would need an
> > > advisory call (ioctl) to the screen drivers (syscons, ...) to save
> > > and restore the environment and for screen switching.
> > 
> >   Not for anything but a few video modes. (i.e. text modes and like
> > 320x200x256) Also, I am leery of letting my DOS app change the state of my
> > system console's hardware.
> 
> Why? Is there anything dangerous that could happen? And even if so, I think
> it might be a good idea to have as an option with a big mean red label by
> it's side saying "WARNGING! This is dangerous!". Because, it ought to be
> quite a lot faster if the program is question does a lot og graphics, no?

   Ok : 

	1) WE ARE TALKING ABOUT VGA HERE, which means you get these modes :
		a) text : 40x25 (CGA)
		b) text : 80x25 (CGA)
		c) text : 80x50 (VGA)
		d) graphics : 320x200x4 (CGA)
		e) graphics : 640x200x1 (CGA)
		f) graphics : 320x200x16 (EGA)
		g) graphics : 640x200x16 (EGA)
		h) graphics : 640x350x2 (EGA)
		i) graphics : 640x480x1 (VGA)
		j) graphics : 640x480x16 (VGA)
		h) graphics : 320x200x256 (VGA)
	   I don't know about you, but I'd like to see some video modes there
	that require high video performance. Keep in mind that games are out
	of the running because they do a lot of other stuff that doscmd can't
	emulate. (yet)
	2) To truely allow full access to the VGA, we'd need to support things
	like the "x modes" (in appropriately named, Mode X was the original
	application of non-planar 256 color modes in VGA, see Dr. Dobbs, #178
	Jul, 1991, p. 133. Interestingly enough, on page 32 there is one of the
	installments on the original 386BSD port. (This one talks about the
	bootstrap loader) you will need to allow the DOS app to set and read
	all of the VGA's registers. 
	3) Assuming that you do allow that, how does the syscons handle
	switching away from video modes that are nonstandard, or possibly what
	it thinks is  standard mode, but is not, if the dos app crashes or is
	killed?

  Basically, your answer becomes that of Linux's svgalib : You don't. You
reboot your machine. Sorry, I don't accept that.


  You are asking more out of the syscons module than it can give you.
-- 
Jonathan Mini (j_mini@efn.org)

... bleakness ... desolation ... plastic forks ...



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