home *** CD-ROM | disk | FTP | other *** search
- ********README.TXT for the Windows 3.1 Device Development Kit************
-
- This file contains two sections:
-
- Section A: Specific Information/workarounds to help build the
- drivers provided with the Windows 3.1 DDK.
- Section B: A Description of the Device Driver Sources Provided.
-
-
- ****SECTION A: Specific Information/Workarounds To Build Drivers*********
-
- If WINDEV Directory Already Exists
- **********************************
- If you already have a WINDEV directory installed on your disk prior to
- installing the DDK, we strongly recommend you use a different directory
- to install the TOOLS, LIB and INCLUDE files provided with the DDK.
-
- Running Out Of Memory
- *********************
- Because it can be very easy to run out of conventional memory when building
- device drivers and virtual devices when using the NMAKE utility, we are
- also providing the XMSMAKE utility which will additionally use extended
- memory. If you are encountering strange errors, you may be running out
- of memory and we recommend trying XMSMAKE which is located in the \TOOLS
- directory of the Device Drivers Samples & Tools Disks.
-
- Building 386 Grabbers
- *********************
- You MUST use the LINK.EXE in the \TOOLS directory of the Device Driver Samples
- and Tools Disk Set when building the 386 Grabbers.
-
- Binary Compare of the PSCRIPT.DRV, SNDBLST2.DRV, and MCIPIONR.DRV Files
- ***********************************************************************
- If you build either the PSCRIPT.DRV, SNDBLST2.DRV or MCIPIONR.DRV drivers, your
- built driver may not exactly binary compare with the corresponding drivers
- provided in the Windows 3.1 retail product. The few differences noted are due
- to different build environments used, machine and memory configurations, etc.
- The driver you build will function identically to that provided in the retail
- product.
-
- Building VDDVGA.386,VDD8514.386 Virtual Devices
- ************************************************
- When executing the Makefiles MAKEVGA and MAKE8514, please note that the
- created object files for both share the same object filename. So if you
- first create the VDDVGA.386 virtual device and then proceed to create the
- VDD8514.386 device you must be sure to first delete all filenames with
- the *.obj file extension.
-
- Nmake Version
- *************
- If you want to build a driver that binary compares to the driver in the retail
- version, you need to be sure to use the NMAKE.EXE tool provided in the \TOOLS
- directory on the Device Driver Samples & Tools disk set. If you use the one
- provided with the C 6 Compiler, the driver may not binary compare but should
- function identically.
-
- ****SECTION B: Description of Device Driver Sources**********************
-
- Below are descriptions of device driver sources contained in the DDK. The
- information includes where you can find the code on the diskettes, the
- procedure for building the driver and the features the code demonstrates.
-
- NOTE: We recommend that you print out the text file "LAYOUTS.TXT" located
- in the root directory of the Device Driver Samples and Tools Disk#1 for a
- listing of the source directories and disk locations for the Samples and
- Tools Disk Sets.
-
- The sources are setup in sub-directories on the enclosed diskettes. You
- should use the DOS COPY or XCOPY command to copy all files and related
- sub-directories to your hard disk. It is important that you maintain the
- structure as provided on the diskettes for the accompanying MAKE and batch
- files to work properly. Also be sure to expand the compressed files to
- their normal size after copying them to your hard disk.
-
- Display Driver Sources
- **********************
- We are providing 1, 4 and 8 plane display driver sources in the DDK. You
- will find all the 1 plane driver sources on the Device Driver Samples and
- Tools Disk Sets under \DISPLAY\1PLANE. The 4 plane sources are under
- \DISPLAY\4PLANE. The 8 plane sources are under \DISPLAY\8PLANE.
-
- 1 Plane Drivers - CGA, EGA mono, EGA high res B&W, Hercules, Plasma, and MCGA
- *****************************************************************************
- All of these drivers are 1 plane drivers. These drivers run Bi-Modal (in Real
- and Protected memory modes), support Device Independent Bitmaps (DIB), and
- greater than 64K fonts. They are located on the Device Driver Samples and
- Tools Disk Sets under \DISPLAY\1PLANE.
-
- These drivers share common code in many areas. Thus, the directory structures
- should be copied in their entirety to your hard disk. We suggest you use the
- MS-DOS XCOPY command to do this.
-
- You need to change directory to the appropriate sub-directory for the driver
- you wish to build. Each driver directory has a Makefile to build the driver.
- You will find the Makefile for each driver under:
-
- \DISPLAY\1PLANE\BW\CGAHERC\CGA\ for CGA
- \DISPLAY\1PLANE\BW\CGAHERC\PLASMA\ for Compaq Plasma
- \DISPLAY\1PLANE\BW\CGAHERC\HERCULES\ for Hercules monochrome
- \DISPLAY\1PLANE\BW\EGA\EGAHIBW\ for EGA hi res black/white
- \DISPLAY\1PLANE\BW\EGA\EGAMONO\ for EGA monochrome
- \DISPLAY\1PLANE\BW\EGA\VGAMONO\ for MCGA
-
- To build the driver, use the NMAKE utility provided with Microsoft C 6.
- If your display device is based on the 1 plane CGA, EGA, or Hercules standard,
- you should base your driver code on one of these drivers. Otherwise, these
- sources should provide you with the sample code necessary for you to design
- and plan for a new driver.
-
-
- 4 Plane Drivers - EGA, VGA, and Super VGA
- ******************************************
- The EGA, VGA, and Super VGA driver sources utilize all 4 planes to support 16
- colors. The Super VGA display driver is new for Windows 3.1. It is nearly
- identical to the VGA sources, but determines an appropriate extended resolution
- mode number from the WIN.INI file.
-
- These drivers run Bi-Modal (in Real and Protected memory modes), support Device
- Independent Bitmaps (DIB), and greater than 64K fonts. The EGA, VGA, and
- Super VGA driver sources utilize all 4 planes to support 16 colors. All three
- drivers demonstrate a new feature of Windows 3.1, "Mouse Blur" that leaves
- "mouse trails" on the screen to improve cursor visibility on LCD screens.
-
- These drivers share common code in many areas. Thus, all the files in the
- \DISPLAY\4PLANE directory structure found on the Device Driver Samples and
- Tools should be copied in their entirety to your hard disk. We suggest you
- use the MS-DOS XCOPY command to do this. Be sure to expand the compressed
- files to their original size before using them.
-
- You need to change directory to the appropriate sub-directory for either
- the EGA, VGA, or Super VGA driver and execute the MakeFile using the NMAKE
- utility. You will find a makefile file for each driver under:
-
- \DISPLAY\4PLANE\EGA\ for EGA hi res color
- \DISPLAY\4PLANE\SVGA\ for Super VGA
- \DISPLAY\4PLANE\VGA\ for VGA
-
- If your display device is based on the 4 plane EGA or VGA standard, you
- should base your driver code on either of these drivers. Otherwise, these
- sources should provide you with the sample code necessary for you to design
- and plan for a new driver.
-
- 4 Plane Drivers - Pen-Capable VGA
- *********************************
- To build Pen-Capable VGA display drivers, set the MS-DOS environment
- variable PENWIN=1, delete all object files, and rebuild. Note that this
- procedure is documented in the VGA driver makefile.
-
- 8 Plane Driver - Video Seven VRAM, VGA, 8514/a
- **********************************************
- We have provided you sources to the Video Seven VRAM/FastWrite VGA and 8514/a
- drivers. These drivers use all 8 planes available on the card for 256 color
- support. The code provides a good example of the use of the Palette Manager
- and Device Independent Bitmaps (DIB). This driver is adapted to run Bi-Modal
- and supports >64K fonts. This driver source can also be used as an example of
- how a packed pixel driver is implemented under Windows.
-
- The 8514/s driver provides a sample of how to support the TrueType font
- technology with a display adapter that does its own font caching. In addition,
- this driver provides an example of Windows 3.1's multiple-resolution driver
- feature, which allows a single driver executable to support more than one
- screen resolution, or supply a variety of resolution-dependent resources
- (e.g.. small or large fonts).
-
- To demonstrate the use of DIBs and the Palette Manager in these drivers, you
- can run the sample application, SHOWDIB, provided in the SDK.
-
- You will find these sources on the Device Driver Samples and Tools Disk Set
- under the directory \8PLANE. You need to copy the entire directory structure
- to your hard disk. Use the MS-DOS XCOPY command to do this. Be sure to
- expand the compressed files to their original size before using them.
-
- Note, the 8PLANE directory contains an empty sub-directory called DEBUG.
- You must have this directory available when you build the driver, otherwise
- the MAKE files will fail.
-
- To build the drivers, you need to run the batch file:
-
- \DISPLAY\8PLANE\V7VGA\ for Video 7 VRAM VGA
- (NOTE: This builds the driver file V731VGA.DRV. This driver is renamed to V7VGA.DRV in Windows 3.1)
- \DISPLAY\8PLANE\8514\SOURCE for 8514/a
-
- NOTE: Be sure to use the /E parameter when XCOPYING the 8514 sources to your disk.
- The makefile is expecting to have the empty subdirectory \DISPLAY\8PLANE\8514\SOURCE\OBJ
- and will generate an error if this subdirectory is not present.
-
- Windows Real and Standard Mode Grabbers
- ***************************************
- The Windows real and standard mode grabbers are on the Device Driver Samples
- and Tools under \GRABBERS. Since much of the grabber code for different displays
- are common, you should copy the GRABBERS sub-directory in its entirety to your
- hard disk. Be sure to expand the compressed files to their original size before
- using them. The individual grabbers are in the following directories:
-
- \DISPLAY\GRABBERS\CGAHERC\CGA
- \DISPLAY\GRABBERS\CGAHERC\HERCULES
- \DISPLAY\GRABBERS\EGA\EGACOLOR
- \DISPLAY\GRABBERS\EGA\EGAMONO
- \DISPLAY\GRABBERS\VGA\VGACOLOR
- \DISPLAY\GRABBERS\VGA\VGAMONO
-
- You should run the NMAKE utility with the Makefiles provided in each of these
- directories to build the appropriate grabber.
-
- System Font Sources
- *******************
- We have provided the Windows 3.1 proportional system font and the Windows 2.0
- fixed pitch system font. If your display driver supports resolutions other
- than the display resolutions provided in Windows, you may need to modify the
- system fonts for your display.
-
- You will need to copy the \FONTS directory to your hard disk in its entirety.
- Use the MS-DOS XCOPY command to do this. You will find this directory on the
- Device Driver Samples and Tools.
-
- The 3.x proportional system fonts are hand tuned for the screen and match the
- Adobe font widths for their Helvetica font. If you need to adapt the system
- font for a display with a different horizontal resolution than the ones
- supported by these fonts, you need to adjust the font widths accordingly.
- This will ensure the character will best "copy fit" the printed character
- with those on the screen.
-
- You can modify these files with the Font Editor tool provided with the SDK.
-
- Before you will be able to build any fonts, you must make the FONTS.OBJ file.
- You do this by running:
-
- MASM FONTS;
-
- from the \FONTS directory. You only need to do this once.
-
- To build the proportional system font files, execute the Makefile by using NMAKE
- from the \FONTS\SYSTEM directory:
-
- The font file names for the new proportional system fonts are:
-
- CGASYS.FON for (640 x 200) CGA resolution
- EGASYS.FON for (640 x 350) EGA high resolution
- VGASYS.FON for (640 x 480) VGA resolution
- 8514SYS.FON for (1024 x 768) 8514/a resolution
-
- In addition to the 3.x system font, the Windows 2.0 fixed pitch system font
- is necessary for older Windows applications running under Windows 3.0 and 3.1.
- All Windows applications which are not "marked" to run with the new proportional
- font, or which were not developed as a Windows 3.x application, will be given
- the fixed pitch font for displaying text in dialog and message boxes, and the
- client area. Windows 3.x supports both of these files, so it may be necessary
- for you to also modify the appropriate fixed pitch font.
-
- You will find these fonts in the \FONTS\FIXED directory. The Makefile is
- executed from this directory by running NMAKE.
-
- The font file names for the 2.0 fixed pitch system fonts are:
- CGAFIX.FON for (640 x 200) CGA resolution
- EGAFIX.FON for (640 x 350) EGA high resolution
- VGAFIX.FON for (640 x 480) VGA resolution (square pixels)
- 8514FIX.FON for (1024 x 768) 8514/a resolution (square pixels)
- 8514OEM.FON Uses the OEM Character Set
- CGAOEM.FON Uses the OEM Character Set
- EGAOEM.FON Uses the OEM Character Set
- VGAOEM.FON Uses the OEM Character Set
- VGA850.FON Uses Code Page 850
- VGA860.FON Uses Code Page 860
- VGA861.FON Uses Code Page 861
- VGA863.FON Uses Code Page 863
- VGA865.FON Uses Code Page 865
-
- Printer Driver Sources
- **********************
- We are providing driver sources for our PCL5/HP LaserJet III and
- Postscript printer drivers. In additional, sample sources for
- dot-matrix black/white and color raster printers are also included.
-
- Building "Minidriver" Printer Drivers
- *************************************
- In order to build the printer drivers created by UNITOOL.EXE
- from the Minidriver disk, make sure to install the include &
- library files into the first directory on your LIB and INCLUDE MS-DOS
- environment variables.
-
- PCL5/HP LaserJet III Printer driver
- ***********************************
- The PCL5/HP LaserJet III driver sources are being provided as an
- example of how to support the dynamic downloading of TrueType fonts
- as well as the new ResetDC API on PCL-type laser device. It now
- does printer memory tracking as well.
-
- The PCL5/HP LaserJet III core driver sources are on the Device
- Driver Samples and Tools Disk Set under \PRINTERS\HPPCL5A. The
- HPPCL5A directory contains subdirectories necessary for building
- the driver. You can build the driver by running the MAKEIT.BAT batch
- file from the ..\HPPCL5A directory. NOTE: Be sure to maximize the
- amount of conventional memory available when building this driver.
- We recommend using MS-DOS Version 5.0 to provide as much conventional
- memory as possible.
-
- The PFM Editor (PFMEDIT.EXE) for PCL fonts is documented in the Printer
- and Fonts Kit and is provided on the Device Driver Samples and Tools Disk
- Set under \TOOLS. The PFM Editor is for editing PCL fonts files that use
- the 3.0 PFM font file format. Please note that the PFM font files that
- are used with the Universal driver for PCL devices uses a new updated 3.1
- file format and they are modified via the UniTool tool. If you want to use
- these 3.1 format PFM files with the PFM editor, you must first run them
- through a file converter we provide, CVTHPPFM.EXE which is provided under the
- \TOOLS directory. This is a simple DOS utility that takes as its first
- parameter the 3.1 PFM Font file and creates a new 3.0 PFM font file with the
- name specified in the second parameter.
-
- The Printer Font Installer source is on the Device Driver Samples and Tools
- Disk Set under \PRINTERS\FINSTALL. You can build the font installer by
- running the MAKEIT.BAT file from the ..\FINSTALL directory. This module is
- called by selecting the "Fonts..." button in the HPPCL5A driver dialog box.
- The HPPCL5A driver and the Printer Font Installer are being provided to
- serve as a base for your Windows 3.1 printer driver development.
-
- PostScript Printer driver version 3.5
- *************************************
- The PostScript driver is also a good example of how to support the downloading
- of TrueType fonts on a PostScript printer. It also provides the ability to map
- TrueType fonts to Type 1 fonts in your PostScript printer. In addition, several
- other new features have been added: the ability to specify the resolution, per
- page downloading of fonts, setting the half-tone frequency, setting the halftone
- angle, printing a negative image, printing a mirror image, generating output
- that conforms to the Adobe Structured Document conventions and others.
- The driver dialogs have also been updated to better conform to the suggested
- design conventions for printer dialog boxes, according to the Microsoft Style
- Guide.
-
- The driver sources are on the Device Driver Samples and Tools Disk Sets under
- \PRINTERS\PS35. To build the driver execute the Makefile by running NMAKE. It is
- likely that you may run out of memory in building the driver. To prevent this, run NMAKE
- in the RES and UTILS subdirectories prior to running NMAKE in the PS35 directory. To
- build this driver, you will need to be sure to install the Alternate Math Small libraries
- during the SDK Install. The name of the needed library is SDLLCAW.LIB NOTE: Be
- sure to maximize the amount of conventional memory available when building
- this driver. We recommend using MS-DOS Version 5.0 to provide as much
- conventional memory as possible.
-
- The PostScript driver is designed to make it easy to add new device support, without
- modifying the source files. Provided in the DDK is a tool called MKPRN.EXE. You use this
- tool to compile PostScript Printer Description (PPD) files into Windows Printer Description
- (WPD) files.
-
- You can then install .WPD files for the PostScript driver by creating a driver distribution
- disk just as for any other printer driver. There is no longer an "Add Printer" option in the
- driver's Print Setup dialog box. Refer to the file CONTROL.INF in the Windows SYSTEM
- subdirectory to see an example of how to create the WPD entry for an OEMSETUP.INF file
- for installing unlisted PostScript models.
-
- The MKPRN.EXE tool is on Device Driver Samples and Tools under \TOOLS.
-
- Generic / Text Only Driver (TTY) Sample Sources
- ***********************************************
- Sample sources for the Generic / Text Only driver are included in this kit. You can use the
- Generic / Text Only printer driver with any printer for printing text with no graphics. Since
- this driver uses the printer's internal character set (or sets), it is a convenient driver for
- printing quick drafts of large documents or spreadsheets.
-
- The files are on the Device Driver Samples and Tools Disk Set under \PRINTERS\TTY. To
- build the TTY driver execute the Makefile under \PRINTERS\TTY using the NMAKE
- utility.
-
- Keyboard Driver Sources
- ***********************
- The keyboard sources are on the Device Driver Samples and Tools Disk Set under
- \KEYBOARD. There is a batch file provided to build the IBM style keyboard driver and all
- the international tables for foreign keyboards.
-
- They keyboard driver structure has not been changed since Windows 3.0.
- To build the drivers, execute the Makefile by running NMAKE in the \KEYBOARD
- directory. Please note that this makefile builds the driver file KBD.DRV. This driver is
- renamed to KEYBOARD.DRV in Windows 3.1.
-
- Mouse Driver Sources
- ********************
- The Microsoft Mouse drive sources are on the Device Driver Samples and Tools Disk Set .
- Copy all the files from the \MOUSE directory to your hard disk with the MS-DOS XCOPY
- or COPY command. Be sure to expand the compressed files to their original size before
- using them. To build the driver, run: NMAKE in the \MOUSE directory.
-
- The mouse driver has few changes from the version shipped with the Windows 3.0 DDK.
- No changes are expected, except bug fixes. Note that this driver will not binary compare
- with the Mouse driver provided with Windows 3.1 since this driver contains proprietary
- source code.
-
- COMM Driver Sources
- *******************
- The COMM driver sources are on the Device Driver Samples and Tools Disk Set. Copy all
- the files from the \COMM directory to your hard disk with the MS-DOS XCOPY command.
- Be sure to expand the compressed files to their original size before using them. To build
- the driver, execute the Makefile by running the Nmake utility.
-
- This driver requires the include file INT31.INC. You will need to copy this file from the
- Virtual Devices and Tools Disk Set from the \INCLUDE directory. Make sure this file is in
- your include path.
-
- Sound Driver Sources
- ********************
- The sound driver sources are on the Device Driver Samples and Tools Disk
- Set. Copy all the files from the \SOUND directory to your hard disk with
- the MS-DOS XCOPY or COPY command. Be sure to expand the compressed files
- to their original size before using them. To build the driver, execute the
- Makefile by running the Nmake utility.
-
- The sound driver has few changes from the version shipped with the Windows 3.0
- DDK. The driver was only modified for bug fixes.
-
- Network Driver Sources
- **********************
- The MS-Net network driver sources are on the Device Driver Samples and Tools
- Disk Set. Copy all the files from the \NET directory to your hard disk with
- the MS-DOS XCOPY or COPY command. Be sure to expand the compressed files to
- their original size before using them. To build the driver, execute the
- Makefile by running the Nmake utility.
-
- Appendix B: Description of Virtual Device Sources
- **************************************************
- Each source directory contains one or more .ASM source files, a .DEF file, and a
- Makefile. The Makefile is for use with Microsoft NMAKE or with other Unix-style
- MAKE utilities. Note, NMAKE is not provided in the DDK, but is included with
- some of the Microsoft language products (for example,C 6.00A).
-
- These MAKE files offer examples of the proper uses of the tools, options, and
- general build procedures that should be followed in developing virtual devices.
-
- As mentioned previously, these sources are provided for you to begin development
- for Windows 3.1 386 enhanced mode virtual device support.
-
- The Display Devices (CGA, EGA, VGA, 8514, HERC, V7VGA)
- ******************************************************
- This device virtualizes the video display and is the most complex of the devices
- supplied in the DDK.
-
- The various VDD sources are on the Virtual Device Samples and Tools Disk Sets
- under the directories \VDDCGA, \VDDEGA ,\VDDVGA, \VDDHERC, and \VDDV7VGA.
-
- The \VDDCGA source tree contains files to only build the CGA VDD. This VDD also
- provides support for the Compaq Plasma display (also called IDC).
-
- The \VDDEGA source tree contains files to only build the VDDEGA.
-
- The \VDDVGA source tree provided uses conditional assembly to build two separate virtual
- devices to handle standard VGA and 8514/a video adapters.
-
- The \VDDHERC source tree contains files to only build the Hercules VDD.
-
- The \VDDV7VGA source tree contains files to only build the Video 7 VDD.
-
- You will find different Makefiles for each of the VDDs in the appropriate directories
- mentioned above. Listed below are the Makefile names for each VDD:
-
- * Adapter NMAKE *
- CGA MAKEFILE
- EGA MAKEFILE
- VGA MAKEVGA
- 8514 MAKE8514
- Hercules MAKEFILE
- Video 7 MAKEVGA
-
- NMAKE by default will use the "Makefile" file to process. You can also specify the
- Makefile to use by using the /F parameter. The VGA and 8514 Makefiles are located in
- the same directory and so they have different names for the Makefile.
-
- The Display/Windows Interface (GRABBER)
- ***************************************
- The grabbers for 386 enhanced mode are different than the grabbers run in real or standard
- modes. They are responsible for rendering a virtual machine's display context within a
- window; therefore, they are closely bound with the virtual display device (VDD). Each VDD
- needs to be accompanied by its own grabber as a linked pair.
-
- The sources are on the Virtual Device Samples and Tools Disk Sets under the \GRABBERS
- directory structure.
-
- The DDK contains source for CGA, EGA, VGA, 8514/a, Compaq Plasma, Hercules, and
- Video 7 grabbers. Since they are all built in the same directory, different Makefiles are
- provided for each of them. Below are the Makefile names for each grabber:
-
- * Adapter NMAKE *
-
- CGA MAKECGA.
- EGA MAKEFILE.
- VGA MAKEVGA.
- 8514 MAKEDIB.
- Hercules MAKEHERC.
- AT&T/Compaq MAKEPLSM.
- Video 7 MKV7.
-
- NMAKE by default will use the "Makefile" file to process. You can also specify the Makefile
- to use by using the /F parameter. These Makefiles require that the CMACROS.INC include
- file be located in the \GRABBERS directory. This file is provided in the \OEMFONTS
- directory.
-
- The font files used by the grabbers when running in a window are provided in this kit. You
- will find them on disk 2 under \OEMFONTS. Run the Nmake utility to execute the
- Makefile here.
-
- The DMA Device (VDMAD)
- **********************
- This device handles direct memory access devices. Virtual devices can support hardware
- cards which use DMA by calling the DMA Services provided by the VDMAD. These services
- are documented in the DDK documentation.
-
- See the section on the Floppy Drive Device, for an example of a device which uses the DMA
- Services.
-
- The VDMAD itself should not normally need to be customized; it would only need to be
- altered to support DMA on machines with non-standard architectures.
-
- The sources are on the Virtual Device Samples and Tools Disk Set under the \VDMAD
- directory structure.
-
- The EBIOS Device (EBIOS)
- ************************
- This device detects the EBIOS page on machines (such as the PS/2) where it is used,
- identifies it, and ensures that it is reserved as global memory. It will probably not need to be
- modified, but is provided here as an example of a relatively simple device which passively
- accommodates something in the environment.
- The sources are on the Virtual Device Samples and Tools Disk Set under the \EBIOS
- directory structure.
-
- The Keyboard Device (VKD)
- *************************
- This is one of the more complicated devices, as it not only virtualizes the keyboard but also
- interacts with the Windows shell to handle hotkeys and other special functions. It should be
- modified to support other, nonstandard keyboards.
-
- The sources are on the Virtual Device Samples and Tools Disk Set under the \VKD
- directory structure.
-
- The Mouse Device (VMD)
- **********************
- This device virtualizes the mouse and maps the INT 33H API between protect and virtual
- modes.
-
- The sources are on the Virtual Device Samples and Tools Disk Set under the \VMD
- directory structure.
-
- The Netbios Device (VNETBIOS)
- *****************************
- This device maps the Netbios API between protect and virtual modes, allowing Windows
- applications to access the network. It also handles asynchronous network transactions by
- mapping the application's buffer into global memory, so the network software can access it
- when the asynchronous event occurs (even if another virtual machine is running at the
- time).
-
- This should be modified by network vendors who extend the standard NetBIOS interface
- and also serve as a guide to writing virtual devices for other types of network software.
-
- The sources are on the Virtual Device Samples and Tools Disk Set under the \VNETBIOS
- directory structure.
-
- The Network Device (LDOSNET)
- ****************************
- In general, this device manages network connections and assures network integrity across
- all virtual machines. This device is not part of the Windows 3.1 retail package. It is
- provided as a sample source to demonstrate some mechanisms used in supporting network
- functionality.
-
- The device should be modified when your software does not use standard MS-DOS
- redirector calls for handling network connections.
-
- You will find the sources on the Virtual Device Samples and Tools Disk Set under the
- \LDOSNET directory.
-
- The BIOS Device (BIOSXLAT)
- **************************
- This device maps the ROM BIOS API between protected mode and virtual 8086 mode,
- allowing Windows applications and device drivers access to ROM BIOS services.
-
- This should be modified when there are non-standard ROM BIOS calls that pass pointers to
- memory and which are used by Windows applications or device drives.
-
- You will find the sources on the Virtual Device Samples and Tools Disk Set under the
- \BIOSXLAT directory,
-
- The Paging Device (PAGESWAP)
- ****************************
- This device is used by 386 enhanced mode for demand paging at either the INT 21H or INT
- 13H level.
- The sources are on the Virtual Device Samples and Tools Disk Set under the \PAGESWAP
- directory structure.
-
- The Printer Device (VPD)
- ************************
- The Printer Device virtualizes access to the parallel ports. If a second virtual machine tries
- to access one of the ports while it is being used by another application, a contention dialog is
- presented to the user allowing them to resolve the dispute of ownership. This virtual device
- was installed by default in Windows 3.0 but is no longer used with Windows 3.1. It is a
- simple VxD and is used as an example in the Virtual Device Adaptation Guide.
-
- The sources are on the Virtual Device Samples and Tools Disk Set under the \VPD
- directory structure.
-
- The COMM Device (VCD)
- *********************
- This device virtualizes the standard serial ports on ISA architecture machines. It supports
- COM1 through COM4. It should be modified to add support for different chip sets or for
- additional COM ports.
-
- You will find the sources on the Virtual Device Samples and Tools Disk Set under the \VCD
- directory.
-
- The Virtual COMM Device (COMBUFF)
- *********************************
- This device works with the Vitual COMM Device (VCD) to buffer com input for MS-DOS
- Virtual Machines. It supports COM1 through COM4. It can be modified to provide other
- handshaking protocols, or just used as sample source for virtualizing COM ports by
- cooperating with VCD.
-
- You will find the sources on the Virtual Device Samples and Tools Disk Set under the
- \COMBUFF directory.
-
- The Floppy Drive Device (VFD)
- *****************************
- This device is responsible for two things:
-
- -- It removes special timer port trappings to ensure copy protection schemes work
- properly.
- -- It communicates with the VDMAD to synchronize DMA channel usage.
-
- You will find the sources on the Virtual Device Samples and Tools Disk Set under the \VFD
- directory.
-
- The 386 Enhanced Mode Block Device (WDCTRL)
- *******************************************
- This virtual device is used to talk directly to hard-drive controllers that are Western Digital
- 1003 compatible. This allows us to do disk i/o entirely in ring 0 protected mode, bypassing
- the real mode BIOS.
-
- You will find the sources on the Virtual Device Samples and Tools Disk Set under the
- \WDCTRL directory.
-
- The PageFile Device (PAGEFILE)
- ******************************
- This virtual device handles our virtual memory paging file, and will always call through
- BlockDev if any FastDisk devices are available.
- You will find the sources on the Virtual Device Samples and Tools Disk Set under the
- \PAGEFILE directory.
-
- The INT13 Virtual Device (INT13)
- ********************************
- The Int13 device is used in conjunction with the 386 Enhanced Mode Block Device. It traps
- and emulates Int 13h BIOS calls.
-
- You will find the sources on the Virtual Device Samples and Tools Disk Set under the
- \INT13 directory.
-