TI-84 Calculator Games: The Practical Guide
TI-84 Plus CE games are small programs written in assembly or TI-BASIC that run directly on Texas Instruments graphing calculators. They were never officially sanctioned by TI, but students found a way around the limitations. I got into this back in 2013 when my teacher confiscated my phone and I needed something to occupy myself during fourth-period calculus. Assembly-based games like DigiDash, a Tetris clone, and Pong variants became the standard because they actually load and run within the calculator's tight memory constraints. The reason these worked at all comes down to how the TI-84 Plus CE is built. It runs a Z80 processor at 150 MHz with 330KB of RAM available to user programs. That sounds limiting until you realize the same chip architecture powers the original Game Boy, and assembly programmers spent years squeezing pixel-perfect games out of less. The TI-84 CE has an 86-key layout, a 320x240 color display, and enough raw processing power for something playable if you're not chasing modern standards. The main tools you need are Cemetech's AsmComp, which compiles Z80 assembly into .8xp files, and the ti-84-asm library by Tyler Reguly, which handles display routines, input handling, and memory management without requiring you to rewrite everything from scratch. On the PC side, you use GQCE or TI Connect CE to transfer files to the calculator over USB. The process takes about five minutes once you have the toolchain installed.
Here's where people typically mess up. The TI-84 Plus CE stores apps in two separate locations depending on the type. Standard programs go into the Prgm menu and execute normally. Assembly programs compiled with a special linker flag get placed in the AppMem area and require you to install them through a custom app loader, usually called something like AppBuilder or a variant of it. If you try to run a .8xp file through the normal program menu, it either errors out or silently fails. I learned this the hard way after spending three hours debugging what I thought was a code issue when it was actually just a storage location problem. The workaround is checking your compile script to make sure the linker outputs the app variable properly, and using the correct transfer method on the calculator side. For beginners, the easiest entry point is TI-BASIC games. They're slower but the barrier to entry is basically nonexistent. You type the code directly into the calculator using the Apps menu, no computer required. A simple platformer in TI-BASIC will run at roughly 3-5 frames per second, which is playable for turn-based or puzzle games but terrible for anything requiring fast reflexes. Assembly games hit closer to 15-30 FPS on the CE, which is where they start feeling real. The largest repository for these programs is still Cemetech's file database. As of now, there are over 400 downloadable TI-84 CE games spanning every genre you can imagine. Snake, Breakout clones, a working chess engine, even a limited version of Civilization. The most popular downloads consistently include DigiDash, a simplified Tetris with solid 60 FPS performance, and a couple of Mario-style platformers that use custom sprite engines.
Some practical realities you should know before diving in. Battery drain on assembly games is significant because they keep the Z80 at full clock speed without the power-saving states that TI-BASIC programs use. A fully charged CE battery lasting 20 hours on normal use might drop to under 6 hours running a heavy assembly game. Second, the calculators get warm. Not dangerously hot, but noticeably warm during extended sessions, especially older TI-84 Plus models without the CE's improved thermal management. Third, TI does actively block unauthorized apps on the official firmware in newer updates. If your school district has pushed a firmware update with AppLock enabled, you may not be able to run any third-party programs at all until you revert to an older version. If your main goal is just playing games rather than making them, the simplest path is downloading ready-made .8xp or .8xk files and transferring them with GQCE. Install GQCE on your computer, connect the calculator, open the program browser in the software, and drag files over. The calculator might ask you to confirm the install depending on your firmware version. Some schools monitor USB traffic and may flag GQCE usage, so check your institution's policy first. The community around this stuff is still active despite TI's efforts to suppress it. New games get released monthly, toolchains improve every year, and there are dedicated Discord servers and forums where people share source code and troubleshoot compilation issues. If you want to get into it seriously, start by reading the source code of existing simple games. It's the fastest way to understand how sprite rendering, collision detection, and input polling actually work within the calculator's constraints.