🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.os.msdos.programmer
Article #5147

Re: Dual Monitor Switching

#5147
From: kevin.laux
Date: Tue, 12 Mar 1991 14:08
46 lines
2595 bytes
In article <18203@milton.u.washington.edu>, roger@wrq.com (Roger Fulton) writes:
> In article <1991Mar11.172914.4450@engin.umich.edu> pong@caen.engin.umich.edu (Bryan John Jalowitz) writes:
> >
> >Hi,
> >I would like to know how, from within an application, I can switch
> >monitors in a dual configuration.  I would like something similar to
> >"mode mono" vs. "mode co80", but that does not clear the display.
> >
> >More specifically, I am using a VGA/HERC dual monitor configuration,
> >and I would like to be able to route text/graphics to one or the other
> >display systems.  I know about setting the mode with int 10h func 0,
> >but there appears to be more to it than that.  That doesn't "switch" the
>      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >video bios' notion of the current display.
> 
> Yes, there is.  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.  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.

-- 
________________________________________________________________________________
	R. Kevin Laux				Email: rkl1@hound.att.com
	AT&T Bell Labs				Voice: (908) 949-1160
	Holmdel, NJ 07733			Fax:   (908) 949-0959
Technical Details
Message-ID: <1991Mar12.140842.63@cbnewsh.att.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!emory!att!cbnewsh!rkl
References: <1991Mar11.172914.4450@engin.umich.edu> <18203@milton.u.washington.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!emory!att!cbnewsh!rkl
From: rkl@cbnewsh.att.com (kevin.laux)
Newsgroups: comp.os.msdos.programmer
Subject: Re: Dual Monitor Switching
Message-ID: <1991Mar12.140842.63@cbnewsh.att.com>
Date: 12 Mar 91 14:08:42 GMT
References: <1991Mar11.172914.4450@engin.umich.edu> <18203@milton.u.washington.edu>
Distribution: na
Organization: AT&T Bell Laboratories
Lines: 46