From: Kevin Cummings (cummings@hammer.prime.com)
Date: 03/29/93


From: cummings@hammer.prime.com (Kevin Cummings)
Subject: Re: How to switch back to VGA-text from SVGA-text mode???
Date: Mon, 29 Mar 1993 21:07:30 GMT

In article <1993Mar26.171516.3195@prime.mdata.fi>, kennu@mits.mdata.fi (Kenneth Falck) writes:
> In article <1993Mar24.224133.12392@primerd.prime.com> cummings@hammer.prime.com (Kevin Cummings) writes:
> >Since video hardware varies from machine to machine (and card to card)
> >the only "portable" method of doing this is for the system to provide a
> >common interface to the video hardware. This method is currently the INT 14
> >code in your video BIOS. Sadly, OSes like LINUX do not use any of the BIOS
> >code in your machine. Therefore, you need a program to do the work for you.
>
> You know, this is something I've been wondering for some time now.
> Why exactly is it that BIOS calls can't be made under Linux?

The BIOS was written to be executed in REAL mode (that's what DOS machine's
do, right?) Access from protected mode requires that a trap handler be in
place to trap the restricted IO instructions and get the kernel to execute
them for you. It's this last piece that I think isn't in place in Linux.
(I'm not even sure if Linux HAS an INT 0x10 handler). As far as I can tell,
Linus only supports direct IO writes from the kernel, not from applications
programs.

> I think I recall someone describing the details many months ago,
> but I didn't pay too much attention until I recently got an
> ET4000 and wanted to switch between modes 132x44 and 80x50 without
> rebooting all the time.

Yeah, so did I. Now I'm running X windows instead. Part of the problems with
running video modes with 132 columns, is that I don't think the methods used
are very standard among chip manufacterers here (can any else substantiate
this?). IBM doesn't support a 132 column mode, therefore it's not really
a "standard" sort of thing for VGA or SVGA. VESA did get around to defining
mode 0x6A as 800x600. But the only 132 column VESA modes I've seen are the
VESA extended modes which are only usable if your board supports the VESA BIOS
extensions (there's that BIOS dependancy again B^).

> I suppose I should get a reference sheet or something and start
> hacking... There's a doc in the vgalib distribution but it's very
> terse. Furthermore I have no documentation of how to use ioperm()
> and stuff like that. :-/

Alas, neither do I. But I am interested in learning how.

> >--
> >Kevin J. Cummings ComputerVision Services
> >cummings@kjc386.framingham.ma.us cummings@primerd.Prime.COM
>
> --
> kennu@mits.mdata.fi
> Tired of DOS? Try Linux, a free UNIX-clone for the 386/486 by Linus Torvalds.
> Read comp.os.linux (or ask me by email if you like) for more information.

-- 
Kevin J. Cummings                       ComputerVision Services
cummings@kjc386.framingham.ma.us        cummings@primerd.Prime.COM