Lockdown v1.7          12/2/99
by Cassady Roop
Assembly program that password locks and memory-locks a TI-86 calculator.


FEATURES
-Password locks calculator, so unauthorized users cannot turn it on without a password.
-Locks out the MEM:DELETE, MEM:RESET, and self-test screens, so programs can't be deleted.
-Alerts you if another program has tampered with the memLock, and allows you to repair the damage.
-Simple, easy to use control interface.
-All program features (except viewing current status) are password locked.
-Can be enabled/disabled without uninstalling, and MemLock can be turned on and off independently of password lock.
-Activates each time calculator is turned on, even after an APD (AutoPowerDown).
-Incorrect password simply results in calc turning off again.
-Password can be changed without uninstall.
-Supports passwords of up to 15 characters.
-Password is resident on host calculator only-- if you give the program to someone, it will not lock their calc with your password, unlike many other lockout programs.




INSTRUCTIONS
1. Download .86p file to calc.
2. Run with the command "ASM(Lockdown)", or through a shell.
3. Press F3 key to install.
4. Enter and confirm password of your choice.  All keys except for ENTER (commits the password), EXIT (cancels), and ON may be used in the password.
5. To change password, press F3.  To uninstall, press F2.  To change the status (enable, disable, Memlock on/off), press F1.

REMEMBER YOUR PASSWORD!  The only way to recover your calculator's funcionality in the event that you forget your password is to remove all five batteries.  This is a last resort, as it will also delete all programs and variables on the calc as well.  In previous versions the next to last resort was to pull a battery at the password prompt, and it would crash to the homescreen.  There you could delete the program.  But in this version, there is _no_ way to disable it without pulling batteries, because this version includes a memory lockout feature as well.




KNOWN BUGS IN CURRENT VERSION
Compatibility--  Lockdown's memory lock may cause problems with programs that store dynamic information in program memory.  If a program acts strangely, disable the memLock and see if it fixes things.  I know that my programs IPwizard 1.2 and TriBase 1.2 both work incorrectly while the memLock is running.

I tested this on an emulator and a real calculator, both ROM version 1.3.  Please visit http://ti86prgm.freeservers.com/bugreport.htm to report any bugs you find.  




HISTORY
1.7 - The key input system has been greatly simplified, cutting size in it and in parts that make use of it, dropping the total size by 171 bytes and improving speed at the same time!  The 2ND and ALPHA keys can now be used in the password, and a version 1.6 problem where occasionally, on exit of the program, the second/alpha keys would not respond, has now been fixed.

1.6 - Fixed a bug that allowed you to enter ALPHA-lock keypresses in the Ctrl and Pass menus, but not in the install and password lock requests.  Now you can't use 2nd and ALPHA anywhere in the program at all, but it doesn't cause bad things to happen if you do; it just ignores those keys.  A related bug that crashed the calc if Lockdown was uninstalled, then reinstalled, has also been fixed.  A compatibility issue (see above) was discovered, but cannot be helped.

1.5 - Fixed a version 1.4 bug that crashed if the calc was turned off during a password request too many times.  It also crashed if the incorrect password was entered too many times.  Doesn't happen any more, I am happy to say.  I think I've finally killed all the bugs in this program... I hope.

1.4 - Fixed a version 1.3 fatal bug that crashed the calculator after a while.  Lockdown now alerts if the memLock has been tampered with or overwritten by another program, and advises you to reinstall.  Several other programs for the TI86 that install hooks will overwrite the memory lock if they are used;  Lockdown now warns you that your memory is vulnerable.  You choose whether to keep the other program or to reinstall Lockdown, though;  Lockdown will not repair itself unless you tell it to.

1.3 - Added a memory lockout feature.  Lack of menu space forced me to group all four status change operations (enable, disable, memlock on/off) under a submenu.  Small optimizations.

1.2 - Enable/Disable functions are now password locked like the other Lockdown controls.  Small optimizations.

1.0 - First release version.

.9 - Mostly works.  Doesn't crash anymore.  Now activates after an APD shutdown as well.

.5 - Embarassing.  Crashes.  APD screws it up.  Source code appears to have been written by a monkey on LSD.


THE FUTURE OF LOCKDOWN- planned improvements
>> Better looking status control screen.
>> Add an option to set a text message to be displayed with the startup password prompt (like 'property of...' or 'get away from my calc!').


This program was beta tested by KptKill, who is responsible for initiating the vast majority of Lockdown improvements due to his innate ability to find hidden bugs that I could've sworn weren't there before.  Thanks.

Questions, comments, and bug reports (I hope to be hearing few of those!) may be sent to the author at the email address listed below.  Flames may be sent to wgates@microsoft.com.  Bug reports may also be submitted on the form at ti86prgm.freeservers.com/bugreport.htm .

email: croop@oregontrail.net
website: ti86prgm.freeservers.com