A small game from long ago


A long long time ago in high school, we used the TI-83 Plus as our calculators. These were "graphical" calculators that had small LCD monochrome screens and which could be programmed using the TI-BASIC scripting language. The display itself had various modes, but the default and easiest to access was the 24×7 (I think?) character text console. Being bored at times like I was, I ended up writing various non-school related programs for the calculator, including several games.

The programs themselves did not last long, in part because by default files were stored in RAM and deleted if the calculator was power cycled (the default "on/off" did not clear the RAM, but taking the batteries out would). Eventually we were upgraded to the amazing (or so it seemed) TI-89, which was much more powerful and capable of symbolic equation-solving—thus known as a "CAS" (Computer Algebra System) calculator (and thus, banned in many assessment environments) (but, it still stored programs in RAM by default). This was the end of my TI-83+ programs—though I did write some for the TI-89, which can be found here.

Anyway, to the subject of the post: some time after that (but still almost 10 years before this post!) I ported one of the games I wrote to JavaScript. The link to it can be found at the top of the page, and every time I play it, it brings back memories of my TI-83+ days. I hope you have at least a moment of fun with it too.

It is interesting to note that the TI-83+ (and the TI-89) had a monochrome screen that could not technically display different shades of gray, much less colors like my JS version. Developers, however, found a way to get around that by rapidly flickering pixels on and off—at the refresh rate of the screen, this would make the flickering pixel effectively appear gray. As long as you didn't look too closely, that is... Unfortunately such high refresh rates were only accessible for compiled programs written in assembly (Z80 assembly, no less), as TI-BASIC programs were interpreted far too slowly and only had access to the "graph" output mode for pixel-based graphics, which was even slower again.