From owner-freebsd-emulation Sun Aug 10 23:41:56 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id XAA16321 for emulation-outgoing; Sun, 10 Aug 1997 23:41:56 -0700 (PDT) Received: from sos.freebsd.dk (sos.freebsd.dk [195.8.129.33]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id XAA16313 for ; Sun, 10 Aug 1997 23:41:52 -0700 (PDT) Received: (from sos@localhost) by sos.freebsd.dk (8.8.7/8.7.3) id IAA02115; Mon, 11 Aug 1997 08:41:48 +0200 (MEST) From: Søren Schmidt Message-Id: <199708110641.IAA02115@sos.freebsd.dk> Subject: Re: Fun with DOSCMD (was Re: modifying boot mgrs FROM FREEBSD) In-Reply-To: <19970810183126.27893@micron.efn.org> from Jonathan Mini at "Aug 10, 97 06:31:26 pm" To: j_mini@efn.org Date: Mon, 11 Aug 1997 08:41:48 +0200 (MEST) Cc: karpen@ocean.campus.luth.se, hfwirth@ping.at, emulation@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL30 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-freebsd-emulation@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk In reply to Jonathan Mini who wrote: > > > > 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) These above are easy done, via int 0x10. > 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. Now it gets tricky, there is no way in h... that we are going to emulate all the regs etc in the VGA hw, its simply to complex and non std. > 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? As long as the modes "just" use std VGA regs etc syscons has no problem with that. But if you go beyond that all hell is going to break loose. > 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. Well, when/if we get the ability to run realmode from the kernel, we can call the BIOS on the card. That way we can utilize the (hopefully) onboard VESA layer. That will give what we need (and what I need for syscons). Its then possible to either do a full VESA support, or mimic some SVGA chipset for the basic functions. Give me the means to run realmode code from within the kernel, and I'll teach syscons how to use it :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Søren Schmidt (sos@FreeBSD.org) FreeBSD Core Team Even more code to hack -- will it ever end ..