Assembly shell (Graphing Calculator)

On graphing calculators, an assembly shell is a program that is used to run programs written in the calculator's native machine code rather than the calculator's standard high-level language. Such programs were originally created at a time when calculator manufacturers did not support native-code programming on their hardware; the first, ZShell was created for the Texas Instruments TI-85 calculator after an exploit was found to bypass the calculator's standard operating system. Rather than crack down on users who had managed to bypass the OS to run their own code, Texas Instruments chose to release native programming information for its then-upcoming TI-83 calculator; though this rendered the traditional assembly shell unnecessary on the 83 hardware, calculator programmers continued to develop shells to add to or replace the standard operating system. Since the TI-83, TI has supported assembly-level programming on all subsequent graphing calculators, though similar shell hacks needed to be created for older hardware such as the TI-82 and the TI-92. Hewlett-Packard also supports assembly language programming on their hardware; however, due to the availability of onboard programming tools, a separate shell is not needed.

While all assembly shells can run assembly programs, some (at least on the TI-83 Plus) also have the capability of running TI-Basic programs.

On some calculators, no native support or easily recognized security holes for running assembly programs is provided, so a hacked memory backup file containing a shell is sent to the calculator.

See also

  • MirageOS
  • ticalc.org - An archive of Assembly and Basic programs for TI calculators.