Multiple Display Control

I'm trying to control the secondary display on my Win'98 in Visual C++5. The secondary display card has been successfully initialized by the system. How do I write to the registers and memory on the secondary card and have my own video output? How can I switch back and forth between the primary and secondary card?

P.S. As I mentioned above, both the primary and secondary cards are working fine, which means that I successed in configuring the cards. My question is: how to further program the secondary card? More specifically, how do I program it and have video output to that display? One example is to show screen saving animation on the secondary display whil run other programs on the primary display. Thanks for the help!
Who is Participating?
pdloveConnect With a Mentor Commented:
Unless you can find information on the new DLL functions, or Microsoft releases an update, it is not possible to use the two monitors in programming.
This is from
How to Enable Multiple Display Support Using Windows 98
The primary requirement for multiple display support is that the display adapters must be Peripheral Component Interconnect (PCI) devices,
or Accelerated Graphics Port (AGP) devices.

To enable multiple display support, follow these steps:

1.While the computer is turned off, add any additional display adapters and monitors.

2.Start Windows. Install the display adapter and monitor drivers if necessary, and then restart your computer if you are prompted.

3.Click Start, point to Settings, and then click Control Panel.

4.Double-click Display, and then click the Settings tab.

5.In the Display box, click the adapter you want to use, and then click the "Extend my Windows desktop onto this monitor" check box
to select it.

6.Click OK.

For additional information about multiple display support for Windows 98, see the following article in the Microsoft Knowledge Base:

TITLE     : Hardware Requirements for Multiple Display Support in
Windows 98
This is
Hardware Requirements for Multiple Display
     Support in Windows 98

This article describes the hardware requirements for multiple-display support in Windows 98.


All the display adapters used in a computer with multiple-display support must be Peripheral Component Interconnect (PCI) or Accelerated
Graphics Port (AGP) devices using multiple-display-enabled display adapter drivers included with Windows 98. Industry Standard
Architecture/Extended Industry Standard Architecture (ISA/EISA) display adapters are not supported.

The display adapters installed in the computer do not have to be identical. Each display adapter and monitor combination is separately
enumerated and can be configured to use different screen resolutions and color depths. For example, the primary display can be set to 1024 X
768 X 256 and the secondary display can be set to 800 X 600 X 32K.

For information about how to enable multiple-display support, see the following article in the Microsoft Knowledge Base:

TITLE     : How to Enable Multiple Display Support Using Windows 98

Unsupported Display Adapter Chip Sets

Display adapters with the following chip sets cannot be used as a multiple-display support device:

Permedia (this does not include the Permedia NT and Permedia-2 chip sets)

Supported Display Adapter Chip Sets

Any combination of the following supported PCI-based display adapters can be used with multiple-monitors. Only display adapters based on
the following chip sets work as primary and secondary adapters.

Note that only the PCI adapters listed below are supported as the primary adapter. However, other PCI adapters may work even though they
are not supported.

NOTE: You also need to use the specified driver.

The following drivers are supported by Microsoft and are included on the Windows 98 CD-ROM:


ATI Mach 64 GX (GX, GXD, VT)ATIM64.drv ATI Graphics Pro Turbo PCI ATI Graphics Xpression ATI WinTurbo

ATI Rage I, II, & II+ATI_M64.drv ATI All-In-Wonder ATI 3D Xpression+ PC2TV ATI 3D Xpression ATI 3D Xpression+

ATI Rage Pro (AGP & PCI)ATIR3.drv ATI Xpert@Work, 4 & 8 MB ATI Xpert@Play, 4 & 8 MB ATI All-In-Wonder Pro

S3 765 (Trio64V+)S3MM.drv NOTE: Only certain updates work. These are 40, 42, 43, 44, 52, 53, & 54. Note that if the card is at one of
these updates, then Windows 98 will recognize the card as a Trio 64V+, provided the Microsoft driver is used. If the card is not at one of these
updates, then it is recognized as a Trio 32/64. Some OEM drivers don't care which update is present; be sure to note carefully which Microsoft
driver Windows 98 selects when you use this card.

S3 Trio64V2(DX/GX)S3MM.drv Diamond Stealth 64 Video 2001 STB PowerGraph 64V+ STB MVP 64 Miro TwinHead 22SD Hercules
Terminator 64/Video Number Nine 9FX Reality 332

(S3 Virge)

Number Nine 9FX Reality 334

(S3 Virge GX/2)

Number Nine 9FX Reality 772

(S3 Virge VX)

California Graphics V2/DX Videologic GraphicsStar 410

Cirrus 5436CIRRUSMM.drv Cirrus Alpine

Cirrus 5446CIRRUSMM.drv STB Nitro 64V

S3 ViRGE S3V.drv (ViRGE (325) ViRGE VX (988) ViRGE DX (385) ViRGE GX (385)) Diamond Stealth 3D 2000 Diamond Stealth 3D 3000
Diamond Stealth 3D 2000 Pro Number Nine 9FX Reality 332 STB Nitro 3D STB Powergraph 3D STB Velocity 3D STB MVP/64 STB
MVP/64 3D STB WorkStation (2 & 4 output) Miro Crystal VR4000

ET6000ET6000.drv Hercules Dynamite 128/Video STB Lightspeed 128

Compaq Armada                S3MM.drv

Trident 9685/9680/9682TRID_PCI.DRV /9385/9382/9385 Jaton Video - 57P

For additional information about Multiple Display Support for Windows 98, see the following article in the Microsoft Knowledge Base:

TITLE     : How to Enable Multiple Display Support Using Windows 98

lemme know.

tsauyAuthor Commented:
Edited text of question
Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

What do you mean with "One example is to show screen saving animation on the secondary display whil run other programs on the primary display".

You go to write a program to do this?


Unless you are using DirectX to perform this manipulation then you are violating every sensibility of programming in Windows 95, Windows 98, and Windows NT.  You are not supposed to write code that tries to directly manipulate the hardware.  You are expected to use the APIs that MS makes available to you for these purposes.  Any other approach will guarantee continual problems with migration and hardware support.

This question does not really belong here.  It should be in the programming topics instead.  You will probably get much better response over there.

Win98 Beta1 CD (from MSDN) has, in a folder, all things needed to control N displays.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.