.8xp) and AppVars (.8xv) into the calculator’s flash archive.
Overview
There are two ways to load programs:- sendfile - Inject files and run immediately (for testing)
- bakerom - Create a pre-loaded ROM (for distribution)
sendfile Command
Loads the ROM, injects files into flash, boots the emulator, and saves a screenshot. Useful for quick testing.Usage
What It Does
- Loads the ROM from
TI-84 CE.rom - Injects specified
.8xp/.8xvfiles into flash archive - Boots the emulator to completion
- Saves a screenshot to
screen.png
Example: Loading DOOM
bakerom Command
Creates a new ROM file with programs pre-installed in the flash archive. The output ROM can be loaded directly and programs will appear in TI-OS without needing to inject files each time.Usage
What It Does
- Loads the original ROM from
TI-84 CE.rom - Injects specified
.8xp/.8xvfiles into flash archive - Writes the modified ROM to the output file
Using a Baked ROM
- Loaded in the mobile/web apps
- Shared with others (ROM + programs bundled)
- Used for testing without repeated injection
Example: Creating a Game ROM
CE C Toolchain Libraries
Programs built with the CE C toolchain require their library.8xv files to be included.
Common Libraries
| Library | Description |
|---|---|
| libload.8xv | Dynamic library loader |
| graphx.8xv | Graphics library (sprites, colors) |
| keypadc.8xv | Keyboard input |
| fileioc.8xv | File I/O operations |
Example: Loading a graphx Game
Where to Get Libraries
The CE C toolchain libraries are typically included with games that require them. You can also:- Extract from a real calculator - Transfer
.8xvfiles from a TI-84 Plus CE - Build from source - Clone the CE C toolchain and build
- Download with games - Many games bundle required libraries
Loading from Apps
The mobile and web apps provide file pickers for loading programs.Web App
- Click the file picker button
- Select
.8xpor.8xvfiles - Files are injected into flash archive
- Reset the calculator to see programs in menu
Android/iOS
- Use the file picker in the app menu
- Select program files from device storage
- Files are injected and available after reset
Keyboard Shortcut (Web)
- Ctrl+R / Cmd+R - Resend last program file
Program File Formats
.8xp Files
TI-84 Plus CE program files:- Contains Z80/eZ80 assembly code or TI-BASIC
- Stored in flash archive
- Executable from TI-OS program menu
.8xv Files
TI-84 Plus CE AppVar (application variable) files:- Contains data or library code
- Used by CE C toolchain for shared libraries
- Referenced by programs at runtime
Flash Archive Structure
Programs are stored in the calculator’s flash archive:- Location: Flash sectors starting at specific addresses
- Format: TI variable table with metadata (name, type, size)
- Persistence: Programs persist across resets (unless flash is erased)
Archive Sectors
The TI-84 Plus CE flash is divided into sectors:- Sector 0 - Boot code (protected)
- Sectors 1-63 - Flash archive (writable)
Advanced: run Command
Run a program headless with debug output capture:Options
--timeout <secs>- Timeout in seconds (default: 30)--speed <multiplier>- Speed multiplier (1=real-time, default: unthrottled)
What It Does
- Boots TI-OS
- Injects files
- Launches program via
Asm(prgm<NAME>) - Captures CE toolchain debug output (port 0xFB0000) to stdout
- Terminates on null sentinel, timeout, or power-off
Example
Troubleshooting
Program Doesn’t Appear in Menu
- Reset the calculator - Programs appear after boot
- Check file size - Large programs may not fit in archive
- Verify file format - Must be valid
.8xp/.8xvfile
Program Crashes on Launch
- Missing libraries - Include all required
.8xvfiles - Incompatible ROM - Some programs require specific OS versions
- Memory corruption - Try baking a fresh ROM
”Error: Archived” Message
- Program is archived - TI-OS shows this for archived programs
- Unarchive in TI-OS - Use
2nd+Mem→Mem Mgmt→Unarchive - Or run directly with
Asm(command
See Also
- Debugging Tools - Testing loaded programs
- Testing - Verifying program behavior
- CE C Toolchain - Building programs