OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 12:44 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 58 posts ]  Go to page Previous  1, 2, 3, 4
Author Message
 Post subject: Re: KnightOS - For Texas Instruments calculators
PostPosted: Wed Sep 17, 2014 11:41 pm 
Offline
Member
Member

Joined: Thu Mar 06, 2014 4:57 pm
Posts: 34
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.


Top
 Profile  
 
 Post subject: Re: KnightOS - For Texas Instruments calculators
PostPosted: Sun Sep 21, 2014 5:32 pm 
Offline
Member
Member

Joined: Thu Mar 06, 2014 4:57 pm
Posts: 34
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/


Top
 Profile  
 
 Post subject: Re: KnightOS - For Texas Instruments calculators
PostPosted: Tue Sep 23, 2014 12:18 pm 
Offline
Member
Member
User avatar

Joined: Mon Jun 05, 2006 11:00 pm
Posts: 2293
Location: USA (and Australia)
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?)

_________________
My OS is Perception.


Top
 Profile  
 
 Post subject: Re: KnightOS - For Texas Instruments calculators
PostPosted: Tue Sep 23, 2014 12:44 pm 
Offline
Member
Member

Joined: Thu Mar 06, 2014 4:57 pm
Posts: 34
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.


Top
 Profile  
 
 Post subject: Re: KnightOS - For Texas Instruments calculators
PostPosted: Sun Sep 28, 2014 7:07 pm 
Offline
Member
Member

Joined: Thu Mar 06, 2014 4:57 pm
Posts: 34
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


Top
 Profile  
 
 Post subject: Re: KnightOS - For Texas Instruments calculators
PostPosted: Wed Oct 08, 2014 10:55 pm 
Offline
Member
Member

Joined: Thu Mar 06, 2014 4:57 pm
Posts: 34
KnightOS is now the first operating system with support for Phoenix on the TI-84+ CSE :)

Image


Top
 Profile  
 
 Post subject: Re: KnightOS - For Texas Instruments calculators
PostPosted: Sat Oct 11, 2014 6:27 pm 
Offline
Member
Member

Joined: Thu Mar 06, 2014 4:57 pm
Posts: 34
Online package repository: https://packages.knightos.org/


Top
 Profile  
 
 Post subject: Re: KnightOS - For Texas Instruments calculators
PostPosted: Mon Nov 10, 2014 11:49 am 
Offline
Member
Member

Joined: Thu Mar 06, 2014 4:57 pm
Posts: 34
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:
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!


Top
 Profile  
 
 Post subject: Re: KnightOS - For Texas Instruments calculators
PostPosted: Fri Nov 21, 2014 4:46 pm 
Offline
Member
Member

Joined: Thu Mar 06, 2014 4:57 pm
Posts: 34
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:
#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.


Top
 Profile  
 
 Post subject: Re: KnightOS - For Texas Instruments calculators
PostPosted: Sun Dec 14, 2014 1:15 am 
Offline
Member
Member

Joined: Thu Mar 06, 2014 4:57 pm
Posts: 34
Redesigned website, looks prettier now: http://www.knightos.org/


Top
 Profile  
 
 Post subject: Re: KnightOS - For Texas Instruments calculators
PostPosted: Mon Dec 15, 2014 9:13 am 
Offline
Member
Member
User avatar

Joined: Mon Jun 05, 2006 11:00 pm
Posts: 2293
Location: USA (and Australia)
SirCmpwn wrote:
Redesigned website, looks prettier now: http://www.knightos.org/

You have a really nice design.

_________________
My OS is Perception.


Top
 Profile  
 
 Post subject: Re: KnightOS - For Texas Instruments calculators
PostPosted: Tue Dec 16, 2014 6:34 am 
Offline
Member
Member
User avatar

Joined: Wed Aug 21, 2013 3:53 am
Posts: 449
Location: Asia, Singapore
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.

_________________
"In a time of universal deceit - telling the truth is a revolutionary act." -- George Orwell
(R3X Runtime VM)(CHIP8 Interpreter OS)


Top
 Profile  
 
 Post subject: Re: KnightOS - For Texas Instruments calculators
PostPosted: Tue Dec 16, 2014 9:05 am 
Offline
Member
Member

Joined: Thu Mar 06, 2014 4:57 pm
Posts: 34
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.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 58 posts ]  Go to page Previous  1, 2, 3, 4

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 27 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group