Technical Notes, GetVideoCard() and FindVideoMode() Functions



TECH Notes



In order to not fail in some hardware configurations, especially on MDA and Hercules video adapter, GetVideoCard() function should be called prior to FindVideoMode().

Video mode detection must be done with GetVideoCard() prior to using FindVideoMode(). Do not use FindVideoMode() to detect valid video modes.

FindVideoMode() simply sets a video mode, it has no detection scheme in it. It could conceivably set an incorrect mode, such as setting a graphic mode intended for a TSENG chipset on a Video 7 display adapter,etc., simply because the TSENG SVGA driver was incorrectly installed by the user. GetVideoCard() prevents this from happening.

LINK Script:

Either the Function Stub, CShowPCX() or the Function itself, ShowPCX() can be overlayed, but not both with Blinker. If both are overlayed with Blinker, the function will crash. If the application requires both the Function Stub and the Function to be overlayed, Sun Country recommends the use of RTLink.

In order to overlay CSHOWxxx (interface stub) and SHOWxxx (function), Dynamic Overlay Option must be turned on, otherwise, Fixed Overlay Option must be used and CSHOWxxx and SHOWxxx must be in the same section, or only the SHOWxxx can be overlayed. This can not be done with the current release of Blinker when used with Clipper 5.0x.

User must specify a STACK for his application, linking with Blinker and using the SUNPRO50.LIB with Clipper 5.0x. SunShow's SUNPRO50.LIB requires 8192K of STACK. Other libraries may also require STACK space. Therefore, the overall stack space may need to be larger. User may set the stack by either specifying the STACK 8192 or by PROCEDURE DEPTH 80. This provides enough stack for SUNPRO50.LIB, but may not provide for other 3rd party libraries. Developer should recheck stack requirements for entire application.

SunShow's SUNPRO50.LIB is a large, graphics library containing complex functions. It requires approximately 18K of DATA SEGMENT. This is normal. If an error that CODE + DATA exceeds 64K, the user must either reduce STACK or remove a library. There is only a finite number of 3rd party libraries that can be overlayed in this environment.

Warning:

Caution is advised in overlaying into UMB. There is a likelihood that such procedures are not portable, if end-user's memory manager is not configured correctly for the current hardware on the end-user's PC. In addition, certain hardware such as SVGA video cards, frame capture boards like the Vision16, Targa 16, or Targa+, network cards, SCSI cards may require UMBs or may use UMBs without warning, that could cause your application to crash. Sun Country strongly encourages use of XMS and EMS for overlays, discourages use of UMBs for the above reasons. Since the developer cannot always control which memory manager is used on an end-user's PC, and while unlikely, there is also the possibility of compatibility problems between less-popular memory managers and Blinker.

Sun Country suggests for the linking of large, complex application, that RTLink may be advisable (over Blinker) since more functions can be overlayed due to its RELOAD feature. Blinker requires use of the dynamic overlay feature to get the same effect, but this is currently only possible with Clipper S '87. In order to overlay the function stubs along with the functions, or overlay more of the SUNPRO50.LIB's functions, they may use RTLink or Clipper, S'87. This limitation is a limitation of Blinker.






Return to Technical Support, Notes, Tips, Tricks
and Programming Information







Return to SunShow Professional Page






Return to SunShow Main