Deceive Version 1.0 Copywrite (c) 1986 by Carl Burtner What Is It? Have you ever been in the middle of a great game (or balancing your checkbook, or updating your resume) and had your boss appear behind you? What did you do? Reboot? Attempt to block the screen with your body? Get fired? Well now there's a better way! Deceive allows you to instantly pause the program you're using and display the screen of your choice. With the push of a key that incriminating arcade game can be transformed into a spreadsheet, word processor, or anything you desire. It's fun, it's fast, and best of all, it's cheap! User Supported Software This program may be copied as much as you like and distributed to whomever you choose so long as the distributed copies are not modified and are accompanied by the programs documentation. See page 9 for furthur information. T A B L E O F C O N T E N T S What Is A Deception . . . . . . . . . . . . . . . . . - 1 How Does It Work . . . . . . . . . . . . . . . . . . - 1 Compatibility . . . . . . . . . . . . . . . . . . . . - 1 One Small Problem and a Bonus . . . . . . . . . . . . - 2 System Requirements . . . . . . . . . . . . . . . . . - 2 About Residency . . . . . . . . . . . . . . . . . . . - 2 How to Use Multiple Deception Screens . . . . . . . . - 2 Basic Key Definitions . . . . . . . . . . . . . . . . - 3 Alt-E . . . . . . . . . . . . . . . . . . . . . . - 3 Alt-B . . . . . . . . . . . . . . . . . . . . . . - 4 Alt-C . . . . . . . . . . . . . . . . . . . . . . - 4 Deception Key . . . . . . . . . . . . . . . . . . - 5 Special Functions . . . . . . . . . . . . . . . . . . - 5 F2 - Deception Screen Storage / Retrieval . . . . - 6 F3 - Screen Mode Alteration Facility . . . . . . . - 6 F4 - Time Delay Facility . . . . . . . . . . . . - 7 User Support . . . . . . . . . . . . . . . . . . . . . - 9 In Case of Trouble . . . . . . . . . . . . . . . . . - 10 What Is A Deception? A Deception is when the True Screen display has been replaced by the Deception Screen. The Deception Key is the key selected by the user to initiate a Deception. The Deception Screen (also called the Bogus Screen in the program) is the screen selected by the user to be displayed during a Deception. How Does It Work? Using Deceive Is Simple. 1. Type Deceive from the DOS prompt and hit the enter key 2. Select and press the key to be used as the Deception Key 3. Run any program to display the screen you want displayed during a Deception. 4. Hit Alt-C to capture the screen. 5. Run the program you really want to run. 6. Hit Alt-E to enable the Deception Key. 7. Hit the Deception Key to display the captured Deception Screen. 8. During a Deception, either hit the Deception Key immediately to return to your program or hit any other key to make changes to the Deception Screen. Use the arrow keys, enter key, and backspace key to move around the Deception Screen. During editing of the Deception Screen the Deception Key will revert to its normal function. Hit the Esc key to end editing of the Deception Screen and return to your program. F2 through F4 are used during a Deception to access several special functions. These functions will be described later. Compatibility Deceive is compatible with both the color and mono display adapter and will work simply with any program that uses BIOS to change display modes and obtain keyboard data. Programs that do direct writes to the screen buffer and take over the keyboard are a little trickier, but the special functions Deceive -1- Version 1.0 available during a deception make Deceive compatible with most of these programs too. One Small Problem And A Bonus There is one sequence of actions that must be avoided. If you install Deceive, hit Alt-E, hit the Deception key, hit F2, and load in a Deception Screen from disk, the system will hang when you return to DOS. I have no idea why. This problem only occurs if you want to load a Deception Screen from disk immediately after installation. Most users will probably never want to do this. If you do want to immediately load a screen, just hit any other key (the backspace is fine) before hitting Alt-E and everything will be fine. The bonus is, if you use Deceive with a game that doesn't allow you to reboot, you can initiate a Deception and reboot from there. No more turning off the power switch! System Requirements Deceive requires DOS 2.0 or greater and uses about 40K of memory. About Residency Deceive is a resident program. This means that once initialized, Deceive will remain in memory until the computer is turned off or rebooted. The memory used by Deceive (about 40,000 bytes) will not be available for use by other programs. How To Use Multiple Deception Screens If you feel like it, or have the need, it is possible to have more than one copy of Deceive installed and operative in memory at the same time. Most users will probably have no need to use this function and first time users may want to skip this section entirely for now. To install multiple copies, just follow the first four steps of the How Does Work section selecting a different Deception Key each time. If you install multiple copies, each installation will decrease the memory available to run other programs by about 40K bytes. If multiple copies are installed the Alt-E, Alt-C, and Alt-B keys of the previously installed copy will be disabled and the Deception key of the previously installed copy will be enabled. Being able to Deceive -2- Version 1.0 install multiple copies of Deceive, each with its own Deception Key, gives the user multiple Deception screens to choose from and allows flipping between Deception screens during a Deception (multiple Deception screens can enhance the realism of a Deception). Flipping between Deception screens takes a little practice because each Deception key can only be hit once. For instance, imagine that you have installed three copies of Deceive each with a different Deception Screen and Deception key. When the Deceivee (your boss, or whomever) appears you panic and hit the Deception key for the third copy. After peering intently at it for half a minute you decide you'd better change screens, so you hit the Deception key for the first copy. After another 30 seconds you decide to switch to the second copies Deception Screen so you hit it's Deception key. Now, all three copies have been activated. When you desire to switch back to Deception Screens one or three the natural tendency will be to hit their Deception keys. When you do that you will find that they don't do anything. To switch back to the previous Deception Screen you must end the current Deception (with either the Deception key or the escape key as described earlier). Ending the second installed copies Deception will take you back to the first installed copies Deception Screen. Then, ending the first copies Deception will take you back to the third copies Deception Screen. Ending the third copies Deception will take you back to your program. It sounds much harder than it is. Just try it, you'll get the hang of it. If you lose your place among the Deception Screens remember that hitting the escape key enough times will sooner or later end the Deception and return you to your program. Basic Key Definitions Deceive uses four keys to control its basic functions. They are: Alt-E Alt-C Alt-B Deception Key Alt-E The Alt-E key combination is used to enable and disable Alt-B and the Deception Key. When Deceive is first initialized Alt-B and the Deception Key are disabled. Pressing Alt-E enables these keys and sounds a low-high tone sequence. Pressing Alt-E again disables the keys and emits a high tone-low tone sequence. During a Deception hitting Deceive -3- Version 1.0 Alt-E enables or disables the Alt-E function. If disabled, the Alt-E key will no longer enable or disable the Alt-B key or the Deception Key. Alt-B When Alt-B is pressed the screen is blanked and the users program continues to run. This feature is useful for allowing a program to initialize while hiding its initialization screens and for using Shift-PrtSc to print off a screen without the screen being visible on the monitor. Hitting Alt-B a second time unblanks the screen and sounds a short beep. The Alt-B key is a toggle. Pushed once it blanks the screen. Pushed again it unblanks the screen and sounds a beep. Sometimes the computer will unblank a screen that has been blanked by Alt-B (generally after scrolling or clearing). There is no way for the Alt-B function to know that the screen has been unblanked. The next time Alt-B is hit it will unblank a screen that has already been unblanked. This is not dangerous, just potentially confusing. Alt-B beeps every time it unblanks the screen just to let you know that it thinks the screen needed unblanking Just remember, if you hit Alt-B to blank the screen and hear a beep, hit Alt-B again to blank the screen. The Alt-B key is enabled and disabled by the Alt-E key. The Alt-B key may also be enabled or disabled during a Deception by hitting Alt-B. Alt-C This key combination is used to capture Deception Screens. To capture a Deception Screen, run the program necessary to display the desired screen and hit Alt-C. The screen will be captured and a short beep will sound. Some programs which go around BIOS to access the screen buffer directly can are more difficult to capture screens from. Lotus graphs are one example. For these programs, when Alt-C is pressed the screen will display unreadable garbage. Don't Panic! Deceive has a facility that allows you to update BIOS and restore the screen to its original appearance. To restore the screen, follow the following steps: 1. Press the Deception Key to initiate a Deception 2. Press F3 3. Type T and hit the return key Deceive -4- Version 1.0 4. Type V and hit the return key 5. Select the most likely screen display mode from the list and hit the return key. 6. Hit the escape key to end the Deception. A complete description of the Screen Mode Alteration Facility will be provided later. Alt-C is not enabled or disabled by Alt-E. To enable or disable Alt-C initiate a Deception and press Alt-C. Deception Key The Deception Key is defined by the user and may be any key or any Alt, Shift, or Ctrl key combination except for Alt-E, Alt-C, or Alt-B. The Deception Key, when pressed, instantly saves the current screen and displays a screen previously selected by the user (this is known as initiating a Deception). If the user has not defined a screen to display during a Deception, a blank screen is presented. To end a Deception either hit the Deception Key immediately or use other keys to make changes to the Deception Screen, then hit the escape key. The Deception Key is enabled and disabled by the Alt-E key. Alternatively, the Deception Key may be enabled or disabled during a Deception by hitting the F1 key. Special Functions There are several special functions available only during a Deception. While there are many programs directly compatible with Deceive, several are not. These special functions can be used to make Deceive compatible with many of these programs. They functions are: F2 - Deception Screen Storage / Retrieval F3 - Screen Mode Freeze Facility F4 - Time Delay Facility To access these functions press the appropriate F key during a Deception. When using any of these functions hitting the escape key will immediately exit the function and return you to the Deception Screen. The backspace key may be used to correct entry mistakes. If a variables current value is displayed, hitting the return key without typing a selection will leave the current value unchanged. Deceive -5- Version 1.0 F2 - Deception Screen Storage / Retrieval This facility allows Deception Screens to be saved to disk or recalled from disk. The user must select a file name and the desired action (save or retrieve). The last file name used is displayed. Hit the enter key to reuse the name or any other key to enter a new name. If, after entering a new name, you decide to reuse the old name, use the backspace key to move the cursor as far left as it will go and hit the return key. Paths may be used in the file name. After entering the desired name you must select the desired action. Type S and hit the return key to save the Deception Screen to disk. Type R and hit the return key to retrieve a Deception Screen from disk. If you hit the return key without typing S or R the last action performed that is displayed just to the left of the cursor will be repeated. When you hit the return key the Deception Screen will be saved or recalled and you will be returned to the Deception Screen. If an error occurrs (full disk, invalid file name, file not found, etc.) an error beep will sound and you will be returned to the Deception Screen. F3 - Screen Mode Alteration Facility The IBM-PC has several display modes. Available modes include 40 column or 80 column alphanumerics, low resolution graphics, and high resolution graphics. Deceive must have accurate knowledge concerning the current screen mode to return from a Deception, capture the screen (Alt-C), or blank the screen (Alt-B). Deceive receives its information from BIOS. If BIOS does not know the current mode being used, Deceives information will be incorrect. When this happens capturing a screen, blanking the screen, or returning from a Deception will result in the True Screen being set to a different mode than it was before. This usually will cause the screen to display odd loking, unintelligable garbage. The Screen Mode Alteration Facility allows Deceive and BIOS to be updated and can restore the true screen (or the Deception Screen) to its proper appearance. After pressing F3 during a Deception the True Screen or the Deception Screen must be selected for alteration. Then it must be decided whether the mode is to be frozen or variable. If the mode is frozen, Deceive will ignore BIOS when performing any future action on the selected screen. If the mode is variable, Deceive will use the mode you select when it returns to the Deception Screen or True Screen but will use BIOS to determine the mode for future Deceptions, captures, or blanks. The final choice is the mode to be used. For reference, a list of the modes supported by BIOS is displayed. If you Deceive -6- Version 1.0 are using the monochrome Display Adapter no matter which mode you select, BIOS will use mode 7. If the Color Diplay Adapter is being used, DO NOT select mode 7. This mode is for mono displays only. If you wish to change whether the mode is frozen or variable without altering the mode, just hit the return key or type 8 and hit the return key. Once all the variables have been entered, Deceive updates the mode accordingly and returns to the Deception Screen. You should be aware that a very small number of programs use a non-standard graphics mode which BIOS and Deceive are incapable of duplicating. For these programs select the IBM low resolution color graphics mode. This mode will not display the entire non-standard screen, but works fine in an emergency. As more information becomes available, the modes supported by Deceive will be expanded. The Screen Mode Alteration Facility is fun! If you have a color display adapter and wish to experiment, try capturing a screen, initiating a Deception, and altering the mode of the Deception Screen. Each of the available types of mode (80 column vs. 40 or graphics vs. alphanumeric) will reinterpret the screen data to give the Deception Screen a different appearance. F4 - Time Delay Facility Deceive operates by directly taking over the IBM-PC's keyboard. Many game programs also take over the keyboard. When this occurs, Deceive will no longer operate. The Time Delay Facility provides a means by which Deceive can regain control over the keyboard. When activated, the Time Delay Facility will wait the specified time period and check to make sure that Deceive is in control of the keyboard. If Deceive is not in control, the Time Delay Facility gives it control and issues a beep to let you know Deceive is operative. At the users option, the delay and check will be preformed either once or continuously. First, the Time Delay must be activated or halted. Type R to activate the delay or H to halt the delay and hit the return key. If you're activating the Delay the delay time will not start until the Time Delay Facility is exited. Next, the user must decide if a single delay period and check is needed or if multiple checks are required. Some game programs, like the public domain Stargate, retake control of the keyboard occasionally. The Multiple Checks mode works nicely with such programs. Finally, the Delay Period must be entered. At present, the delay period is entered in units of system clock ticks. Clock ticks occur at the rate of 18.2 per second. It is recommended that at Deceive -7- Version 1.0 least a 1 second delay (delay value of 18) be used to minimize system overhead. In practice, a value of 255 (14 seconds) works well with most programs. This usually allows enough time to get the program fully initialized before the first time delay expires. After the Time Delay is typed hit the return key to enter the value and return to the Deception Screen. If the Timer Run option was selected the delay period begins the instant the Time Delay value is entered. There are a few rare programs that are incompatible with the Time Delay function. These programs, like the public domain SI.COM (Space Invaders), lock up after the delay period has expired. The only way to determine compatibility is by experimenting. If a program requires that the Time Delay Facility be used, it is possible (but unlikely) that when the program is ended the keyboard will lock up if any key is hit other than the Deception Key. Why? The Time Delay Facility gave Deceive control over the keyboard while a program was running. When a key is hit Deceive checks to see if the key is one it cares about (Alt-E, Alt-B, Alt-C, or the Deception Key) then passes control back to the program you're running. Deceive has no way of knowing that you ended the program. When you end the program, if the next key you hit is not one of Deceive's keys, Deceive will pass control to a program that is no longer there. The results are unpredictable. The only way to avoid this is to initiate a Deception immediately after exiting the program. During the Deception, reboot. To date, no program has been found where this problem has occurred. Most game programs which require the use of the Time Delay Facility require that the system be rebooted or turned off to exit. If this potential problem arises, let me know. Deceive -8- Version 1.0 User Supported Software For those who have never been exposed, User Supported Software is a distribution concept begun by Andrew Fluegelman with PC-Talk. It is based on the assumption that if a user gets a chance to try a program and likes it, he or she will voluntarily contribute to the support of the program. Users are usually encouraged to copy and distribute User Supported programs freely. Deceive is being distributed as User Supported Software. If you're using Deceive and like it (or if it's saved your job!), and you want to contribute to its further improvement, please send $5.00 (dirt cheap!) to: Carl Burtner 435 Brandon Road Rochester, NY 14622 Contributors to the program will be informed by mail of the availability of new revisions. Your voice makes a difference! Major revisions will probably not be undertaken without positive user response. You are encouraged to make as many copies of Deceive as you like and to distribute unmodified copies of the program and documentation to whomever you choose. If you have questions, suggestions, or problems with Deceive, please feel free to contact me. Deceive -9- Version 1.0 In Case Of Trouble (a statement of sympathy for the disturbed) Deceive has been tested for compatibility with as many different computers and software packages as possible. However, not every PC-compatible computer could be tested with every available software package. Also, no matter how much testing is done, no program is totally bug free. You use this program at your own risk. If you lose data or blow your system it's your lose, even if Deceive is at fault. I assume no responsibility other than the courtesy of a sympathetic ear. Deceive attempts to outguess the way most programs will operate and gives you some powerful and perhaps deadly tools to fight with. With a program of this type it is impossible to guarantee compatibility with all other programs. Deceive works with most programs and is totally incompatible with some. Thats the most you can expect. I think it does a pretty good job. I hope you will too. ------------------------------------------------------------ This disk copy provided as a service of The Public (Software) Library the software library of The Houston Area League of PC Users For a copy of the latest monthly software library newsletter and a list of the 600+ disks in the library, call or write The Public (Software) Library P.O.Box 35705 Houston, TX 77235-5705 (713) 721-6104 Newsletter subscriptions are available for $12 a year. ------------------------------------------------------------ Deceive -10- Version 1.0