

KnightOS, a third party OS for TI z80 calculators - recursion
https://github.com/KnightOS/KnightOS
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.<p>You can download the latest (experimental) version here: http:&#x2F;&#x2F;www.knightos.org&#x2F;download&#x2F;
======
Sir_Cmpwn
I'm the author of this software, with the help of some open-source
contributors. Feel free to send questions my way.

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.

~~~
vanderZwan
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[0]... 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?

Does it support any forms of on-calc programming?

[0]
[http://www.ticalc.org/archives/files/fileinfo/328/32817.html](http://www.ticalc.org/archives/files/fileinfo/328/32817.html)

~~~
Sir_Cmpwn
You give up math support, as well as on-calc file editing. However, efforts
are underway to support both of these things.

You could probably port that game fairly easily. Many Ion functions are
included in the kernel.

~~~
vanderZwan
Does it work on emulators? If so, any suggestions? (I haven't kept up with
development of the TI calc scene at all, I assume there's new kids on the
block by now)

~~~
ddevault
Runs best on wabbitemu, but you'll need wine to use it on Linux. We're working
on a new emulator, maybe you'd like to help?
[https://github.com/KnightOS/z80e](https://github.com/KnightOS/z80e)

------
adrusi
Another project worth mentioning is
[GlassOS]([http://www.cemetech.net/forum/viewtopic.php?t=5686&highlight...](http://www.cemetech.net/forum/viewtopic.php?t=5686&highlight=glassos))
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.

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

------
bane
If you want to see a never ending well of software for TI calculators check
out [http://www.ticalc.org/](http://www.ticalc.org/)

------
noname123
Needs the most important feature that prints out the "Memory cleared..." text
as the original TI-OS would to fool the teachers and still have your crib
notes!

~~~
kijin
If these kinds of hacks become popular, I wouldn't be surprised if some school
districts and standardized test makers decided to ban all non-stock-OS
calculators in the near future.

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

------
makmanalp
Wow, this brings me back to the early 2000s and MirageOS, which wasn't
actually an OS but a glorified shell:
[http://www.detachedsolutions.com/mirageos/](http://www.detachedsolutions.com/mirageos/)

This is a complete replacement though, right? IIRC, the firmware updates had
to be signed, how did you get around that?

~~~
Sir_Cmpwn
> This is a complete replacement though, right?

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](https://github.com/KnightOS/kernel/tree/master/keys)

~~~
stusmall
How'd you get them?

~~~
mikeknoop
They were successfully brute forced in 2009:
[http://en.m.wikipedia.org/wiki/Texas_Instruments_signing_key...](http://en.m.wikipedia.org/wiki/Texas_Instruments_signing_key_controversy)

------
recursion
Thought I'd share this as it's really neat

~~~
dang
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!

~~~
rahimnathwani
@dang As far as I can tell, the text _does_ make it in with the submission
(i.e. it is stored) but it is not _displayed_.

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!

~~~
dang
Thanks! You're right: the text is stored (that's how I knew it existed) but
doesn't show up when there's a URL. Unless, it seems, you're using a clever
client.

------
__michaelg
Other than tinkering, what's the point of that project?

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?

~~~
jmpe
A TI-73 or TI-83 is $20 or less on eBay.

------
ithkuil
Wow. Good job! Unfortunately I lost my TI-84, I'm tempted to try KnightOS on
an emulator on an android tablet, running in an emulator on my laptop.

------
tokenizerrr
Does it do math?

~~~
Sir_Cmpwn
No, but it's being worked on. It wasn't being worked on until recently.

~~~
pling
Nice. The main reason I own a Casio (9750g) is because I can't stand the TI8x
OS. The hardware is better than the Casio but the software isnt. This could be
the sweet spot :)

I understand some people might call me crazy but I couldn't use a calculator
that forces you to shift to enter EE.

