I couldn't find any mention of this but does it have any sort of TI-BASIC-type language you can use on it? I got started programming with that and it was awesome to be able to carry around with me a little computer that I could write and run programs on. I never delved down into ASM but I did install a few ASM programs that provided better access to the BASIC programs doing things like sprites or screen draws a magnitude of times faster or providing features that were not available in BASIC.
This is very well done! Almost makes me want dig up my 83 Silver Edition, try it out, port Antrun and fix that one bug that made it impossible to play after a while... except I have given it to my sister who actually has a proper use for it during her biology master.
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?
I just want to see a nice Unix-like for these calcs. Eventually it'd be cool to have a bunch of slick stuff like a VFS and such, but for now I'll be happy once there's good math support and students can start using it.
Another project worth mentioning is [GlassOS](http://www.cemetech.net/forum/viewtopic.php?t=5686&highlight...) which is an operating system for the TI-8x series calculators written in C and compiled with sdcc. It doesn't offer multitasking (or at least not background tasks, suspending and resuming might be planned, I don't know). It also supports some fairly gimmicky things like system-wide grayscale settings. It also hasn't seen any development for several months, which makes me sad.
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 hope to eventually implement C support in some form. You're right about SDCC making huge binaries, though - GlassOS is enormous, there's very little space left on the device and it supports fewer calculator models.
The text you posted doesn't make it in with the submission when there's a url. (It's on our list to modify the software to make that clear.) The way to do it is to submit the link and then post the text as a comment to the thread—which you'd be welcome to do here. The project looks cool!
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.