Requirements ------------ DOSBKGND.PAS and VIDEO.PAS require nothing more than Borland Pascal version 6.0 or later and Turbo Vision. The routines in the Video unit are self-explanatory and can be used seperate of DOSBKGND.PAS. DOSBKGND.PAS requires VIDEO.PAS. See SAMPLE.PAS for an example of how to use DOSBKGND.PAS. Cost and copyright information ------------------------------ Both DOSBKGND.PAS and VIDEO.PAS are freeware and uncopyrighted. Anyone is free to distribute both units and modify them as they wish. The only requirements are that they be distributed together, as DOSBKGND.PAS requires VIDEO.PAS. Possible problems ----------------- This was written using Borland Pascal 7.0. I would assume that it would work correctly with Turbo Pascal 6.0 with two exceptions. On lines 61 and 65 in VIDEO.PAS, I make reference to two constants defined in Borland's System unit - SegB000 and SegB800. I am not sure if these were defined in Turbo Pascal 6.0. If not, simply replace them with $B000 and $B800 respectively. In line 79 of VIDEO.PAS, I refer to the CRT variable WindMax. This variable contains the lower right coordinates of the current text window. I assumed that the current text window would be the entire screen. If a window has been defined using CRT's Window routine prior to calling the routine SaveDOSScreen, not enough memory will be allocated to hold the entire contents of video memory. You will probably not notice this until you call UpdateDOSScreen and find only a portion is restored and the rest is garbage. This can be prevented by calling SaveDOSScreen first thing in your program, or at least before you define any text windows on screen. Reason for DOSBkGnd and Video ----------------------------- I was writing a short utility that used command-line parameters to control its options. This utility only displayed about two lines of information at the DOS prompt and did not clear or modify the DOS screen other than writing its two lines of information. I decided to make it easier to set this utility's options by allowing a dialog box to be popped up while it was running. I wanted to do this without clearing, hiding, or otherwise changing the DOS screen. In other words, I wanted this dialog box to pop up over the DOS screen - in TSR fashion - and leave the DOS screen still visible, and when it was closed leave the DOS screen unchanged and start up where I left off. If you are familiar with Turbo Vision, its TDesktop and TBackground objects don't allow for this. Also, DoneVideo - called when TurboVision shuts down - clears the screen. So I decided to make a new TBackground and a new TDesktop that used the new TBackground. TDOSBackground's only change from TBackground was that instead of using a repeating character as a background, it uses the DOS screen itself. This was done by directly accessing video memory to make a copy of it, then using this copy to draw the screen with Turbo Visions WriteBuf command. This copy is also used to restore the DOS screen after Turbo Vision clears the screen when it is finished. Comments and complaints ----------------------- Questions, comments or complaints are welcome and appreciated. I can be contacted via Compuserve as Tim J. Duncan [72603,3616]. Either E- mail me directly or post a message in the Borland Pascal forum (GO BPASCAL) addressed to me. Please be aware that if you post any messages in the Borland Pascal forum addressed to me, I will only be able to download these once a week. Due to financial constraints (Compuserve can get awfully expensive awfully fast), I only log-on to Compuserve on Sunday afternoons.