SUCKER's WELCOME PASSWORD PROGRAM V4.2
--------------------------------------

Author:               SUCKER (Pieter Van Nuffel)
E-mail:               sucker_pvn@hotmail.com
Homepage:             www.maxpages.com/suckerworld :the smallest and crappy'st site on the world!!
Version:              4.2
First public release: 07/02/2001 (february!)
Last modified:        25/10/2001
Platform:             TI-OS
Language:             TI-83 assembly
Size:                 AWELCOME:  43 bytes       run this program
		      ZSUCWELC: 355 bytes       z80 code
		      ZASMLOAD: 224 bytes       asm loader
		      CONFIG:    32 bytes       choose your keys
		      ZCONFIG:  587 bytes       z80 code
		      SCONFIG:   34 bytes       choose your keys (see NOTE:)
		      ZSCONFIG: 588 bytes       z80 code (see NOTE:)

This program will protect your Ti-83 with a password. It shuts down the 
calculator and when you turn it on again, you have to press your password
keys, and then you enter the Ti-OS. If somebody doesn't know the code, 
the Ti-83 shuts down again after seven keypresses and the loop restarts. 
The keys are by default <SIN> <COS> <TAN>, but you can choose your 
personal keys with prgmCONFIG. When you copy the program to somebody else, 
these keys stay the same. If no keys are pressed for a while, the calc 
will APD (=auto power down).

With prgmCONFIG, enter the keys you want as the password. You can take
one to seven keys. If you want to take less then seven keys, enter the 
keys you want, followed by <CLEAR>, then choose "2:stop". When you want 
<CLEAR> as one of the password keys, choose "1:as a key". Once you have 
chosen the keys, you can delete prgmCONFIG & prgmZCONFIG.

Make sure to take a look at zbatres in the batres folder!
Versions 3.0 to 3.2 are able to crash, so DO NOT USE THEM ANYMORE!!!!!
Don't say you didn't knew it!!


NOTE
----
The chance isn't big that a certain program would also use the name 
"prmgZSUCWELC" or "prgmAWELCOME". But CONFIG & ZCONFIG is frequently used.
So if you want to use a program which uses one of those names on your calc,
use prgmSCONFIG & prgmZSCONFIG instead of the regular ones. BUT! These two 
work in pairs, so you can't use SCONFIG & ZCONFIG or CONFIG & ZSCONFIG together!!


HISTORY
-------

07/02
suckerwelcome v1.0
-the program crashes all the time because I couldn't reset 
 the state of the ON-key
-I've put the not-working program on ticalc.org and asked
 for help

08/02
suckerwelcome v1.1
-the program works fine thanks to z3FX
-the keys are <STO> <PLUS> <MINUS> (but not anymore!)
-the Ti-83 shuts down after a single wrong keypress

10/02
suckerwelcome v1.2
-the first day on school somebody already finds the password,
 so I came up with something else
-the Ti-83 shuts down after 3 keypresses, so it's harder to 
 find the password
-the first byte in ZSUCWELC was a :, so sos recognised it as
 a sos program, now I corrected that

11/02
suckerwelcome v1.3
-when you enter the Ti-OS, the version of the program is
 displayed at the bottom

24/02
suckerwelcome v1.5
-I boosted the version number to 1.5 because now you can choose
 the keys
-the romcall _getkey was used to get the key input, but with this
 method you could turn the calc off and disable the meaning of the
 program, although Ti-83 could crash
-I wanted to make a program (like config with NOPROGS from Ian Graf)
 but it was too hard for me then

15/03
suckerwelcome v1.6
-the romcall _getk is now used to prevent that you can turn off
 the calc
-I encountered some problems with shutting the calc down, it
 seems that you can't use call _getk after shutting the calc
 down because the screen doesn't turn off
-I included the program GETK 1.0 to see what values the keys
 have with the romcall _getk

13/05
suckerwelcome v2.0
-I boosted the version number to 2.0 because I made a config
 program that saves the keys for you, instead of a list you
 have to make yourself
-goodbye list SUCWE!! Now the values of the keys are stored
 in prgmZSUCWELC itself

15/06
suckerwelcome v2.1
-I asked Ian Graf for some help, and now I have borrowed some 
 code from NOPROGS 1.2: with prgmCONFIG the keys are displayed
 when you press them
-made the programs smaller and faster

27/06
suckerwelcome v2.2
-I made something like APD for saving power and some other reasons
-made the program faster
-I reviewed the text above and improved it a little bit
-fixed a bug
-made the program a lot smaller: -187 bytes for prgmCONFIG

30/06
suckerwelcome v2.3
-I reviewed the shutdown piece and I discovered almost everything was useless,
 so I threw that away
-instead of call _getkey now halt is used after the shutdown.
 now it's impossible to break in!!! (with call _getkey you can use <2nd>+<OFF> and
 let the calc crash a little bit, then you can enter the TI-OS, and this is the thing
 my program should prevent!)

17/07
suckerwelcome v2.4
-I added the module ZBATRES to show how much battery-life is left
-I improved the prgm writeback from ZCONFIG

28/07
suckerwelcome v3.0	!!! this version could crash !!!
-choose your own amount of keys (up to seven keys!)

22/08
suckerwelcome v3.1	!!! this version could crash !!!
-explanation of all z80 source
-prevent prgmZCONFIG for writing into preserved ram when 
 prgmZSUCWELC is not installed
-I included again the source code from prgmZASMLOAD,
 but it was made by a Pat Milheron, not by me

04/09
suckerwelcome v3.2	!!! this version could crash !!!
-no more zbatres, the contrast could be more than
 expected

07/10
suckerwelcome v4.0
-I have rewritten huge amounts of zsucwelc, because
 v3.2 sometimes crashed after displaying "suckerwelcome v3.2"
 at the bottom, but I couldn't find the error. Now I corrected 
 the error, so you're not safe when using the versions before 
 4.0, so DO NOT USE THEM ANYMORE!!!!
-but it doesn't work!!!!!!
-and I try and I try...

10/10
suckerwelcome v4.1
-finally the program works!
 with all the rages I had, I call the failing program 4.0,
 and the working version 4.1
-with a new way of storing the pressed keys
-again added zbatres (v1.2)

25/10
suckerwelcome v4.2
-prgm(Z)SCONFIG added for programs which also use these names
-optimized a bit


FUTURE UPDATES
--------------
-a little bit smaller, maybe
-every time you shut down the calculator, suckerwelcome starts
 with an interrupt


DISCLAIMER
----------
When something goes wrong with the program, the Ti-83 could
crash, although this should not happen by itself. I am not 
to be held responsible in any way if it does.


If you have comments, suggestions or something else to say,
feel free to email me!


THANKS
------
-To Ti, for creating such a great calculator
-To ASMGURU(James Matthews) with his asm lessons
-To Bert Huysmans, for the tip about the 3 keypresses
 (only v1.2->2.4)
-To Kristof Stoops, for finding out that you can turn off
 the calc from within the program (only v1.0->v2.2) with
 call _getkey
-To Rog S., for helping me with some batch programming
-To Ian Graf, for his great code
-and the most thanks go to z3FX, for helping me with an error