A couple complex augmented TI-Basic programs
Posted by Travis on 1 December 2019, 01:25 GMT
This year, news items began with two pure TI-eZ80 Basic programs. It turns out that we'll end the year with other TI-Basic programs for the same models, but this time augmented by assembly programs / libraries. Both are complex programs showing once again that hybrid TI-Basic is a viable option for some types of programs.
1000 Bornes SE is an accurate reimplementation of a popular 1954 French card game by Xavier "critor" Andréani, taking advantage of the Sprites for TI-Basic library by Gérald "grosged" DeGroote for faster, full-screen, 8 bpp color screen handling. Here, SE stands for "Sprites Edition", as a previous version used only TI-Basic commands for drawing sprites and lines onto the limited area accessible to TI-Basic. The Sprites library already appeared in a November 2017 news item, before the library was uploaded to our archives, so it couldn't be featured at the time.
For those who have never played it, you can think of 1000 Bornes as a real-world road spell card game, where the goal is to earn points by laying distances, casting "spells" (red lights, speed limits, etc.) and the corresponding normal anti-spells (repaired tire, refuel, etc.) or special anti-spells (extra points when using them to retaliate for a spell, and immunity against this particular spell for the rest of the round). Whichever player reaches 5000 points first wins.
This implementation supports both French and English, and automatically switches language depending on the calculator's current configuration. Anecdotally, it can display a QR code representing a URL pointing to a description of the game's rules. Oh, and it has an AI; however, what I wrote in my feature of Andrew Vauter's TI-68k Uno holds true for 1000 Bornes as well: playing that game with other humans laughing at you or cursing you has a social aspect a calculator can't quite produce ;)
Slightly later, Ben "calclover2514" Pryor first uploaded his Menus OS, The First BASIC Shell for the TI-84 Plus CE!". It's made of a whopping 184 programs (!), nearly all of which are TI-Basic, which need to be sent to archive as the whole set can't fit in RAM at once. In fact, a sizable number of those programs are part of 20+ games (Connect-4, Frogger, Minecraft, TicTacToe, 2048, etc.), but Menus OS has a number of math-related programs (Pythagorean theorem, a 3D grapher, etc.), and of course, features expected from what is dubbed "shells" on our platforms: enabling lowercase letters, setting the date and time, and various others. The code assumes that the improved assembly support in OS 5.3.0 and later is available, which isn't a terrible restriction. The README is quite detailed.
As far as I'm concerned, I'll keep using Cesium instead, because it's much more lightweight and has fewer bells and whistles that I don't need, but other people may have other tastes, and anyway, I wanted to highlight the amount of work represented by this assembling and programming exercise :)
Both programs seem to be compatible with the TI-83PCE EP and therefore the newer hardware revision (M and later) of the 84+CE.
Article written by Lionel Debroux, with slight input from Adrien "Adriweb" Bertrand.