Hello! This is a continuation of the first article, and today I’ll talk about games and other programs that were written for this calculator.
At first they wrote software on BASIC. Files were copied from a calculator to a computer via a link cable, and then published on ticalc.org and other sites. The calculator uses a fairly fast Z80 processor (with a clock speed of 6 MHz), but direct access to it was not possible for a long time.
Everything changed in 1997 when a function was found in the firmware of the calculator that allowed to execute arbitrary code. The calculator had the ability to create and restore memory dumps (ie backups) using a computer to which it was connected. But this concerned only user memory, not system memory. For a long time, the execution of code on this model was considered impossible until one researcher came across a variable in which the address of the keyboard handler was recorded. If the clever way to rewrite it to the address of the program in memory, the processor will go there as soon as any button is pressed.
This is the basis of all shells (shells for executing programs in assembler) for TI-82, namely: OS-82, ASH, CrASH, ACE, SNG.
OS-82 and ASH are among the first. After them appeared CrASH, which is the most popular. The newest shells are ACE (released in 2002) and SNG (released in 2005), but they are not particularly popular, since this model of calculator is no longer produced and few people now write programs for it.
It's about CrASH. This shell comes in the form of a backup file, which should be loaded into the calculator (carefully, this will erase all data).
To do this, we will use the TiLP program, since Texas Instruments no longer produces software for older models.
It is available on Windows, Mac and Linux, and is the only program to communicate with calculators, which is still supported.
Connect the cable (I have it - TI SilverLink), run the program. Most likely, the calculator it does not recognize and will swear, so you have to set the parameters yourself.
Open File → Change Device. It should be configured as in the picture:
Now we will see the following:
First we need to load crash. For this you can use the link: CrASH .
There are some versions of calculators from ROM version 19.006. If you have this version - you are not lucky, since very few programs support it. But if you want to try - download CrASH for 19.006 . You can check the version by pressing [MODE], [ALPHA], [LN] from the home screen.
Something like this will be shown (the screenshot from this menu did not work):
Enter Self Test? 19.0
Where 19.0 is your ROM version. Press [CLEAR] to not continue the test, as it erases the memory when it is checked.
In the archive with CrASH there will be a file crash.82b (crash19006.82b). It should be loaded into the calculator. To do this, turn it on, and press the following sequence of buttons: [2nd] [X, T,] (LINK), then go to the RECEIVE section and press :
In TiLP, select File → Restore and select a backup file. The program will warn you about overwriting data, select OK, after which the calculator will ask about it, respond in the same way. After sending, press [2nd] [MODE] (QUIT) to exit the menu.
To load programs into the calculator, the actions are the same, but instead of Restore, you need to select Send Files.
After a successful download, you will see:
Programs in BASIC go without CrASH (but with it too), to launch them you need to select a name by pressing [PRGM] to open the menu. To run assembler programs, you must first run CRASH from the same menu. Running CrASH, you should see an empty list of programs:
Exit CrASH by pressing [2nd] [MODE] (QUIT). We try to load the program on the calculator. A good toy is ZTris (tetris). Having unpacked the archive, downloading it to the calculator in the manner described above and running CrASH, we see:
A screenshot from a working program cannot be made, so here is a screenshot from the author:
At ticalc.org there are a great many programs and games for this calculator, so you can try something yourself.
By the way, to delete programs you can use [2nd] [+] (MEM) → Delete ... → Prgm ... You can also delete other data there. If you have CrASH, do not erase CRASH and matrices a and b. The calculator will start to fail as part of the code is written there.