This file contains documentation on how to install the 'Panel Display System' for OS/2 V2.x. Installation of the 'Panel Display System' shareware package and the inclosed demonstration programs is simply a matter of using a program capable of extracting files stored in the "PKZIP" format and either copying some of the files to other directories or by adding the directory containing these files to various "CONFIG.SYS" statements. The fastest way to install 'PDS' in order to be able to execute the demonstration programs is to simply create a directory and to unzip the distribution file "HSSPD.ZIP" into that directory. The demonstration programs can be run from that directory by opening an OS/2 "Command Line Window" from the "Command Prompts" folder, changing to the directory containing these files and then executing the demonstrations. The following demonstrations are available: LOAN.CMD - A sample 'Simple Interest Loan' calculator. This is a REXX script that uses the REXX interface for the PD system known as the 'rxPD' interface. This script uses the "HSSPD.DLL" dynamic link library, which contains the rxPD REXX extensions and the 'Panel Definition Library' file, "LOAN.PNL". LOAN.EXE - A sample 'Simple Interest Loan' calculator. This is an executable file that uses the PD system's 'High Level Language' interface. It is identical in function to the "LOAN.CMD" command file and uses the same "HSSPD.DLL" and "LOAN.PNL" files. PDEDIT.CMD - A simple interactive text editor. This is a REXX script like the "LOAN.CMD" file which demonstrates the power of the 'Panel Display System'. It is a fully functional editor in that it will save any changes or create any file requested. UGUESSIT.CMD - A game where you try to guess a 4 digit number. Another REXX script which uses the "UGUESSIT.PNL" panel library. Lots of fun! (07/05/94 - The UGUESSIT game has been split into a separate package in order to reduce the size of this shareware package.) BOUNCE1.CMD/BOUNCE2.CMD - Demonstrations of simple character animation. SNAKE1.CMD/SNAKE2.CMD - Demonstrations of more complex character animation. The "SNAKE2.CMD" script is the more complex of the "BOUNCE" and "SNAKE" scripts. Use the "/H' operand in order to display some help information on the available options. CAVEAT - There is a "BUG" in OS/2 2.1 that can have a severe impact on your system if you run any of the "BOUNCE" or "SNAKE" scripts in an OS/2 "FULL SCREEN" session and then press either "Alt+ESC" or "Ctrl+ESC" to get back to the OS/2 "Desktop". The bug is in OS/2's "Schedular". What happens is that the "BOUNCE" scripts and the "SNAKE1" script will consume about 99.99% of the available CPU cycles. The 0.01% available to all other process is simply because these scripts call "BEEP" which gives all other processes about 1/400th of a second to execute. The "SNAKE2" script runs in "QUIET" mode by default. This means that it can consume 100.00% of the CPU if run in "FULL SCREEN" and switched to the background. This bug is not present in OS/2 2.0 and it is fixed by the latest OS/2 2.1 "Corrective Service Diskettes" (CSD). To repeat, this is a bug in OS/2, not in the "Panel Display System" nor these demonstration scripts. In order to make the 'Panel Display System' accessable to all PDS applications which you or others might develop, all that is necessary is that the "HSSPD.DLL" file be located in a directory listed in the "LIBPATH" statement in the "CONFIG.SYS" file or that the directory containing "HSSPD.DLL" be added to the "LIBPATH" statement. In order to make the demonstration files accessable from any directory in an OS/2 "Window", you can either copy the files to other directories or you can add the directory containing these files to the "PATH" statement and the "DPATH" statement. The '.CMD' files and the '.EXE' files should be in a directory listed by the "PATH" statement in the "CONFIG.SYS" file. The '.PNL' files should be in a directory listed by the "DPATH" statement in the "CONFIG.SYS" file. OS/2 searchs the current working directory and then the directories in the "LIBPATH" statement of the "CONFIG.SYS" in order to find the 'Dynamic Link Library' file "HSSPD.DLL" needed by PDS applications. The 'Panel Display System' first searches the current working directory and then the "DPATH" environment variable for the '.PNL' files required by PDS applications. To test for a proper installation of PDS, there is an "Installation and Verification Procedure", or IVP, provided with this version of PDS. The IVP is contained within the "IVP.CMD" and "IVP.PNL" files. This IVP simply defines the PDS REXX extensions to OS/2 and attempts to display a panel. The IVP panel will display the expected PDS version and release numbers and the same values as defined by the REXX PDS initialization routine. There are four possible errors tested by the IVP. 1. Unable to define the HSSPD.DLL routines as REXX extension routines. 2. Conflicting routine names between PDS and some other REXX extension. 3. Unable to initialize a single instance of the REXX PDS subsystem. 4. Unexpected version number. The possible reasons for the errors are: 1. The HSSPD.DLL is not in the current directory or in one of the directories defined by the 'LIBPATH' statement in 'CONFIG.SYS'. 2. The PDS system was defined as a REXX extension but the attempt to execute the rxPDInit routine failed with 'Function not found'. This means that a function defined as 'rxPDLoadFuncs' was previously defined by some other REXX extension package. 3. The PDS system was properly defined as a REXX extension but the execution of the rxPDInit initialization routine indicated a problem finding or parsing the "IVP.PNL" file. This file should be in the the current working directory or one of the directories defined by the 'DPATH' statement in 'CONFIG.SYS'. 4. The IVP retrieved the PDS version and release number from PDS and displayed it on the screen but the retrieved values do not match the hardcoded values on the IVP panel. This is probably caused by a previous version of HSSPD.DLL already in use or defined to REXX. OS/2 uses DLLs which are already in use before search the 'LIBPATH' directories for a required DLL. If a previous version of HSSPD.DLL is already in use, end all applications which are using PDS and exit all OS/2 windowed and full screen sessions. This will release all referrences to the DLL and force OS/2 to again search the 'LIBPATH' directories. Note, if your 'LIBPATH' statement does not contain a referrence to the current working directory, OS/2 may again find the older version of HSSPD.DLL. In this case, modify the 'LIBPATH' statement by adding a '.;' CWD referrence or by referrencing the new PDS directory or replace the older HSSPD.DLL with the newer version in the original PDS directory. Feel free to modify the demonstration REXX PDS scripts, but please do not redistribute this package with any changes you may make. Unregistered versions of the 'Panel Display System' are detected and a PDS copyright/registration panel is presented once per day when any PDS application is executed for the first time that day. If the first application executed after installation of this system is the IVP, the PDS registration panel will be the first panel displayed. To continue execution of the IVP and all other PDS samples or applications, simply press the escape, 'ESC', key. The PDS registration panel will not be displayed again until the next day and only when a PDS application is executed. Registered customers should enter their registration number, whenever the PDS registration panel is presented, as per the instructions received with their registration acknowledgement letter. This will suppress the PDS registration panel until such time as OS/2 is reinstalled or a previous backup of certain OS/2 system files are restored. At that time it will be necessary to reenter the registration number. If a new version, not a new release, of PDS is installed, a new registration number will be required as per the shareware agreement. If after having decided that the PDS package does not prove to be a useful addition to OS/2, the REXX script "REMOVE.CMD" can be executed to remove information about PDS from the OS/2 system files. This script does not delete any files or directories nor does it modify the OS/2 "CONFIG.SYS" file.