3. Super VGA support for TDW ============================ TDW handles most of the popular 2, 4, 16 and 256-color high-resolution Super VGA modes. If your card isn't supported correctly or if you want to debug in a 256-color mode, you need to use a special SuperVGA DLL. Currently, the following DLLs are supplied with your language compiler to support these SVGA cards and modes: SVGA.DLL - This is a generic DLL that makes Windows do most of the work and thus will work in ANY mode of ANY video card. The drawback is that overall preformance is slower than with the mode-specific DLLs. If in doubt, or the other DLLs don't support your card/mode, then use this DLL. Coprocessor cards like TIGA and XGA work well with this DLL. For more info on this DLL see the file README.SVG ATI.DLL - ATI VGA Wonder and XL cards in certain video modes DUAL8514.DLL - Any dual-screen 8514 cards. This DLL is only for systems that have two color monitors, one attached to the VGA card and one attached to the 8415/A card. This DLL speeds up performance by preventing TDW from doing some things that aren't required in dual monitor mode. NOTE: Using this DLL is not the same as invoking TDW with the -do parameter, which only specifies using a monochrome screen. STB.DLL - Multi screen based video cards, the STB dll has been developed for use with the MVP2 and MVP4 series of video cards. TDVESA.DLL - Any compliant VESA based video card, the VESA emulation is usually available through a TSR or is implemented on board the video card. NOTE: you can use the VESATEST.EXE program to see if your system provides the proper VESA functions. VESATEST.EXE can be run from either DOS or from Windows. TSENG.DLL - TSENG ET-3000 /ET-4000 based cards in certain video modes ULTRA.DLL - ATI Graphics or 8514 Ultra and Vantage cards or 8514 based based cards with single monitor configuration. This DLL will work with the 8514/Ultra, 8514/Vantage, Graphics/Ultra, and Graphics/Vantage cards. It will also work on most IBM 8514/A cards with single monitors. From time to time we have new DLLs for new video cards. These DLLs, when available, can be downloaded from Compuserve, BIX, GEnie, and our local BBS (408-439-9096). We are constantly creating new DLLs for new video cards and modes that appear on the market. If the card you use isn't supported by one of our DLLs, please contact Tech Support for the latest video DLL information. Our main Tech Support phone number is 408-438-5300. To use a SuperVGA DLL, simply edit the TDW.INI file that the installation program puts in your main Windows directory. You can modify TDW.INI with any ASCII text editor. Under the section heading [TurboDebugger] there is an option called "VideoDLL". This entry should equal the path and filename of the DLL you want to use for SVGA support (see the example later in this file). There are also options you can set for the current video DLL. You list these options under the [VideoOptions] heading in any order you like. The following list shows all the video options: SaveWholeScreen -- default = 'no' Int2FAssist -- default = 'no' DebugFile -- default = IgnoreMode -- default = 'no' ATI -- default = 'yes' Rows -- default = 25 RestoreTextScreen -- default = 'yes' DebugFile can be either blank or set to a specific filename. The other four settings must be either 'yes' or 'no'. Rows must be 25 or 50. SaveWholeScreen (ATI, TSENG, TDVESA) --------------- This option, normally set to 'no', determines whether the entire screen (512k - 64k from 8 planes) is saved (the entire graphics screen is cleared when switching to it) or if only the top 32K of planes 0 through 3 is saved (the entire screen is NOT cleared when switching modes.) Saving the whole screen is not usually necessary, but is provided in case you're using a nonstandard card that requires that the whole screen be saved. It is also provides support for Alt-F5 when using the Int2FAssist mode. Int2FAssist (ATI, TSENG) ----------- This option, normally set to 'no', tells the dll to make a special Int 2F call before switching video modes. This call tells the current Windows screen driver what's happening. The desired side-effect of this call is to make Windows tell all of its child windows to repaint themselves. This option is provided mainly to support some ATI Wonder and TSENG chip set video modes. DebugFile (ALL DLLs) --------- The video DLL normally doesn't log any debugging information. If you're having problems using a special DLL, you can use the DebugFile option to specify the path and filename of a log file. You can use the information logged to this file if you need to contact Borland's Technical Support. The information that gets logged is: o the date and time that you ran TDW o the version & location of the DLL o the name of the current Windows screen driver o the state of all TDW.INI options o a listing of all calls and parameters to the DLL's functions IgnoreMode (ATI, TSENG) ---------- This option only applies when the video DLL is ATI.DLL or TSENG.DLL. It tells the DLL to not do any mode or card checking and to force the Int2FAssist option on. This option is useful for cards that aren't directly supported by an official DLL yet, such as Paradise, Video-7, Trident, or any other video card without a graphics coprocessor. With this option enabled, the functionality is identical to the temparory ALL.DLL that we offered in the past. ATI (ULTRA) --- This option is only used by ULTRA.DLL and is on by default. If you disable it, you can use this DLL on regular IBM 8514/A cards. ROWS (ALL DLLs) ---- This option is only used if you use a configuration file to set the number of rows to 43/50 from 25. If you select to have TDW start in 50 line mode, set the rows option to 50 in the TDW.INI file. RestoreTextScreen (DUAL8514, STB) ----------------- This option is only valid with the DUAL8514 and STB DLLs. The valid options are: Yes - restores the debugger's screen after exiting. No - does not touch the debugger's screen at all. Clear - forces the screen to clear upon exiting TDW. BitBlt (SVGA) ------ This option controls whether or not the DLL saves the entire screen with the BitBlt API call. For more info see the file README.SVG ForceRepaint (SVGA) ------------ This option controls whether Windows should repaint the entire desktop when you return to your program. For more info see the file README.SVG Upon loading, TDW first looks for a TDW.INI file in the same directory that it is running from. If it doesn't find it here, it looks in the Windows directory. Then it looks for the video DLL in the place specified in TDW.INI. If it finds the file, TDW accesses the DLL as needed. TDW makes calls to the DLL to handle the entire video screen-switching context. The DLL accomplishes screen switching by allocating a buffer as it gets loaded. Graphic screen contents are then saved to this buffer when TDW enters text mode. The DLL restores the graphics screen from this buffer when TDW exits text mode. Memory allocated for the buffer is freed when the DLL is unloaded. If there is an error loading the DLL, or if the DLL doesn't support the selected card or mode, TDW reports the error in a Windows dialog box. When this happens, TDW unloads it and exits. If this situation occurs, remove the DLL's name from the VideoDLL line in the TDW.INI file or select a video mode that is supported by that DLL. NOTE: Some video modes may require some special handling. The Int2FAssist option allows these modes to work correctly on most systems. The behavior is as follows: When you set "Int2FAssist=yes", the DLL makes Windows tell all sub-windows on the screen to repaint themselves as the user application is running. This allows the user screen to be viewed when stepping, tracing, or running your application. It will not, however, switch to the user screen when you press because TDW is still in control (and TDW doesn't allow Windows to process any messages at this point.) If you also set "SaveWholeScreen=yes", then will show the user screen. (The DLL will now copy the screen back for you.) The drawback to enabling SaveWholeScreen is that it will take longer to step or trace if TDW needs to switch back to the user screen for that particular instruction. Also, extra messages will be passed to your application that normally would not be passed. This may affect the debugging of certain pieces of code (like finding a bug in an owner-draw control). In these cases, you won't want to use this option on the current video mode. Compatibility Chart ------------------- All of these video DLLs assume that you are using the most current Windows screen drivers for your video card. If you are not sure if you are using the latest drivers, contact your video card company for more information. TSENG.DLL only needs to be used in the 640*480*256 resolution. On all other cases TSENG.DLL is not required. The Int2FAssist should be set to "yes" when the video dll is used. ATI.DLL is required in all video modes except the 1024*768 range of modes. When the DLL is used the Int2FAssist should be set to "yes" when the video dll is used. TDVESA.DLL is required for VESA compliant video cards. These include the Video Seven VRAM II and the Weitek Power Windows range of video cards. Ensure that you load the VESA emulation before launching Windows. If the emulation is not loaded TDW will display an error message indicating that the video dll is not supported by the current configuration. You can use the VESATEST.EXE program under Windows or DOS to determine if your card supports the proper VESA functions. ATI.DLL ------- Using the latest ATI Drivers from ATI Technologies INC requires the following TDW.INI file amendments. Resolution ATI.DLL Int2FAssist ---------------------------------- | 640*480 | Yes | Yes | ---------------------------------- | 800*600 | Yes | Yes | ---------------------------------- | 1024*768 | No | No | ---------------------------------- TSENG.DLL --------- Using the latest TSENG Drivers that are availale from the Microsoft Windows Driver Library on Comp-U-Serve requires the following TDW.INI file amendments. Resolution TSENG.DLL Int2FAssist ------------------------------------- | 640*480 | Yes | Yes | ------------------------------------- | 800*600 | No | No | ------------------------------------- | 1024*768 | No | No | ------------------------------------- TDVESA.DLL ---------- The TDVESA.DLL has been tested with the following hardware configurations. Video Card VESA TSR Required* TDVESA.DLL -------------------------------------------------------- |Video Seven VRAM II | Yes - V7VESA | Yes | -------------------------------------------------------- |Weitek Power Windows | No | Yes | -------------------------------------------------------- * This TSR is supplied with Video Card SVGA.DLL -------- Good uses include: Trident, Video-7, Oak Tech., Paradise, TIGA, XGA,...