KnightOS is a third-party operating system for TI calculators. It provides a passable Unix-like system for calculators. KnightOS is built on top of the KnightOS kernel - this repository is the official userspace. KnightOS runs on the following calculators:
- TI-73
- TI-83+
- TI-83+ Silver Edition
- TI-84+
- TI-84+ Silver Edition
- TI-84+ Color Silver Edition
KnightOS also runs on the French variations of these same calculators.
All of the pieces of KnightOS are maintained as separate projects under the
KnightOS organization on GitHub. This project
exists to tie them all together. The package.config
file lists the packages
that are installed on the default userspace. The KnightOS SDK is used to install
these packages, and then the default KnightOS settings are installed on top of
that. Additionally, this builds upgrade files and applies any required exploits.
To compile KnightOS, first install the KnightOS SDK. Instructions for the SDK installation can be found on the wiki.
In addition to the SDK, you will need mktiupgrade, sass and kimg.
Then, run the following:
knightos init --platform=<platform>
Change <platform>
to the appropriate platform for your needs:
Model | make Target |
---|---|
TI-73 | TI73 |
TI-73 Explorer | TI73 |
TI-83+ | TI83p |
TI-83+ SE | TI83pSE |
TI-84+ | TI84p |
TI-84+ SE | TI84pSE |
TI-84+ CSE | TI84pCSE |
TI-84 Pocket.fr | TI84p |
TI-84 Plus Pocket SE | TI84pSE |
Then you can use various make targets to compile the system:
make # Compiles and places a ROM file in bin/
make upgrade # Compiles and places an upgrade file in bin/
make run # Compiles and runs in an emulator
make debug # Compiles and runs in a debugger
If you just want something you can install on your calculator, try make upgrade
and check the bin/
directory. Installation instructions are available
online at http://www.knightos.org/download.
You can use a custom kernel during development if you like. Add
--kernel-source=/path/to/your/kernel
to knightos init
. You will, of course,
need to install all of the kernel's dependencies for this to work.
If you need help with KnightOS, want to keep up with progress, chat with developers, or ask any other questions about KnightOS, you can hang out in the IRC channel: #knightos on irc.freenode.net. You can also subscribe to our mailing list.
To report bugs, please create a GitHub issue or contact us on IRC.
If you'd like to contribute to the project, please see the contribution guidelines.