1- /*** Clicker 1.0 **************************************************************\
2- * Author: twisted_nematic57 *
3- * Date: 11/11/2024 [MM-DD-YYYY] *
4- * License: Public Domain :) *
5- * Product Type: TI-89 Titanium BASIC program *
1+ /*** Clicker 2.0 **************************************************************\
2+ * Author: twisted_nematic57 *
3+ * Date: 11/17/2024 [MM-DD-YYYY] *
4+ * License: CC0 :) *
5+ * Product Type: BASIC program *
6+ * Platform: TI-89 Titanium *
67\******************************************************************************/
78
89Clicker is a very simple BASIC program that enables you to perform repetitive
910tasks on your TI-89 Titanium much quicker than you can on the Home Screen.
11+ Thanks to new features in v2.0, you can even store and later access intermediate
12+ calculation results just as you'd be able to do on the real Home Screen!
1013
1114I created this program because I often use my calculator to count large numbers
1215of things to guarantee the lack of human error. However, especially if my
13- calculation history is populated, I find that repeatedly pressing the Enter key
14- when doing `ans(1)+1` is not ideal, since the calculator will "miss" a couple
15- counts while "processing" previous ones. It is very annoying, and I hate having
16- to pull out my 36X Pro for anything.
16+ calculation history is populated, I find that repeatedly pressing the [ENTER]
17+ key when doing `ans(1)+1` is not ideal, since the calculator will "miss" a
18+ couple counts while "processing" previous ones. It is very annoying, and I hate
19+ having to pull out my 36X Pro for anything.
20+
21+ Ultimately, this program is just a fancy recursive function executor. You can
22+ use it to count huge numbers and do other very repetitive tasks without filling
23+ up your Home Screen with garbage.
24+
25+ - with passion, twisted_nematic57
1726
1827
1928I. INSTALLATION
@@ -26,31 +35,73 @@ Send clicker.89p to your calculator. It will be in its own folder "AAA" for
2635II. DETAILS
2736
2837 * Clicker is purely a TUI program.
29- * To work it, you have to pass a starting value and an operation .
30- - Think of the operation as a function of `x`. op(x) = {your operation}
31- - When you press Enter , your starting value is plugged into op(x). The
38+ * It works by executing an operation on a starting value.
39+ - Think of the operation as a function of `x`. ` op(x)` = {your operation}
40+ - When you press [ENTER] , your starting value is plugged into ` op(x)` . The
3241 result is then stored to `x`, and displayed on the screen.
33- - As you keep pressing Enter, op(x) will be executed and its result stored
34- to `x`, over and over again. It's essentially recursively executing the
35- operation with its own previous output every time you press Enter .
42+ - As you keep pressing [ENTER], ` op(x)` will be executed and its result
43+ stored to `x`, over and over again. It's essentially recursively executing
44+ the operation with its own previous output every time you press [ENTER] .
3645 * You may press [CLEAR] to exit the program and go back to the Home Screen at
3746 any time.
47+ * Clicker will store your calculation history to a list of your choice, if you
48+ tell it to do so.
3849
3950
4051III. USAGE
4152
42- * Please make sure the variable `x` is undefined.
43- * At the Home Screen, invoke Clicker with two arguments, in this order:
44- - `x`: A number specifying the initial value to be plugged into op(x) .
53+ * At the Home Screen, invoke Clicker with 3 arguments, in this order:
54+ - `x`: A number specifying the initial value to be plugged into op(x). Can
55+ be negative, complex, whatever .
4556 - `op`: A string containing any function of `x`.
57+ - `calclist`: A string containing the name of the list that the calculation
58+ history should be stored to upon exit. It must not start with
59+ a number, it must not contain a space character, and its
60+ length must be between 1 and 8. If this is set to 0 (integer),
61+ then calculation history will not be recorded at all.
4662 * The calc will switch to the PrgmIO screen and display "Ready." Now, whenever
47- you press Enter, the current value of `x` will be plugged into the operation
48- you specified, and its result stored to `x`.
63+ you press [ENTER], the current value of `x` will be plugged into the
64+ operation you specified, and its result stored to `x`.
65+ * Upon pressing [CLEAR], the program will return to the Home Screen, save the
66+ calculation history to a list if specified, and terminate.
67+ - Keep in mind the calculator starts to lag a bit and respond more slowly to
68+ quicker presses of the [ENTER] key when the length of the list reaches ~80
69+ or so.
70+
71+ Treating the program in ways that deviate from the specification above may cause
72+ unexpected and erratic behavior. No damage should occur to your calculator by
73+ using this program, but I do not claim liability for ANYTHING should undesirable
74+ events occur as a result of the execution, storage, transmission, or reception
75+ of this program.
4976
5077
5178IV. EXAMPLES
5279
53- * `clicker(0,"x+1")`: The first press of Enter will display a 1. Pressing it
54- repeatedly will count upwards.
55- * `clicker(2,"x^2")`: The first press of Enter will display a 4. Pressing it
56- repeatedly will display successively larger powers of 2.
80+ * `clicker(0,"x+1",0)`: The first press of [ENTER] will display a 1. Pressing
81+ it repeatedly will count upwards. The calculation
82+ history will be discarded upon program termination.
83+
84+ * `clicker(2,"x^2","pow2")`: The first press of [ENTER] will display a 4.
85+ Pressing it repeatedly will display successively
86+ larger powers of 2. The calculation history will
87+ be stored to a list named `pow2`.
88+
89+ * `clicker(0,"x^2+c","mandel")`: Repeatedly pressing [ENTER] will quickly
90+ reveal if the complex number in `c` is part of
91+ the Mandelbrot Set. Calculation history will
92+ be stored to a list named `mandel`.
93+
94+
95+ V. CHANGELOG (LATEST-FIRST)
96+
97+ * Clicker 2.0: Adds ability to save calculation history to a list
98+ - CODE: Add functionality to keep track of clicking history in a list
99+ - Due to the (relatively) performance-critical nature of this code, some
100+ code duplication has taken place to enhance processing speed during
101+ execution of the program.
102+ - DOC: Reformat header, clarify some minor details
103+ - DOC: Update documentation to reflect changes in the code
104+ - DOC: Add one more example and update previous ones to align with the new
105+ version of the program's requirements
106+
107+ * Clicker 1.0: Initial release
0 commit comments