Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


OS for z80 calculators

Subscribe to updates I use KnightOS

Statistics on KnightOS

Number of watchers on Github 1135
Number of open issues 106
Average time to close an issue 20 days
Main language Assembly
Average time to merge a PR 1 day
Open pull requests 0+
Closed pull requests 14+
Last commit 30 days ago
Repo Created almost 8 years ago
Repo Last Updated 28 days ago
Size 5.68 MB
Organization / Authorknightos
Page Updated
Do you use KnightOS? Leave a review!
View open issues (106)
View KnightOS activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating KnightOS for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)


builds.sr.ht status

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.

What is this repository?

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 website.

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 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.

Custom Kernels

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.

Help, Bugs, Feedback

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.

KnightOS open issues Ask a question     (View All Issues)
  • almost 4 years KPACK: MacOS packing woes with rrootName
  • about 4 years z80e: Mac OS linker errors
  • about 4 years PKO: Missing tmp dir on upload can crash app
  • about 4 years PKO: Send new package email can crash app and abort package upload
  • over 4 years realloc does not return error if it cannot malloc new memory
  • over 4 years Thread safety issues in I/O layer
  • over 4 years KCC on OS X can't compile C projects
  • almost 5 years Kernel logging subsystem
  • almost 5 years fileman trampoline is broken for non-KEXC files
  • almost 5 years Bed todo list
  • almost 5 years Pressing MODE in Phoenix causes KnightOS to crash
  • almost 5 years Calendar 'clock isn't supported on this calculator' TI-84 plus only after setting time in Settings
  • almost 5 years Refactor threadList to use getNextThreadID
  • about 5 years Change the way ON key combos work
  • about 5 years Allow userspace to override syscalls
  • about 5 years pcall(terminateStayResident)
  • about 5 years Redraw castle before shutdown
  • about 5 years *** Error in `kpack': free(): invalid next size (fast): 0x093ad3b8 ***
  • about 5 years Add kernel API for examining running threads.
  • over 5 years kcc make segfaults on cygwin64
  • over 5 years Add file sizes to PKO
  • over 5 years Signed comparisons do not work correctly with kcc/scas
  • over 5 years ez80 support for scas
  • over 5 years Add curses interface to z80e
  • over 5 years Reading 2048-byte files doesn't work
  • over 5 years Charging indicator
  • over 5 years Implement user pin editing on the castle
  • over 5 years Implement password reset on PKO
  • over 5 years Sync ticalc's KnightOS category with PKO
  • over 5 years Warn users when uploading packages with the same version number
KnightOS list of languages used
More projects by KnightOS View all
Other projects in Assembly