KnightOS, a third party OS for TI z80 calculators (github.com)
KnightOS is a third-party Operating System for Texas Instruments z80 calculators. It offers many features over the stock OS, including multitasking and a tree-based filesystem, delivered in a Unix-like environment. KnightOS is written entirely in z80 assembly, with a purpose-built toolchain. Additionally, the KnightOS kernel is standalone, and you can use it as the basis for your own powerful operating systems.
You can download the latest (experimental) version here: http://www.knightos.org/download/
40 comments
[ 2.2 ms ] story [ 53.9 ms ] threadKnightOS is a third-party Operating System for Texas Instruments z80 calculators. It offers many features over the stock OS, including multitasking and a tree-based filesystem, delivered in a Unix-like environment. KnightOS is written entirely in z80 assembly, with a purpose-built toolchain. Additionally, the KnightOS kernel is standalone, and you can use it as the basis for your own powerful operating systems.
You can download the latest (experimental) version here: http://www.knightos.org/download/
I'm reading HN on hn.premii.com (which uses the Algolia API) and I see both the submission URL and the submission text.
BTW thanks for the awesome work you're doing on HN!
Even people who don't know assembly can help, if you're interested. We need assembly, C, Python, and web programmers. Let me know if you're interested in helping out.
Any particular goals you want to achieve with this project?
CPU looks powerful enough and the amount of RAM is comparable to early Unix machines but you might run into storage space limitations.
https://www.gnu.org/distros/free-system-distribution-guideli...
- Complete
- Self hosting
It also does not replace a single non-free blob that's written to read-only memory on the device.
Does this OS come at the cost of not having any of the standard calculator functions, or are all of those still supported? Or maybe a better catch-all question that covers that: what do I have to give up if I switch to KnightOS from the stock OS?
Does it support any forms of on-calc programming?
[0] http://www.ticalc.org/archives/files/fileinfo/328/32817.html
You could probably port that game fairly easily. Many Ion functions are included in the kernel.
KnightOS seems to be more focused on just providing a sane environment for user programs instead of TI's stock OS which is calculator-first and user programs are second class citizens.
I'm not sure how practical preemptive scheduling with background tasks is for these devices, they really are resource constrained. I'm sure it works fine with one background process, especially if it clocks up the cpu for that, but I don't see it scaling much beyond that. I'll have to try it out some time.
I'd be interested to see if a compatibility layer for programs written in C could be set up. SDCC's binaries tend to be reasonably performant, but significantly larger than their assembly equivalent. With 31k available to programs however, C could work for a lot of applications. I might hack on that sometime.
I understand some people might call me crazy but I couldn't use a calculator that forces you to shift to enter EE.
This is a complete replacement though, right? IIRC, the firmware updates had to be signed, how did you get around that?
Yep.
> IIRC, the firmware updates had to be signed, how did you get around that?
Here are Texas Instrument's private keys: https://github.com/KnightOS/kernel/tree/master/keys
They might even partner with TI to add some sort of DRM and force students to buy these new, even more overpriced, "ETS-approved" calculators...
AFAIK you buy those things because you want TI's math software, not because you need some hardware to run your software on it. After all, these are a bit pricey if just look at the hardware, right?