Metropoli BBS
VIEWER: hplock31.doc MODE: TEXT (ASCII)
HPLOCK31.DOC

  NOTICE: Program HPLOCK.LIB and documentation HPLOCK31.DOC are
          copyright (C) 1995-96 Ludvik Krulik, all rights reserved.

          This version of HPLOCK is NOT public domain or free
          software, but is being distributed as SHAREWARE.

          You are granted a limited license to use this shareware for
          a two week evaluation period. If after the two week
          evaluation period you determine that HPLOCK meets your
          needs, you are required to register HPLOCK.

          If you distribute this software to others, you are required
          to distribute the entire unmodified package (ZIP file).
          Commercial use of this material is not allowed without prior
          permission from the author.


  WARRANTY:  Following library works ONLY on G/GX series HP48
             calculators. It contains unsupported code. Even though it
             has been extensively tested on various ROM revisions,
             USE AT YOUR OWN RISK.

             THIS SOFTWARE IS PROVIDED WITHOUT ANY WARRANTY. AUTHOR
             SHALL NOT BE LIABLE FOR ANY DAMAGES RESULTING FROM THE
             USE OF THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO, LOSS
             OF PROFIT, DATA OR USE OF THE SOFTWARE, OR INDIRECT,
             SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR OTHER
             SIMILAR CLAIMS.


  NOTE TO HACKERS: This program is shareware. If you can take it apart
                   and remove shareware pause, keep this to yourself.


             If you have any questions, suggestions or bug reports,
             e-mail me at Ludvik.Krulik@snet.fer.uni-lj.si


    WARNING: *********************************************************
             * DO NOT DISTRIBUTE THIS LIBRARY WITH PASSWORD ALREADY  *
             * SET SINCE IT WILL !!!!IMMEDIATELY!!!! LOCK HP48 IT IS *
             * INSTALLED IN. THERE IS NO WAY TO BREAK THE LOCK       *
             * WITHOUT LOOSING ALL YOUR MAIN MEMORY (UNLESS YOU HAVE *
             * A PASSWORD)                                           *
             *********************************************************





    1. Overview

       HPLOCK v3.1 = HP48 LOCKing program.

       HPLOCK consists of four commands:
       - HPLOCK, locks your HP48 with password,
       - SECURE, encrypts and stores away HOME with sub directories,
       - SETPASSWD, sets/changes password,
       - ABOUT.

       Note: HPLOCK is a bit tricky to install so please follow
             instructions carefully if you're not experienced HP48
             user. Password is written directly into HPLOCK library.





    2. Revision history

      - Version 1.1:
        * Fixed bug: During turn on period, key scanning was enabled
          so ON+A+F with Recover Memory unlocked HP48.
      - Version 3.0:
        * Fixed bug: If you ran DBASE and few other programs after
          SECURE, HP48 crashed.
        * Added customizable display.
        * Added code to prevent keyboard autorepeat when entering
          password.
        * Fixed bug: SETPASSWD accepted empty password.
        * Fixed bug: you could execute SECURE even without password.
        * Added handling of 'Recover Memory?' + [YES].
      - Version 3.1:
        * SECURE doesn't require password anymore to encrypt HOME.





    3. Using HPLOCK library

    3.1 How to install HPLOCK and set password

    3.1.1 For HPPORT v3.1 (binary or library - ID 1505) users:

        - Send library from PC via XModem, run HPPORT, (set I/O to
          wire and select source port) and press [A. 'V]. Wait until
          transfer has finished. I suggest storing library it in port
          0 since RAM cards can easily be removed.
        - Press CANCEL or ENTER.
        - Run HPPORT again, select HPLOCK, press [RCL] and ENTER.
        - Press [SETPA].
        - Enter password twice.
        ! Password can be up to 10 keystrokes long.
        ! Shift keys are treated as keystrokes.
        ! You can't use ON as keystroke.
        ! After entering password you have to press ENTER.
        ! If everything was OK, you should see message: "Password
          Set". It means that password was written into library on the
          stack. Therefore, library has been modified.
        - Store library from the stack into a dummy variable.
        - Warmstart HP48 (ON+C).
        - Run HPPORT, select HPLOCK library and press [PURG].
        - Press [->PRT], select dummy variable and press ENTER.
        - Optional: Make a backup copy of modified library on your PC
          and clearly mark it as modified: Press LeftShift+[A. 'V]
          and issue XModem receive on PC. Wait until transfer has
          finished.
        - Press CANCEL or ENTER.
        - Purge dummy variable.



    3.1.2 Standard

        Note: << ... >> is user RPL program. Put in on stack and press
              EVAL to execute it. Example assumes port 0.

        - Download library in one of HP48's ports. I suggest storing
          it in port 0 since RAM cards can easily be removed.
          << 'DUMMY' XRECV 'DUMMY' RCL 0 STO 'DUMMY' PURGE >>
        - Warmstart HP48 (press ON+C).
        - Recall HPLOCK library on stack level 1.
          << :0:1503 RCL >>
        - Run SETPASSWD.
          << SETPASSWD >>
        - Enter password twice.
        ! Password can be up to 10 keystrokes long.
        ! Shift keys are treated as keystrokes.
        ! You can't use ON as keystroke.
        ! After entering password you have to press ENTER.
        ! If everything was OK, you should see message: "Password
          Set". It means that password was written into library on the
          stack. Therefore, library has been modified.
        - Store library from the stack into a dummy variable.
          << 'DUMMY' STO >>
        - Optional: Make a backup copy of modified library on your PC
                    and clearly mark it as modified.
        - Warmstart HP48.
        - Purge original library.
          << :0:1503 DUP DETACH PURGE >>
        - Install modified library from a dummy variable into one of
          the ports and purge dummy variable.
          << 'DUMMY' RCL 0 STO 'DUMMY' PURGE >>
        - Reset HP48.



    3.2 How to lock your HP48

       - Press LOCK from HPLOCK menu. This also turns HP48 off.

       Notes:
         - While HP48 is locked, all activated alarms are prevented
           from executing. They are not deleted though. If alarm turns
           HP48 on, it is immediately turned off.
         - HP48 timeout is set to 10 seconds.
         - If someone has been tampering with your HP48, you should
           see a note on the bottom of the screen saying: "Wrong
           Password".
         - If alarm went off while HP48 was locked, you should see a
           note on the bottom of the screen saying: "Alarm went off".
           You should check your alarm list.
         - You can't break the lock by pressing ON+XX combinations or
           by resetting through a hole under the rubber foot. HPLOCK
           even handles 'Recover Memory' + [YES] situations.
         - If a thief wants to steal your HP48, there is no library in
           the world that could prevent him from using it. There is no
           cure against removing batteries or RAM cards :( However,
           there is a shorter way to get in than to wait half a day
           for the capacitor to discharge after removing batteries.
         - HPLOCK creates 'HPLOCKpar' in hidden directory. If you
           delete it, HP48 will lock up on next warm start (ON+C).
         - For 'optimum performance' assign LOCK to a key (I suggest
           CONT if you have no use for it).
           If you are using HPSTACK library (1502), you can take
           advantage of it's entry mode sensitive user keys.



    3.3 How to change password

       - Procedure is the same as with 2.1 except that you have to
         enter old password first.



    3.4 Customizing display

       * Put you message in form of a string in 'HPLOCK.USR' variable
         in HOME directory. (you can use newline characters to
         separate lines of text)
       * LOCK displays only first six lines of a string.



    3.5 SECURE program

       If you have a lot of personal information in your HP48, it's
       difficult to lend your calculator to a friend, especially if he
       (she) is an experienced HP48 user. This command solves the
       problem:

       - Running SECURE first time:
         * HOME, it's sub directories and hidden directory are
           copied into a single object and encrypted.
         * The rest of the memory is CLEARED and HP48 issues warm
           start.


       - Running SECURE second time:
         * After entering password, all your variables should be
           back and ready.

       Note: While your HOME is secured, your friend is free to run
             programs and create variables. Of course, they will be
             wiped out after you restore HOME to it's previous
             state.

       Note: This command hasn't been extensively tested, so be
             warned.





    4. Credits

      Thanks to the following people for suggestions and beta testing:

        Francois Vignon (100333.700@compuserve.com)
        Andrej Sila (asil@ltk6.fer.uni-lj.si)
        Erik Wever (ew@p20.wharfrat.fido.de)
        Makoto Miyamoto (Makoto.Miyamoto@rz.ruhr-uni-bochum.de)





    5. Information about library

       - Version: 3.1
       - Library ID: 1503
       - Size: 1977.0 bytes
       - Checksum (with empty password): #9C5Eh





    6. Registering information

      If you decide to register this program, you will
        * receive the latest version without "SHAREWARE PAUSE" message
          via Internet e-mail, uuencoded.
        * receive future upgrades free of charge via Internet e-mail,
          uuencoded.

      You can register more than one program.
      If you decide to register three or more, registration fee is for
      three programs only.

      Payment method: In cash, US$ only.

      Registration form:
=====================================================================

  TO:                                     Date: _____________________
             Ludvik Krulik
             Sela 49a, 8257 DOBOVA
             SLOVENIA
             Ludvik.Krulik@snet.fer.uni-lj.si
  FROM:
        Name: _______________________________________________________

     Address: _______________________________________________________

     Country: _______________________________________________________

     Internet E-mail address (obligatory) :

     ________________________________________________________________

  ORDER:

     HPTODO v3.1 ........................................ (5 US$) [ ]
     HPAPPA v3.0 ........................................ (5 US$) [ ]
     HPCALENDAR v3.1 .................................... (5 US$) [ ]
     HPLOCK v3.1 ........................................ (5 US$) [ ]
     HPPORT v3.1 ........................................ (5 US$) [ ]
     ================================================================
     TOTAL (three if more than three checked)..............__ x 5 US$

=====================================================================

[ RETURN TO DIRECTORY ]