[LispM-Hackers] Keyboard problem

James A. Crippen james@unlambda.com
Mon Mar 25 15:00:01 2002


John Morrison <jm@mak.com> writes:

> I admit I have not looked Real Hard into how easy it is to muck about
> with screen resolutions in a reasonable code-economical way (*), but
> maybe I could insist upon 1280x1024 and just draw into the 1024x808
> subset of the screen.  I guess people could then play games with their
> monitor adjustments.  Seems like kind of a waste.

I'm honestly dead-set against doing that.  It's a PITA as well as not
being viable for some monitors which restrict how much you can
shrink/expand the screen size.

I'd say that with some careful looking into the XFree86 modelines used
for 1024x768 you should be able to find that the refresh rate could be
sacrificed by a few Hz to gain a few more horizontal scan lines.

And it's uncommon nowadays for people to use monitors that don't do
multisync, even if they only support up to 1024x768.

Besides, for a graphical OS I don't think it's an unreasonable
requirement for the user to invest in a decent monitor.  Keep the
text-only monitor for your Unix box, since that's all you'll need it
for...

> I am given to understand that if I screw around with the VGA chipset
> output frequencies (etc) then I risk setting people's monitors, houses,
> and places of business (etc) on fire.  This is probably not a productive
> thing to do, whatever the potential hack value.

The truth here is that fixed-frequency monitors, monitors which can
only refresh at certain frequencies, can be blown by futzing with
their refresh rates (to gain more screen real estate, for instance).
When they blow, as I've done in the past, they don't tend to catch on
fire, but instead make angry buzzing noises and then die, going black
and becoming useless for anything but boat anchors.  Monitors have a
*lot* of dangerous high voltage circuitry, and they are engineered to
blow out safety circuits rather than catch on fire.

For multisync monitors, the worst you can do is get an unreadable
display.  They are perfectly willing to let you try to wrap the beam
around the edge of the monitor and energize it on the return scan.
(Beams in monitors don't energize both ways, or boustrophedonically,
they instead only energize in one direction and are turned off on the
return stroke.)  The absolute worst you can do to a multisync monitor
is make it blow one of the power JFETs in the power supply.  And then
it just won't work.

> (*) I stumbled across some weird mechanism for calling BIOS routines
> from a "Virtual 8086" task running under protected mode, so I could use
> BIOS calls to do lots of stuff like mucking about with video modes

Mmm, BIOS.  Same day service.

Of course, on modern machines BIOS calls actually work fast enough to
use, I suppose...

'james

-- 
James A. Crippen <james@unlambda.com> ,-./-.  Anchorage, Alaska,
Lambda Unlimited: Recursion 'R' Us   |  |/  | USA, 61.20939N, -149.767W
Y = \f.(\x.f(xx)) (\x.f(xx))         |  |\  | Earth, Sol System,
Y(F) = F(Y(F))                        \_,-_/  Milky Way.