**************************************************************************** NCR VGA Drivers SoftSet.Exe and SoftMode.Sys Versions 2.xI and 2.xP Copyright (c) NCR Corporation, 1992 **************************************************************************** Contents: --------- - Why Should You Use SoftMode? - Setting up SoftMode with SoftSet.exe - Setting up SoftMode to support VESA calls - Dot Clock Frequencies of SoftMode 2.xI and 2.xP - Setting up 132x25, 132x50, 80x25, and 80x50 text. - Using SoftMode.Sys without SoftSet.exe. - CONFIG.SYS Example - Setting a Mode - Setting up SoftMode for 8-bit wide memory - Problem List Why Should You Use SoftMode? --------------------------------------- The reasons you should use SoftMode: - Extended Modes: There is no support in ROM BIOS for modes beyond 1024x768 256 color (mode 62h). SoftMode provides the ability to set modes beyond mode 62h including the new HiColor 32k and 64k color modes. The NCR Windows drivers rely on SoftMode to properly set these extended modes. In addition, the NCR AutoCad 11 drivers require the use of SoftMode. - Mode Timing Selection: There is no way you can tell ROM BIOS which timing to use for a given mode number. SoftMode supports a variety of timing sets for certain modes. This enables you to select the timing which best suits your monitor. - Image Centering: There is no way you can center the video image using BIOS. By running SoftSet to initially select the mode timings for SoftMode, you can also center each mode for your monitor. This way you won't need to touch the monitor each time a different mode is set by applications. - VESA BIOS Extensions: There are no VESA extensions built into the ROM BIOS. SoftMode supports VESA version 1.2 BIOS extensions. Setting up SoftMode with SoftSet.exe ------------------------------------ It is recommended that you run SOFTSET to setup SoftMode. SoftSet.exe provides the user with an easy way to setup SoftMode.Sys. To Run SoftSet make sure that both files, softmode.sys and softset.exe, are in the same directory. Go to that directory and type SOFTSET . Softset allows you to test and observe each of the mode settings provided in SoftMode. You may then "Use" or "Not Use" each setting. All of the used settings are assembled in a list which is added to a command line in the CONFIG.SYS file. Users may edit the CONFIG.SYS file themselves or allow SoftSet to add the command line automatically. Setting up SoftMode to support VESA calls ----------------------------------------- SoftMode 1.6x supports VESA BIOS extensions. To enable VESA functions, include the /V switch on the command line. This can be done with SoftSet.exe version 1.55 or later. Dot Clock Frequencies of SoftMode --------------------------------- There are two versions of SoftMode. SoftMode.sys 2.xI assumes that the dot clocks of Table 1a are selectable. SoftMode.sys 2.xP assumes that the dot clocks of Table 1b are selectable. Table 1a: Dot Clock Frequencies for the ICS2494-253 and ICS1394-073. Hex Address Frequency in Mhz 0 25.175 1 28.322 2 40.000 3 65.000 4 44.900 5 50.000 6 56.000 7 75.000 8 25.175 9 28.322 A 00.000 B 00.000 C 60.000 D 80.000 E 00.000 F 00.000 Table 1b: Dot Clock Frequencies for the AV9194-46 and ICS2494-277. Hex Address Frequency in Mhz 0 25.175 1 28.322 2 36.000 3 65.000 4 44.900 5 50.000 6 80.000 7 75.000 8 56.644 9 63.000 A 72.000 B 130.000 C 90.000 D 100.000 E 110.000 F 120.000 Setting up 132x25, 132x50, 80x25, and 80x50 text. ------------------------------------------------ There is a new version of SETMODE.EXE to replace the old SETMODE.COM. The old setmode.com was a TSR which provided high resolution text. Now, this feature is built into SoftMode. Use SETMODE.EXE to set up the resolution required the same way the old TSR was used. See SETMODE.DOC for details. Using SoftMode.Sys Without SoftSet.exe -------------------------------------- SoftMode's purpose is to allow access to extended graphics modes without up-grading BIOS. In addition, the user may specify which timings apply when a specific mode is called for by an application. This usually depends on the monitor. For example, if the monitor is an NEC 4d, then the user would want this driver to allow a non-interlaced timing for the 1024x768 256 color mode. At the same time, the 1280x1024 mode must be limited to an interlaced timing. To accomplish the above, it is necessary to supply command line parameters following the DEVICE=softmode.sys statement. The following is a list of rules required to set up the parameters: - The parameter list must be preceded by the /M: switch. - Each parameter must be a decimal number taken from the list of supported setting numbers of Table 2 below. - Multiple parameters must be separated by commas. Table 2: Graphics Modes with Frequency Info and Setting Numbers. Frequencies: Vertical Horizonatal Dot Type Setting Number -------- ----------- --- ---- -------------- 12h: 640x480,16 colors 72.874 Hz 37.967 KHz 32.500 MHz Non-Interlaced ( Setting # 13 ) 60.004 Hz 35.403 KHz 28.322 MHz Non-Interlaced ( Setting # 17 ) 5fh: 640x480,256 colors, VESA Mode 101 72.814 Hz 37.791 KHz 32.500 MHz Non-Interlaced ( Setting # 12 ) 59.940 Hz 31.469 KHz 25.175 MHz Non-Interlaced ( Setting # 2 ) 58h: 800x600,16 colors, VESA Mode 102 71.971 Hz 48.077 KHz 50.000 MHz Non-Interlaced ( Setting # 8 ) 60.317 Hz 37.879 KHz 40.000 MHz Non-Interlaced ( Setting # 0 ) 56.021 Hz 35.461 KHz 40.000 MHz Non-Interlaced ( Setting # 15 ) 5ch: 800x600,256 colors, VESA Mode 103 71.971 Hz 48.077 KHz 50.000 MHz Non-Interlaced ( Setting # 10 ) 60.317 Hz 37.879 KHz 40.000 MHz Non-Interlaced ( Setting # 4 ) 56.021 Hz 35.461 KHz 40.000 MHz Non-Interlaced ( Setting # 16 ) 5dh: 1024x768,16 colors, VESA Mode 104 70.069 Hz 56.476 KHz 75.000 MHz Non-Interlaced ( Setting # 14 ) 70.059 Hz 56.818 KHz 75.000 MHz Non-Interlaced ( Setting # 1 ) 60.530 Hz 48.363 KHz 65.000 MHz Non-Interlaced ( Setting # 9 ) 87.064 Hz 35.522 KHz 44.900 MHz Interlaced ( Setting # 3 ) 62h: 1024x768,256 colors, VESA Mode 105 70.099 Hz 56.991 KHz 75.000 MHz Non-Interlaced ( Setting # 11 ) 60.004 Hz 48.363 KHz 65.000 MHz Non-Interlaced ( Setting # 6 ) 87.064 Hz 35.522 KHz 44.900 MHz Interlaced ( Setting # 5 ) 6ah: 1280x1024,256 colors, VESA Mode 107 60.024 Hz 63.025 KHz 90.000 MHz Non-Interlaced ( Setting # 107 ) 86.938 Hz 48.077 KHz 75.000 MHz Interlaced ( Setting # 7 ) 5eh: 640x400,256 colors, VESA Mode 100 60.055 Hz 31.469 KHz 28.322 MHz Non-Interlaced ( Setting # 20 ) 6ch: 1280x1024,16 colors, VESA Mode 106 86.938 Hz 48.077 KHz 75.000 MHz Interlaced ( Setting # 67 ) 5ah: 1024x768,2 colors 87.064 Hz 35.522 KHz 44.900 MHz Interlaced ( Setting # 19 ) 70h: 640x480,32k colors, VESA Mode 110 59.974 Hz 31.486 KHz 50.000 MHz Non-Interlaced ( Setting # 100 ) 78h: 640x480,64k colors, VESA Mode 111 59.974 Hz 31.486 KHz 50.000 MHz Non-Interlaced ( Setting # 110 ) 71h: 800x600,32k colors, VESA Mode 113 59.979 Hz 38.986 KHz 80.000 MHz Non-Interlaced ( Setting # 102 ) 56.230 Hz 36.550 KHz 75.000 MHz Non-Interlaced ( Setting # 101 ) 79h: 800x600,64k colors, VESA Mode 114 59.979 Hz 38.986 KHz 80.000 MHz Non-Interlaced ( Setting # 112 ) 56.230 Hz 36.550 KHz 75.000 MHz Non-Interlaced ( Setting # 111 ) 72h: 1024x768,32k colors, VESA Mode 116 84.902 Hz 35.489 KHz 90.000 MHz Interlaced ( Setting # 108 ) 75.468 Hz 31.546 KHz 80.000 MHz Interlaced ( Setting # 105 ) 7ah: 1024x768,64k colors, VESA Mode 117 84.902 Hz 35.489 KHz 90.000 MHz Interlaced ( Setting # 109 ) 75.468 Hz 31.546 KHz 80.000 MHz Interlaced ( Setting # 106 ) 50h: 640x480,16M colors, VESA Mode 112 60.024 Hz 31.513 KHz 75.000 MHz Non-Interlaced ( Setting # 103 ) 51h: 800x600,16M colors, VESA Mode 115 97.777 Hz 33.733 KHz 90.000 MHz Interlaced ( Setting # 114 ) 86.913 Hz 29.985 KHz 80.000 MHz Interlaced ( Setting # 113 ) The following text modes are also included in SoftMode: setting# mode 30 3 54 54 55 55 CONFIG.SYS Example ------------------ To tell SoftMode to enable non-interlaced timings for mode 5d, but interlaced timings for mode 62, the user must create the following line in his or her config.sys file: DEVICE = path\SOFTMODE.SYS /M:1,5 where path is the path to the directory location of the Softmode.sys file. After modifying the config.sys file, the system must be re-booted. Upon loading at boot time, SoftMode will respond by displaying: Modes and settings enabled: 5d.....1 62.....5 Note that the above example produces the following results: - Modes 5d and 62 will be set by SoftMode.sys. - Any standard modes (57 hex or below) will be set by BIOS. - Any modes above 57 hex, other than 5d and 62, will not be set. If the setting number 30 was specified with the /M:30 switch, then mode 3 would be set by SoftMode and not by BIOS. If no parameters are given, SoftMode will not be loaded and an error message will appear on the screen. Setting a Mode -------------- Once the system is re-booted and SoftMode is loaded successfully, the video mode will be, as always, mode 3 set by BIOS. To activate one of the modes that you have enabled in SoftMode, you can use the SETVID.EXE utility as follows: In the above example, modes 5d and 62 are the only possible mode choices for SoftMode to set. To activate mode 5d, simply type: SETVID 5d Then, mode 5d will be selected using the timings of number one, i.e. non- interlaced 70Hz timings. To return to mode 3 set by BIOS, type SETVID 3 . Setting up SoftMode for 8-bit wide memory ----------------------------------------- A conflict with some adapter cards may require the VGA to use 8-bit wide memory. To force the VGA into 8-bit mode, include the /8 switch on the command line. The Softset program may not allow the user to add the /8 switch automatically. Use an editor to add the /8 switch after using SoftSet. Problem List ------------ - SoftMode.Sys does not currently support any functions other than the setting of a mode. Therefore, all other INT 10 calls are routed to BIOS. If the user has BIOS which lacks, for example, the write tty function for the mode selected, the screen may not be legible when the mode is set with SETVID. The mode is, however, useful when set by an application driver, such as a Windows 3.0 driver.