Page 4 of 4

Re: KnightOS - For Texas Instruments calculators

Posted: Wed Sep 17, 2014 11:41 pm
by SirCmpwn
SoLDMG wrote:That's not actually possible on a calculator, no. I'm still going to look at the C compiler source code and see if I can contribute somehow though.
Well, in theory, it could work. But it's not something we're looking into for the time being.

Re: KnightOS - For Texas Instruments calculators

Posted: Sun Sep 21, 2014 5:32 pm
by SirCmpwn
I improved the "source code" menu on the website so it's easier to find out about all the sub-projects in the KnightOS world:

http://www.knightos.org/

Re: KnightOS - For Texas Instruments calculators

Posted: Tue Sep 23, 2014 12:18 pm
by AndrewAPrice
This is really cool. We used HP-38G calculators back in highschool and I loved programming on it (and it looked like I was actually doing work in my classes!) Unfortunately, I never got beyond HP BASIC into assembly.

What challenges have you encountered in KnightOS while working with such a limited system that most of us OSdevers don't encounter? Why the 32 process limit (do you used a fixed-size structure for storing processes?)

Re: KnightOS - For Texas Instruments calculators

Posted: Tue Sep 23, 2014 12:44 pm
by SirCmpwn
MessiahAndrw wrote:What challenges have you encountered in KnightOS while working with such a limited system that most of us OSdevers don't encounter? Why the 32 process limit (do you used a fixed-size structure for storing processes?)
Well, the process table is a fixed size for performance reasons. It's always located at 0x8000 and each entry is aligned, so it's faster to do a context switch (which really matters when you have a slower system). The real challenges that other osdevers might not have faced, though, are much different. One example is that KnightOS is written entirely in assembly - not because I prefer assembly, but because there are no C compilers for z80 that are good enough. Also, I'm directly interacting with the Flash chip rather than with some controller that makes it look like a block device, so I had to design my own filesystem considering that few filesystems are designed around the NAND Flash constraints. One thing that's easier, though, is that these calculators have a fixed hardware list and I don't have to worry so much about drivers and such.

Re: KnightOS - For Texas Instruments calculators

Posted: Sun Sep 28, 2014 7:07 pm
by SirCmpwn
Just finished the tool for bundling/extracting/examining KnightOS packages with the help of some other contributors:

https://github.com/KnightOS/kpack

Soon I'll be breaking the userspace up into several repositories and building it out of packages rather than putting the filesystem together manually.

Also! Work on packages.knightos.org has been started, and there will soon be an online package repository for KnightOS. In the foreseeable future, the KnightOS userspace repository will just be a list of packages and a makefile :D

Re: KnightOS - For Texas Instruments calculators

Posted: Wed Oct 08, 2014 10:55 pm
by SirCmpwn
KnightOS is now the first operating system with support for Phoenix on the TI-84+ CSE :)

Image

Re: KnightOS - For Texas Instruments calculators

Posted: Sat Oct 11, 2014 6:27 pm
by SirCmpwn
Online package repository: https://packages.knightos.org/

Re: KnightOS - For Texas Instruments calculators

Posted: Mon Nov 10, 2014 11:49 am
by SirCmpwn
Here to give another update. It's been a little while, so a lot of stuff has been done.

We're working on replacing our old home-grown z80 assembler with a new home-grown z80 assmebler. The old one is written in C# and the new one in C. The old one is extremely crufty and was always just "good enough", and the new one is a much more refined design. It includes seperate assembly/linking steps as well as ASxxxx compatability, which will allow us to use it to add support for userspace C programs via kcc, our fork of SDCC, a C compiler for z80.

More news: we finished our new SDK! I did a short video about it:



You can try it yourself like this, if you wish:

Code: Select all

curl -s http://www.knightos.org/install-sdk | bash
After completing the SDK, we split up all of our userspace programs into their own independent repositories (they had previously been under the same repo) that all have their own release cycles and can be developed independently of each other. The "official" userspace is now bootstrapped from PKO (packages.knightos.org) through the SDK (think pacstrap from Arch Linux).

Also, KnightOS is now suitable for educational use /s!

Image

I also took some time to port Phoenix to the 84+ Color Silver Edition:

Image

AND KnightOS was featured (along with several other operating systems!) on GitHub: Open Source Operating Systems.

But wait, there's more! Since programming on KnightOS requires compiling and installing our entire toolchain, we'd like to reduce the cost of entry by compiling our toolchain with emscripten and running in a web browser. This is part of why we're writing a new assembler in C. We have started working on try.knightos.org, which is a rather lightweight "IDE" of sorts that runs the toolchain with JavaScript and can run your programs in an emulator right on the page. It's still very much a work-in-progress, but hopefully that'll make it a lot easier for people to get involved. I'm also hoping to eventually extend this to include interactive tutorials and such.

That's all for now, thanks for reading this long update!

Re: KnightOS - For Texas Instruments calculators

Posted: Fri Nov 21, 2014 4:46 pm
by SirCmpwn
This probably isn't big news to all you folks working on your operating systems in C, but we now have support for userspace programs written in C! Here's an example one:

Code: Select all

#include <display.h>

/* Warning! C support in KnightOS is highly experimental. Your milage may vary. */

void main(void) {
	SCREEN *screen;
	get_lcd_lock();
	screen = screen_allocate();
	screen_clear(screen);
	draw_string(screen, 0, 0, "Hello world!");
	screen_draw(screen);
	while (1);
}
KnightOS isn't POSIX, so porting things takes a lot more effort. C support required a huge amount of effort and we're all very proud of it :)

Work on the kernel and most userspace programs continues in assembly, and a few people have poked their heads in and volunteered to help us build our libc and work on porting things like Lua and pForth. It's an exciting time! Come join us if you want some good old embedded device fun.

Re: KnightOS - For Texas Instruments calculators

Posted: Sun Dec 14, 2014 1:15 am
by SirCmpwn
Redesigned website, looks prettier now: http://www.knightos.org/

Re: KnightOS - For Texas Instruments calculators

Posted: Mon Dec 15, 2014 9:13 am
by AndrewAPrice
SirCmpwn wrote:Redesigned website, looks prettier now: http://www.knightos.org/
You have a really nice design.

Re: KnightOS - For Texas Instruments calculators

Posted: Tue Dec 16, 2014 6:34 am
by Bender
Tested out the online compiler and emulator, and it works nice on both PC and mobile platforms. Also, the SDK and your build system looks very professional.
By the way, what language are you using to develop applications? It looks like assembly with the addition of function calls.

Re: KnightOS - For Texas Instruments calculators

Posted: Tue Dec 16, 2014 9:05 am
by SirCmpwn
Bender wrote:Tested out the online compiler and emulator, and it works nice on both PC and mobile platforms. Also, the SDK and your build system looks very professional.
By the way, what language are you using to develop applications? It looks like assembly with the addition of function calls.
Thanks for the kind words! We're using assembly with a lot of macros, not function calls.