Subject: HP48 G Series CODELOCK, Library 873, version 1.3 This new version is meant to correct a problem associated with DISP.CODE customization. When turned on in the protected mode, the CANCEL ( ON ) key could abort the CODELOCK procedure. The problem occurred when the user program DISP.CODE executed the System RPL command CK0ATTNABORT, which aborts program execution if a CANCEL is detected. Note that key presses for the entry code are not valid until the busy annunciator is turned off. VERSION HISTORY: 1.2 Allowed the user to customize the display during the turn on procedure ( See OFFLOCK description ). 1.3 Disabled abort by means of CANCEL ( ON ) key during turn on procedure for DISP.CODE customization. Used busy annunciator to indicate readiness for code entry during turn on procedure. DESCRIPTION This library for preventing unauthorized entry into your HP48 G Series calculator is based on the CODELOCK Library written by Scotty Thompson for the S Series. The library will also set the flags to the user's preferences upon a system restart. The entry code is five ( 5 ) keypresses. If an alarm wakes the HP48 while in a protected mode, the calculator will be turned off and remain in a protected mode. The protected mode will not be entered upon a normal time-out. The entry code and flag settings are written into the library itself. Thus at first, CODELOCK is installed in order to customize a CODELOCK library with the user's entry code and flag preferences. The original is purged and the customized copy is installed. INSTALLATION/SETUP: Back up memory. Store original library into port 0. Turn off calculator, then turn it back on. Set flags to your preferences. :0:873 RCL 873 MENU SETLOCK SETFLAG HOME :0:873 DUP DETACH PURGE Store customized library into port 0, 1, or 2. CODELOCK may be stored in a RAM card so that the card becomes code-locked. COMMANDS: OFFLOCK ( no_arguments -> no_outputs ) Turns off the calculator in a protected mode if an entry code has been set using SETLOCK. Assign to the OFF key with: << OFFLOCK >> 91.3 ASSIGN. OFFLOCK looks for the variable DISP.CODE. If not found, then the standard message "Key Entry Code:" is displayed. If found, then the standard message is not displayed, and DISP.CODE can be used to customize the display. DISP.CODE must be completely responsible for the display. It can use graphic objects and/or strings as the user sees fit. A simple program stored in DISP.CODE ( typically in the HOME directory ) would be, << "This calculator belongs to Juan A. Keepit" 1 DISP >> When turned on in the protected mode, the HP48 takes a moment to initialize itself. Key strokes for the entry code are not valid until the busy ( hour glass ) annunciator has been turned off. SETLOCK ( Library_873 -> Customized_Library_873 ) Writes Entry Code into CODELOCK Library. Takes a sequence of five (5) keypresses excluding the ON key. Combination keypresses are allowed. For example, holding down the RIGHT-SHIFT, pressing and releasing ENTER, then releasing RIGHT-SHIFT would count as three key entries: ( RIGHT-SHIFT, RIGHT-SHIFT+ENTER, and RIGHT-SHIFT ). SETFLAG ( Library_873 -> Customized_Library_873 ) Writes flag configuration into CODELOCK Library. These flags are set upon a system restart or by the cfg command. cfg ( no_arguments -> no_outputs ) Configures flags as set by SETFLAG. If SETLOCK has not been used, then the default settings are used. CODELOCK SECURITY When turned on in the protected mode, it is possible for a brief moment to do a Memory Reset ( ON+A+F ). WARNING This library contains XLIB's whose location within the library should not be changed. This library was tested on an HP48 GX rev P. Thanks to Scotty Thompson for the original version of CODELOCK. Thanks to Detlef Mueller for his CONFIG Library. Todd Eckrich (mte@delphi.com) 1428 Oaklanding Road Mount Pleasant, SC 29464 803 881-8781