Article View: comp.os.msdos.programmer
Article #5158Re: Dual Monitor Switching
From: James Birdsall
Date: Wed, 13 Mar 1991 00:30
Date: Wed, 13 Mar 1991 00:30
67 lines
3558 bytes
3558 bytes
In article <1991Mar12.140842.63@cbnewsh.att.com> rkl@cbnewsh.att.com (kevin.laux) writes:
>In article <18203@milton.u.washington.edu>, roger@wrq.com (Roger Fulton) writes:
>> In addition to setting the video mode,
>> you need to also update the equipment flag at 0040:0010
>> appropriately: xx10xxxx for color, xx11xxxx for mono
>> (where 'x' means leave it alone). Also, you should account
>> for the fact that color systems have a different maximum
>> cursor line count than mono systems (so you should save and
>> restore the cursor when changing video modes).
>
> Yes, there is but this is not it! Those bits in the equipment flag word
>are for the *INITIAL* video mode. Changing those bits will *not* effect a
>display adapter switch.
Sorry. Setting the BIOS equipment flag is the correct way to start. THEN
you have to do a video mode switch to an appropriate mode. This is a known
technique that works on a wide variety of machines that I have tried.
>As I answered in alt.msdos.programmer, what's missing
>is Int 10h, Function 12h, Subfunction 35h:
>
> AH: 12h
> BL: 35h
> AL: 0 Initial external adapter off
> 1 Initial VGA on
> 2 Active adapter off
> 3 Inactive adapter on
> ES: Segment of Switch State area
> DX: Offset of Switch State area
>
> The first time display adapters are switched call the subfunction with
>AL=0, then again with AL=1. Thereafter, double calls with AL=2,3 are used.
>The Switch State area is a 128 byte buffer and each display needs its own.
This, on the other hand, is just plain wrong. I quote:
"Switch Active Display
"Allows selection of one of two video adapters in the system, when memory
usage or port addresses conflict between the two adapters.
"Notes:
"This subfunction cannot be used unless both video adapters have a disable
capability (Int 10H Function 12H Subfunction 32H).
'If there is no conflict between the system board video and the adapter
board video in memory or port usage, both video controllers can be active
simultaneously and this subfunction is not required."
Ray Duncan, Programmer's Quick Reference Series, _IBM ROM BIOS_.
A Hercules board does not have its own ROM, depending on the motherboard
BIOS to support it. Since this function only appeared with the advent of
VGA, the Hercules board does not have a disable function.
Furthermore, there is no memory or port conflict between the two boards.
At a hardware level, it is possible to access both simultaneously without
difficulty. However, to use them via the BIOS or DOS, it is necessary to
switch between them using the technique outlined at the top of this
article.
--
James W. Birdsall WORK: jwbirdsa@amc.com {uunet,uw-coco}!amc-gw!jwbirdsa
HOME: {uunet,uw-coco}!amc-gw!picarefy!jwbirdsa OTHER: 71261.1731@compuserve.com
================== Kitten: a small homicidal muffin on legs. ==================
=========== "For it is the doom of men that they forget." -- Merlin ===========
Technical Details
Message-ID:
<6150@amc-gw.amc.com>Path:
arc1-ca.pugleaf.net!utzoo!news-server.csri.toronto.edu!rutgers!mit-eddie!uw-beaver!milton!sumax!quick!amc-gw!jwbirdsaReferences:
<1991Mar11.172914.4450@engin.umich.edu> <18203@milton.u.washington.edu> <1991Mar12.140842.63@cbnewsh.att.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!news-server.csri.toronto.edu!rutgers!mit-eddie!uw-beaver!milton!sumax!quick!amc-gw!jwbirdsa From: jwbirdsa@amc-gw.amc.com (James Birdsall) Newsgroups: comp.os.msdos.programmer Subject: Re: Dual Monitor Switching Message-ID: <6150@amc-gw.amc.com> Date: 13 Mar 91 00:30:06 GMT References: <1991Mar11.172914.4450@engin.umich.edu> <18203@milton.u.washington.edu> <1991Mar12.140842.63@cbnewsh.att.com> Reply-To: jwbirdsa@europa.amc.com (James Birdsall) Distribution: na Organization: Applied Microsystems, Redmond, WA Lines: 67