Omnimaga

Calculator Community => Discontinued => Major Community Projects => KnightOS => Topic started by: SirCmpwn on June 15, 2010, 11:14:05 pm

Title: KnightOS
Post by: SirCmpwn on June 15, 2010, 11:14:05 pm
Thanks for your interest in KnightOS!  Here's some stuff you might like to check out:
Latest Update (http://knightos.sf.net)
Demo Downloads:
TI-73 (http://knightos.sf.net/downloads/KnightOS_73-DEBUG.73u)
TI-83+ (http://knightos.sf.net/downloads/KnightOS_83p-DEBUG.8xu)
TI-83+ SE (http://knightos.sf.net/downloads/KnightOS_83pSE-DEBUG.8xu)
TI-84+ (http://knightos.sf.net/downloads/KnightOS_84p-DEBUG.8xu)
TI-84+ SE (http://knightos.sf.net/downloads/KnightOS_84pSE-DEBUG.8xu)

DISCLAIMER: These OS files are pre-release demos, and are not guaranteed to be stable.  In the event that you need to remove KnightOS or repair any problems, simply remove a battery, hold down DEL, and replace it.  You will be able to send a new OS.  Regardless, no responsibility for damage incurred by using these demos should be leveled against Drew DeVault.

(http://img.removedfromgame.com/imgs/KnightOS-10-9-2011.gif)
Title: Re: KnightOS
Post by: DJ Omnimaga on June 15, 2010, 11:16:06 pm
Oh cool I'll check ASAP :D
Title: Re: KnightOS
Post by: SirCmpwn on June 15, 2010, 11:16:40 pm
*a-HEM!*
<--


*EDIT* This was in response to a joke by DJ_O, changing my user name to SirLolli or something like that.
Title: Re: KnightOS
Post by: DJ Omnimaga on June 15, 2010, 11:18:37 pm
Lol don't worry it was not gonna last more than the time you see it :P

Except tomorrow's embeeded rickroll.... *runs*

EDIT: Sounds promising ^^

I hope once finished that someone will write a port of Axe and an editor for it since the language is getting quite popular. It should be optionally installable, though, for people who don't use Axe. Mosaic integration will be awesome too for on-calc ASM coders
Title: Re: KnightOS
Post by: Silver Shadow on June 16, 2010, 10:14:27 am
Sounds cool!
(Whether I'm referring to KnightOS, to the embedded rickroll or both is up to you to decide).

@SirCmpwn: I want teh U171M473 3D1710N!!!!
Title: Re: KnightOS
Post by: SirCmpwn on June 16, 2010, 10:29:02 am
(Whether I'm referring to KnightOS, to the embedded rickroll or both is up to you to decide).
lol
Speaking of embedded rickrolls, there is already one embedded in the kernel ;) You just have to find it...
Title: Re: KnightOS
Post by: ztrumpet on June 16, 2010, 10:56:46 am
@SirCmpwn: I want teh U171M473 3D1710N!!!!
Me too!  This sounds really cool!  How much MEM do you think it will take?  :D
Title: Re: KnightOS
Post by: SirCmpwn on June 16, 2010, 11:01:08 am
Hmm, well, first of all, I want to make clear the difference between memory and storage.  Users have no access to RAM for storage, which is used as memory, meaning memory for running programs.
Storage is the ROM, which is where the filesystem resides.  The kernel will probably stay in one page, and the OS might take up another two.
Title: Re: KnightOS
Post by: ztrumpet on June 16, 2010, 11:05:37 am
Hmm, well, first of all, I want to make clear the difference between memory and storage.  Users have no access to RAM for storage, which is used as memory, meaning memory for running programs.
Storage is the ROM, which is where the filesystem resides.  The kernel will probably stay in one page, and the OS might take up another two.
Oh, okay.  I think that's small enough to not make changing between the TIOS and KnightOS very hard.  Cool! ;D
Title: Re: KnightOS
Post by: SirCmpwn on June 16, 2010, 11:08:53 am
Also, the App to install it via TIOS should help quite a bit, as well.  It will basically let you send your calculator the app (while still running TIOS), and it will unlock flash, disable interrupts, and install KnightOS on your calculator.
When you do this or send an 8xu file, it will run an installer the first time you boot up.  This installer will get your preferences, settings, and determine if you are upgrading from TIOS.  If you are, then it will offer to convert your existing variables to be backed up into the KFS.  That way, it will save .8xps and .8xks and whatever other data you may have on your calculator into /TIOS/ in the KFS.
Title: Re: KnightOS
Post by: souvik1997 on June 16, 2010, 11:45:45 am
When is KnightOS going to be released? It seems really cool.
Title: Re: KnightOS
Post by: SirCmpwn on June 16, 2010, 11:57:41 am
Um, I will not release a date at this time.  It is nowhere near completion.
Title: Re: KnightOS
Post by: DJ Omnimaga on June 16, 2010, 12:45:06 pm
(Whether I'm referring to KnightOS, to the embedded rickroll or both is up to you to decide).
lol
Speaking of embedded rickrolls, there is already one embedded in the kernel ;) You just have to find it...
As long as you did not embeed a video :P (I don't want the OS to take 300 ish KB just because of a rickroll XD)

As for release date I think it's a bit too early to set one, plus deadlines tend to be hard to meet and put pressure on developpers. I personally just go with "It will be released once it's done", providing progress on every project by the author won't completly stop then I might start poking him for progress :P
Title: Re: KnightOS
Post by: SirCmpwn on June 16, 2010, 12:48:24 pm
The rickroll is actually a textroll, so it's all good.
Title: Re: KnightOS
Post by: DJ Omnimaga on June 16, 2010, 12:53:18 pm
Ah ok good to hear :P

I mean, let's not go overboard like the defunct DESUDESU.8xk file ;D (RealSound rickroll that was on my old UTI webspace)
Title: Re: KnightOS
Post by: SirCmpwn on June 16, 2010, 12:55:27 pm
Lol, I wouldn't bloat it like that!
It's just hold down R while it boots up for a textroll or something.  I forget the exact key combo.
Title: Re: KnightOS
Post by: DJ Omnimaga on June 16, 2010, 12:58:17 pm
Now I need to find the copy of KnightOs I had to test out... hopefully I have it nearby

EDIT: FOund! But it's not ON+R :( (that's the ROM dump)
Title: Re: KnightOS
Post by: SirCmpwn on June 16, 2010, 01:00:40 pm
I didn't think the ROM dump you had included the textroll O_o
Title: Re: KnightOS
Post by: DJ Omnimaga on June 16, 2010, 01:01:57 pm
Oh ok, then I guess I'll have to wait until you post another version somewhere D:
Title: Re: KnightOS
Post by: calcdude84se on June 16, 2010, 01:03:19 pm
Hurray! Easter eggs! :P
Never gonna give you up,
Never gonna let you down,
...
Anyway, maybe you could make it that it textrolls you unless you hold R when pressing ON :P
Title: Re: KnightOS
Post by: SirCmpwn on June 16, 2010, 01:11:04 pm
*sigh*
I'm actually getting to the point where another download doesn't make sense, and it will appear to go backwards in progress in terms of visible things, but far forward in actuality.  It's kind of hard to describe.
Title: Re: KnightOS
Post by: calcdude84se on June 16, 2010, 01:12:36 pm
Yeah, until the API is complete and documented, I agree it's not useful to release a copy.
I think this is sort of what you mean...
Title: Re: KnightOS
Post by: DJ Omnimaga on June 16, 2010, 01:15:16 pm
*sigh*
I'm actually getting to the point where another download doesn't make sense, and it will appear to go backwards in progress in terms of visible things, but far forward in actuality.  It's kind of hard to describe.
I was not really telling you you should release another version, I just mentionned I would check for the Easter Egg on the next version available for download, regardless of when it's out.

Plus it might be good to actually implement some more stuff before doing so to impress people more, especially on less open-minded calculator forums (in terms of project showcases)
Title: Re: KnightOS
Post by: SirCmpwn on June 16, 2010, 01:17:31 pm
Well, if you want a copy of the rickroll version, you can have it if you *really* want to be rickrolled ;)
Title: Re: KnightOS
Post by: DJ Omnimaga on June 16, 2010, 01:20:25 pm
Ah ok ^^

*cough*e-mail*cough*
Title: Re: KnightOS
Post by: SirCmpwn on June 16, 2010, 01:22:16 pm
*cough*don't have it at work*cough*
Title: Re: KnightOS
Post by: DJ Omnimaga on June 16, 2010, 01:25:59 pm
Ok then :P

Anyway, once it's finished, I really hope somebody writes an editor to write Axe programs and compile them on calc. This language is revolutionary in terms of high level programming for calcs. As for TI-BASIC, well, someone would have to write a parser I guess and port xLIB/Celtic III, and that could be a lot of work due to how many BASIC functions there are compared to Axe x.x
Title: Re: KnightOS
Post by: calcdude84se on June 16, 2010, 01:29:53 pm
The main problem is that either quigibo or another interested person would have to port it, since the KnightKernel (and any shell for it) almost certainly does not have the same API as the TI-OS. The other option is if Sir wants to make a compat layer (not fun...)
btw, did I mention that your naming methods remind of batman? (knightos, the knightkernel, the knight file system...) :P
Title: Re: KnightOS
Post by: SirCmpwn on June 16, 2010, 01:30:39 pm
Yeah, but take a look at the campaign paragraph of the PDF above ;)
Title: Re: KnightOS
Post by: DJ Omnimaga on June 16, 2010, 01:31:57 pm
The major issue I thought about was the lack of Bcalls from the TI-OS. The porter would need to write them or use some from the new OS, and Quigibo would need to port it, if he doesn't release Axe Parser v1.0 source.

And what would be a Compat layer? I think I saw this mentioned somewhere but I forgot x.x
Title: Re: KnightOS
Post by: calcdude84se on June 16, 2010, 01:34:49 pm
A compatibility layer would allow TI-OS programs to be run unmodified. The only problem is it's a lot of work, and some very low-level programs (i.e. ones that mess directly w/the VAT) wouldn't work. It's kind of like Wine.
Title: Re: KnightOS
Post by: SirCmpwn on June 16, 2010, 01:35:16 pm
Hmm?  Compat layer?  Never heard of it...
But KnightOS offers many methods that would make games easy to port.  Utilities, on the other hand, would be a bit harder, especially if they depend on the home screen or Ans.
Title: Re: KnightOS
Post by: DJ Omnimaga on June 16, 2010, 01:38:59 pm
I wonder what's the total size of all TI-OS BCalls? If all of them were included (well, not the original code, for copyright reasons), would it make the OS size end up almost the same as TI-OS? I hope not x.x
Title: Re: KnightOS
Post by: SirCmpwn on June 16, 2010, 01:39:32 pm
BrandonW would probably know, ask him.
Title: Re: KnightOS
Post by: calcdude84se on June 16, 2010, 01:40:43 pm
Well, you'd only include the most important and most used ones. Size is definitely a problem, though.
Title: Re: KnightOS
Post by: SirCmpwn on June 16, 2010, 01:42:35 pm
KnightOS will not include any TIOS bcalls.  However, programs should be fairly easy to port.  It will include Ion routines, for example.  (Heck, it already does ;))
Title: Re: KnightOS
Post by: calcdude84se on June 16, 2010, 01:48:02 pm
Probably a good thing, because you'd end spending most if not all of your time implementing them. The Ion routines are definitely useful. Maybe you'll include the MOS ones too? (DCS... maybe. All the graphical routines could become a pain)
Title: Re: KnightOS
Post by: ztrumpet on June 16, 2010, 01:48:32 pm
The ROM Calls appear to go from 4000h to 5329h and 8000h to 8129h.
Title: Re: KnightOS
Post by: calcdude84se on June 16, 2010, 01:50:54 pm
Those are actually used as a sort of jump table to the full routines, so the size would be much, much larger.
Title: Re: KnightOS
Post by: SirCmpwn on June 16, 2010, 01:53:02 pm
Well, I will probably include MOS routines, too.  However, DCS is closed-source and active, and I don't want to piss off KermM :)
Plus, KnightOS offers it's own GUI system, remember?
Title: Re: KnightOS
Post by: ztrumpet on June 16, 2010, 01:53:28 pm
Those are actually used as a sort of jump table to the full routines, so the size would be much, much larger.
Oh, right.  I forgot about this.  It must be pretty big then. :)
Title: Re: KnightOS
Post by: DJ Omnimaga on June 16, 2010, 01:58:14 pm
Ion/MOS routines would do, probably

As long as you include most stuff that can be used for porting games :D

Else, unless people can dual-boot, they will probably stick with the OS that can run the largest amount of games, like Windows for computers
Title: Re: KnightOS
Post by: SirCmpwn on June 16, 2010, 02:03:40 pm
Well, think about what OS routines a game *really* needs, and how many Ion/MOS routines it needs.  You'll find that most games won't depend too much on the OS.
Title: Re: KnightOS
Post by: DJ Omnimaga on June 16, 2010, 02:06:02 pm
My main worry was more about older ASM programs. I'm not one to judge since I never did an ASM game, but back in the late 90s and early 2000s, ASM programmers did not worry too much about OS dependencies, but sadly those games are classics and it would be nice to support them. That said, maybe they do not use BCalls/ROM Calls THAT much.
Title: Re: KnightOS
Post by: calcdude84se on June 16, 2010, 02:07:17 pm
The only TI-OS routines you should games are the ones for appvar lookup/creation, anyway.
Title: Re: KnightOS
Post by: SirCmpwn on June 16, 2010, 02:09:10 pm
Exactly.  And, those should be converted to use KFS instead, anyway.
Title: Re: KnightOS
Post by: calcdude84se on June 16, 2010, 02:14:54 pm
I take it every program will have to be ported, then? I can't see write-back working well, given that, after running, the program is locked to a certain address.
Title: Re: KnightOS
Post by: SirCmpwn on June 16, 2010, 02:16:31 pm
Writeback is being discouraged, although it is possible.
Title: Re: KnightOS
Post by: DJ Omnimaga on June 16, 2010, 02:26:30 pm
That might be a serious for RPGs like Dying Eyes, Joltima, The Verdante Forest and games like Gemini, if writeback is not supported, though. That said, maybe when ported, the games could be modified to simply store the save data in an appvar
Title: Re: KnightOS
Post by: ztrumpet on June 16, 2010, 03:07:59 pm
Is it possible to easily dual boot?  If so, do we need to have compatibility?  Ex:  Celtic III vs Omnicalc. :)
Title: Re: KnightOS
Post by: SirCmpwn on June 16, 2010, 03:15:08 pm
Yes, but not with TIOS.  You will be able to dual-boot with any other KnightKernel-based OS (the KnightKernel is going to be released separately as a basis for new OSes).
Title: Re: KnightOS
Post by: ztrumpet on June 16, 2010, 03:17:22 pm
Oh, okay.  That's too bad. =/
Title: Re: KnightOS
Post by: SirCmpwn on June 18, 2010, 11:03:29 am
Update
*Re-working the KFS driver to be structured better for possible extensions in the future
*Added quicksort and random generation utility methods
*Took the splash screen out of the kernel
*Hammered out some bugs in memory allocation
Title: Re: KnightOS
Post by: meishe91 on June 18, 2010, 02:58:33 pm
Nice, thanks for the update :)
Title: Re: KnightOS
Post by: Builderboy on June 18, 2010, 03:02:13 pm
Sounds awesome!  What other kinds of features are in the works/planning to be worked on?
Title: Re: KnightOS
Post by: SirCmpwn on June 18, 2010, 03:09:08 pm
Okay, I would like to but this out there.
There seems to be quite a bit of excitement over KnightOS.  A lot of people have been asking for features, several people want Axe, and I've gotten a lot of discouragement for getting ahead of the game.  All I do is consider the possibility of including features, and say that I'll try if I think it's reasonable.  I have been pressured into releasing details, and I'm starting to regret it.  I won't cut off the details, but I will be a bit more conscious of what I post.
An OS is a huge undertaking, especially for an individual.  I'm worried that I might disappoint many of the people who are excited over it.

BuilderBoy, first post.
Title: Re: KnightOS
Post by: SirCmpwn on June 18, 2010, 05:21:06 pm
Attached is preliminary documentation on the KFS.  It is not just subject to change, it is almost guaranteed to change, but it is what I have right now.
Title: Re: KnightOS
Post by: DJ Omnimaga on June 18, 2010, 05:25:12 pm
Cool to see updates! Keep up the good work. I undestand, too, that it can be a huge project. You might have a small advantage on several old OS projects, though, because since you are working solo (with maybe people helping you with ASM stuff from time to time), you don't have other team members that criticises every idea you have and refuse to let you add them, and all conflicts that goes with it, that killed older OS projects (in summary, the team couldn't even set a final decision whenever adding features so it went nowhere)
Title: Re: KnightOS
Post by: SirCmpwn on June 18, 2010, 05:25:38 pm
Thanks for the support.

Also:
(http://i855.photobucket.com/albums/ab120/SirCmpwn/MemoryLayout.png)
Title: Re: KnightOS
Post by: DJ Omnimaga on June 18, 2010, 05:29:10 pm
If I remember correctly, 8000-FFFFh is RAM and the rest archive (well... 32 KB of it), right?
Title: Re: KnightOS
Post by: Ikkerens on June 18, 2010, 05:46:05 pm
I can't help but wonder...
Can it calculate? :o

Isn't that still the one true purpose of calculators?
Title: Re: KnightOS
Post by: Galandros on June 18, 2010, 05:48:44 pm
Nice. One thing coders will especially like in 3rd party OSes is all the RAM (and falsh too) that will be "freed". TIOS takes lots of memory (ram or flash), some part of it is comprehensive because of all the math stuff but still sometimes, well...

Good work and keep up, you lone wolf on OS coding. (and Brandon Wilson) I just love the lone wolf expression. (no irony, btw, for avoiding possible misunderstandings)
@DJ: teams coding OSes is overly discussed in forums. Many claim assembly coding style from programmer to programmer makes a coding team a lot harder. Also the things you said are true. I am just completing a bit.
I think assembly in z80 coding in pairs is possible if the two partners are close and loyal. But there is few pairs in hobbyists like us. I only have seen with some success in TI-BASIC pairs. More than 2 does not seem to go well.
Title: Re: KnightOS
Post by: DJ Omnimaga on June 18, 2010, 05:49:40 pm
Not yet. That will be an optional add-on, because this OS is aimed primarly for gaming and development, not for maths. The math add-on will come once the entire OS is finished and be optional, for people who don't need it (and want to save space)

Also I didn't knew calculators were for maths? :O

Oh wait! I forgot they are, outside of Omnimaga :P
Title: Re: KnightOS
Post by: SirCmpwn on June 19, 2010, 02:19:06 am
Woah, DJ.  No posts like that, please, where someone unconditionally guarantees a feature.
And the math will be a big part of it.  I actually intend this for normal users, but I have more features for developers if they want.
Title: Re: KnightOS
Post by: DJ Omnimaga on June 19, 2010, 09:27:27 am
I wrote this because everytime someone begs for a feature you start snapping at everyone to quit being so impatient, and I understand an OS project is an huge undertaking. So my reflex when someone started asking for math stuff was to remind people to be patient and not put too much pressure on you. I just do not like the way you respond to those posts so I did it myself. Also to me it is unclear in your doc if the math stuff is a priority or not. It's listed there but I could not find any indication that math stuff is going to be one of the first things added into developpement.

I am sorry, Sir, but you need to change your approach on how you respond to people replies to your projects, else what happens is that you scare people off the topic and make anyone else even more relunctant to reply at all. I am certain this project would have much more replies otherwise. We request features, you jump on us. We praise the project without giving any suggestion, you jump on us. We suggest improvements, you on us, then we tell people to not put too much pressure on you so you don't do this anymore, yet you still find a reason to jump on us! Well, I'm tired of it. For now I will rate down every post you make that does that, and this is my very last reply in this topic that is related directly to your OS project. I am scared to even give anymore feedback to the project so why should I bother making myself nervous about how I am gonna get replied at?
Title: Re: KnightOS
Post by: SirCmpwn on June 19, 2010, 12:49:30 pm
I'm sorry.
I guess I've been snappy about KnightOS because of the severe discouragement I've gotten over at #cemetech.  I'll do better about it.  I've just seen a lot of feature requests for KnightOS in a short amount of time, and I'm only halfway done with the kernel.  That's not even 5% done on the whole thing.
I won't be so pushy about it.  I'm sorry if I jumped on anyone.

Also, the math is super complex, I'm not dealing with it until later in the development process.
Title: Re: KnightOS
Post by: DJ Omnimaga on June 19, 2010, 12:55:49 pm
Did people bash you or something to discourage you from working on it, like with comments saying "you'll never succeed"? Or mostly feature request spam? I guess the two could be a bit hard to handle x.x

Don't worry, though. If people request features, you don't have to add them all if you don't want to and you can decide when to add them. Plus, one thing at a time as some people would say (which is what I implied two posts above but sadly was interpreted as wrong too).
Title: Re: KnightOS
Post by: SirCmpwn on June 19, 2010, 12:58:01 pm
It's a combination of feature requests, bashing, lack of help, and a general negative tone towards the project.

And I did not mean to offend you with the post a while back about unconditionally guaranteeing a feature.  It's just that I don't want to be committed to any one feature yet, and I don't want you to be held accountable as well if someone gets pissed that I don't add something.
Title: Re: KnightOS
Post by: meishe91 on June 19, 2010, 01:03:19 pm
It's completely fine, I understand where you are coming from.

If people over at Cemetech are being rude, discouraging, and trashing this project then just tell them to shut up and be on your way. No one needs to hear it and if they just want to be mean just ignore it (I know, easier said than done (and extremely cliché :P)). No, I'm not trying to be mean to people at Cemetech, just saying it is not cool to put down a project or discourage it or anything like that no matter where you are from.

As for the feature thing, take it as a compliment. Don't worry about them to much but we suggest them because we just think of something that would really contribute to this and we say so we can help maybe in some way. For now I would say just write them down and put them on the back burner for later when you're ready for them. We just want to see you succeed :) You have all the support in the world over here on Omni ;D

Edit:
Couple posts late but oh well :P
Title: Re: KnightOS
Post by: SirCmpwn on June 19, 2010, 01:05:04 pm
It's completely fine, I understand where you are coming from.

If people over at Cemetech are being rude, discouraging, and trashing this project then just tell them to shut up and be on your way. No one needs to hear it and if they just want to be mean just ignore it (I know, easier said than done (and extremely cliché :P)). No, I'm not trying to be mean to people at Cemetech, just saying it is not cool to put down a project or discourage it or anything like that no matter where you are from.

As for the feature thing, take it as a compliment. Don't worry about them to much but we suggest them because we just think of something that would really contribute to this and we say so we can help maybe in some way. For now I would say just write them down and put them on the back burner for later when you're ready for them. We just want to see you succeed :) You have all the support in the world over here on Omni ;D
Thanks!
And I'm slowly convincing Cemetech that I know what I'm doing, so it's getting better.
I've put several feature requests in a single document, and I hope that people forget about some of the harder ones later on ;)
Title: Re: KnightOS
Post by: meishe91 on June 19, 2010, 01:09:27 pm
No problem, just keep up the good work :)

Ah ok, well that is good. Hopefully Cemetech will come around fully soon.
Title: Re: KnightOS
Post by: DJ Omnimaga on June 19, 2010, 01:11:55 pm
Yeah the issue is that in the TI community, it's hard to impress people who have been around for a while, and those people, including myself, have seen a lot of big projects die. Everytime something new is announced in its very early stages, people will be skeptical. I admit I was, initially, with Axe Parser. The thing, though, is that at Omnimaga, we encourage people to not discourage programmers from their projects and to just give them a try. We will make sure people won't announce stuff in way too early stages, though (like, absolutely no backend coding done, just a splash screen). If they do, people will beg for screenshots showing the thing in action, anyway.

I feel we need to encourage people to try new things and to not give up unless it's a totally useless/pointless project they're working on, because this is what makes the community grow. Heck, even if BrandonW is working on his own OS too, he still encouraged the development of your OS in the way he wants people to try new stuff.

Eventually you may convince people at Cemetech, though.

Anyway good luck!
Title: Re: KnightOS
Post by: SirCmpwn on June 19, 2010, 01:14:25 pm
(like, absolutely no backend coding done, just a splash screen).
Funnily enough, the frontend is just a splash screen, and the backend is super in depth.
I actually took out the splash screen a minute ago, so the frontend is pretty bland.
Title: Re: KnightOS
Post by: Builderboy on June 19, 2010, 01:14:25 pm
Writing a whole new OS has got to be one of the most difficult things a programmer can do O.O you go at your own pace and pay no head to the people telling you what you can and cant do, and we will support your decisions :)
Title: Re: KnightOS
Post by: TIfanx1999 on June 19, 2010, 09:09:18 pm
I think this is a really cool idea, and it'll be really fun to play around with once it reaches a more complete state. I'll read up on the pdf when I have some time and give some input. =) And don't get discouraged, Haters be hatin. This is a HUGE undertaking, but the learning experience and the satisfaction once it is completed will be worth it. =)
Title: Re: KnightOS
Post by: DJ Omnimaga on August 01, 2010, 01:00:12 pm
I like the new update. I saw the screenshot yesterday and it was epic so far. I wonder what kind of music will be supported?
Title: Re: KnightOS
Post by: jnesselr on August 01, 2010, 06:59:05 pm
Can I test it?  Please.

I am glad that that you are releasing the kernel as well.  How easy will it be to program an OS with the kernel?  Also, are all programs compatible with the kernel be compatible with every OS?  Also, DJ mentioned a screenshot, and I couldn't seem to find one in this topic.
Title: Re: KnightOS
Post by: SirCmpwn on August 01, 2010, 08:08:29 pm
Compatible with every OS?  Probably not, unless they don't use any OS provided libraries.  However, I could easily see games being cross compatible.  GUI based programs would probably change across platforms.
Also, I will have a demo out soon, we just did all the testing we needed.  Thank you for the offer.
As for screenshots, the current version looks like this (my version, not Eeems's, who has a slightly different front-end):
Title: Re: KnightOS
Post by: jnesselr on August 01, 2010, 08:25:41 pm
It looks amazing. (Considering it's running just like an OS would)  Also, how easy is it to compile against the kernel?  Is it like C, asm, or what?  Can I help with development?  And, last question, will the demo include the kernel separately?
Title: Re: KnightOS
Post by: SirCmpwn on August 01, 2010, 08:27:39 pm
It's z80 assembly.  Also, I will release the kernel in a few days when it is OS ready.

I like the new update. I saw the screenshot yesterday and it was epic so far. I wonder what kind of music will be supported?

Music right now is not that great.  I may take the sound driver out of the kernel.
Title: Re: KnightOS
Post by: Eeems on August 02, 2010, 01:27:31 am
Yeah the sound driver is just basic beeps right now, although I wonder if we will be able to make a quad channel or at least dual channel driver that doesn't lower the fps as much...
I will be keeping the sound driver in my version of the Kernel though because I really like using sounds :P
Title: Re: KnightOS
Post by: meishe91 on August 02, 2010, 02:52:22 am
Very cool, glad to hear about the progress and the screenshot looks really nice!
Title: Re: KnightOS
Post by: SirCmpwn on August 02, 2010, 08:25:28 am
Update
The filesystem now has a basic flat implementation, and I will be supporting the tree in a few days.  In addition, I was able to load a file from the filesystem into RAM and execute it.
Title: Re: KnightOS
Post by: _player1537 on August 02, 2010, 08:29:15 am
Nice :D  I still haven't begun work on my program yet though (this is when I wish mosaic was finished lol.  Offtopic: Is there any way mosaic can just use like doc de to write the programs, and mosaic will compile it.  At least until the gui is finished)
Title: Re: KnightOS
Post by: SirCmpwn on August 02, 2010, 08:31:12 am
_player1537, does DocDE delimit its data with a zero?  Because that is what Mosaic uses, and the assembler itself is incomplete anyways.
Title: Re: KnightOS
Post by: _player1537 on August 02, 2010, 08:32:41 am
Oh, I must have misunderstood the other day, I thought you had said the assembler was complete, but the gui was not really started.  And I have no clue about how doc de does it :/
Title: Re: KnightOS
Post by: SirCmpwn on August 02, 2010, 08:57:37 am
The assembler works, but it won't store labels or use inc files.
Title: Re: KnightOS
Post by: Eeems on August 02, 2010, 01:52:02 pm
DocDE just a zero delimited string while editing, but when you save it to a file, it has a special header telling DCS that the file is associated with DocDE (just three bytes) and I do not believe it is zero delimited. it also does not use the standard newline for it's newlines so I'm not sure how you would store yours SirCmpwn but a token parser might need to be created to work with it.
Title: Re: KnightOS
Post by: SirCmpwn on August 02, 2010, 10:39:20 pm
Blegh, too much work.  I'm afraid you will just have to wait./me steers the topic back to KnightOS
Title: Re: KnightOS
Post by: Hot_Dog on August 02, 2010, 10:56:24 pm
Sorry if this question has been asked, but will KnightOS grant access to more RAM?
Title: Re: KnightOS
Post by: SirCmpwn on August 02, 2010, 10:58:54 pm
What do you mean?  Users won't have access to the RAM, if that's what you mean.  That's just stupid, and TI should have never done it.  Put valuable user data in a place that is wiped everytime the calculator crashes or the power is lost?/me smacks TI
Title: Re: KnightOS
Post by: Eeems on August 02, 2010, 11:00:41 pm
I do believe so
Title: Re: KnightOS
Post by: SirCmpwn on August 02, 2010, 11:02:33 pm
O_o you believe what?
Title: Re: KnightOS
Post by: Hot_Dog on August 02, 2010, 11:04:19 pm
What do you mean?  Users won't have access to the RAM, if that's what you mean.  That's just stupid, and TI should have never done it.  Put valuable user data in a place that is wiped everytime the calculator crashes or the power is lost?/me smacks TI

Okay, question answered.  What I meant was, people have 24 KB RAM on the normal Ti-83+, so I didn't know if there would be more than that in Knight OS
Title: Re: KnightOS
Post by: SirCmpwn on August 02, 2010, 11:05:08 pm
Oh.  Well, programs will have as much RAM as the calculator can provide, minus a few hundred for the OS.
Title: Re: KnightOS
Post by: Hot_Dog on August 02, 2010, 11:07:31 pm
Oh.  Well, programs will have as much RAM as the calculator can provide, minus a few hundred for the OS.

So, approximately how much is that going to be??
Title: Re: KnightOS
Post by: SirCmpwn on August 02, 2010, 11:08:03 pm
I'm not sure.  If programs call RequestFullAccess, then they get *all* of the RAM.
Title: Re: KnightOS
Post by: _player1537 on August 02, 2010, 11:11:03 pm
What about maybe a special version with the extra ram, the 84+/se's that is.
Title: Re: KnightOS
Post by: Eeems on August 02, 2010, 11:11:17 pm
O_o you believe what?
x.x  ninja'd
Title: Re: KnightOS
Post by: SirCmpwn on August 03, 2010, 09:27:56 am
Update
Program loading now works almost completely, I'm going to work on the tasker later today, after band camp.
Title: Re: KnightOS
Post by: Hot_Dog on August 03, 2010, 10:13:08 am
Update
Program loading now works almost completely, I'm going to work on the tasker later today, after band camp.

Cool!  This project is going quite well!
Title: Re: KnightOS
Post by: Builderboy on August 04, 2010, 01:54:01 am
Where are programs copied to?
Title: Re: KnightOS
Post by: SirCmpwn on August 04, 2010, 09:25:51 am
RAM
You can use SMC, but not writeback.
Title: Re: KnightOS
Post by: DJ Omnimaga on August 04, 2010, 08:42:03 pm
Awesome to see progress :)
Title: Re: KnightOS
Post by: SirCmpwn on August 04, 2010, 11:39:11 pm
Update
KnightOS made a major stride today - relative address loading.  At runtime, a program has no idea where it will end up in RAM, and therefore cannot correctly load relative pointers, or perform relative jumps or calls.  I just implemented kld, which has the same syntax as ld, but it calls a system routine that adds the program's RAM offset to the specified address, and uses SMC to modify the executing code so that it only needs to run the system routine once.  It's pretty awesome.
Title: Re: KnightOS
Post by: DJ Omnimaga on August 04, 2010, 11:46:14 pm
Sounds promising. Btw I forgot: What was the max size of programs? Is it the total RAM size (or close)?
Title: Re: KnightOS
Post by: SirCmpwn on August 05, 2010, 12:10:00 am
Most of RAM, yes.  There is a little bit that the OS uses.  You can't go past C000h, though, that's a hardware constraint.
Title: Re: KnightOS
Post by: thepenguin77 on August 05, 2010, 12:40:18 am
While things are still in the very early stages, what if you used page 83 instead of page 80 for the second ram bank. This wouldn't be compatible with 83+, but it would allow code execution everywhere. Or at least swap 83 in when programs are executing. This way, you are already better than TI-OS in terms of program size.
Title: Re: KnightOS
Post by: SirCmpwn on August 05, 2010, 08:40:53 am
Yeah, I may consider that.  I'm also experimenting with the idea of removing the execution restriction from page 80.
I also got kld and kcall to work last night.
Title: Re: KnightOS
Post by: SirCmpwn on August 05, 2010, 08:57:26 am
Update
KnightOS now supports relative loading, jumping, and calling within executing programs via the kld, kcall, and kjp macros.  This is how it works:
Before running, the code for kld hl, HelloWorld, assuming that HelloWorld is at 0015h, looks like this:
rst 08h
ld hl, 0015h
Now, KnightOS loads the program into RAM and executes it.  However, programs do not know where they will be loaded at runtime.  Let's assume that it is loaded into 8100h.  When rst 08h is executed, KnightOS changes the code to this:
nop
ld hl, 8115h
This way, it is much faster and it never has to execute the rst again.  The same method applies to kcall and kjp.
Title: Re: KnightOS
Post by: nemo on August 05, 2010, 09:17:08 am
i know it's hard to set release dates, but do you think you'll release an early alpha version sometime before the new year? it'd be cool to use it during the school year  ;D regardless, nice progress. keep up the good work!
Title: Re: KnightOS
Post by: SirCmpwn on August 05, 2010, 09:26:50 am
I can almost guarantee an alpha or a beta (or a release) by the end of this year.  Note the "almost."
I will probably have the full KnightKernel released by Sunday for programmers to build their own OSes on.
Title: Re: KnightOS
Post by: Deep Toaster on August 05, 2010, 09:32:06 am
What do you mean?  Users won't have access to the RAM, if that's what you mean.  That's just stupid, and TI should have never done it.  Put valuable user data in a place that is wiped everytime the calculator crashes or the power is lost?/me smacks TI

So basically (in terms of the TI-OS), this means that everything's going to stored in archive and run from archive, right?

Update
KnightOS now supports relative loading, jumping, and calling within executing programs via the kld, kcall, and kjp macros.  This is how it works:
Before running, the code for kld hl, HelloWorld, assuming that HelloWorld is at 0015h, looks like this:
rst 08h
ld hl, 0015h
Now, KnightOS loads the program into RAM and executes it.  However, programs do not know where they will be loaded at runtime.  Let's assume that it is loaded into 8100h.  When rst 08h is executed, KnightOS changes the code to this:
nop
ld hl, 8115h
This way, it is much faster and it never has to execute the rst again.  The same method applies to kcall and kjp.

Wow, that's great! Will it do that right after the program is called, but before the program actually starts?

i know it's hard to set release dates, but do you think you'll release an early alpha version sometime before the new year? it'd be cool to use it during the school year  ;D regardless, nice progress. keep up the good work!

What about the calculator's true purpose, though :D
Title: Re: KnightOS
Post by: ztrumpet on August 05, 2010, 09:41:35 am
Wow, that sounds neat!  Nice progress Sir. ;D
Title: Re: KnightOS
Post by: nemo on August 05, 2010, 09:43:03 am
What about the calculator's true purpose, though :D

hmm... depends upon Knight's functionality then. I remember Sir did say that a CAS was something he hopes to implement. doubt it'll be in an alpha or beta though. hopefully enough math features will exist to get by. depends on how math-intense Trig will be for me as well.

Sir, will equation graphing and tables be implemented in the possibility of a beta?
Title: Re: KnightOS
Post by: Deep Toaster on August 05, 2010, 09:51:15 am
What about the calculator's true purpose, though :D

hmm... depends upon Knight's functionality then. I remember Sir did say that a CAS was something he hopes to implement. doubt it'll be in an alpha or beta though. hopefully enough math features will exist to get by. depends on how math-intense Trig will be for me as well.

Sir, will equation graphing and tables be implemented in the possibility of a beta?

Wow, I actually totally forgot about graphing ... wait, this is a graphing calculator? :o

Graphing might actually be useful in certain places ;D
Title: Re: KnightOS
Post by: thepenguin77 on August 05, 2010, 09:59:59 am
Sir, I was just thinking, how smart is your kld routine? I am just worried that if you had data like .db $45, $CD, $FF, $00, that kld would mess with it.
Title: Re: KnightOS
Post by: jnesselr on August 05, 2010, 10:02:14 am
So the start of an asm program will be .org 0000?
Title: Re: KnightOS
Post by: Deep Toaster on August 05, 2010, 10:10:50 am
So the start of an asm program will be .org 0000?

Oh yeah, about that: it'll still work with all the major assemblers, right?
Title: Re: KnightOS
Post by: calc84maniac on August 05, 2010, 10:17:54 am
Update
KnightOS now supports relative loading, jumping, and calling within executing programs via the kld, kcall, and kjp macros.  This is how it works:
Before running, the code for kld hl, HelloWorld, assuming that HelloWorld is at 0015h, looks like this:
rst 08h
ld hl, 0015h
Now, KnightOS loads the program into RAM and executes it.  However, programs do not know where they will be loaded at runtime.  Let's assume that it is loaded into 8100h.  When rst 08h is executed, KnightOS changes the code to this:
nop
ld hl, 8115h
This way, it is much faster and it never has to execute the rst again.  The same method applies to kcall and kjp.
Nice, that's a great idea. It certainly removes the need for searching through the code manually and figuring out the difference between code and data. I assume the same rst routine is used for kld, kcall, and kjp? (btw, in the case of kjp, it might generate faster code to move the nop after the jump)

Edit: Also, are you making programs be loaded at memory addresses aligned to multiples of 256? This might be a good idea, because you will only have to modify one byte with this routine, and secondly programs can still have 256-byte-aligned lookup tables (which are very common in z80 asm)
Title: Re: KnightOS
Post by: SirCmpwn on August 05, 2010, 10:55:52 pm
No, I will not have memory allocated in 256 byte chunks.  I can think of >9000 reasons to use small amounts of data.  Also, the routine has no noticeable delay, and if it was in something like a raycasting engine that needed the speed, users would barely notice it because it would only be slower the very first time through a loop.

Oh yeah, about that: it'll still work with all the major assemblers, right?
Yes.  I'm going to explicitly support Brass, TASM, ZDS and Spasm.

So the start of an asm program will be .org 0000?
Yes.

Sir, I was just thinking, how smart is your kld routine? I am just worried that if you had data like .db $45, $CD, $FF, $00, that kld would mess with it.
I'm not sure what you mean by this.  You can use kld to replace ld, and when it runs, it just gets replaced with ld anyway.  At runtime, it's no different than coding for TIOS.

@Deep Thought: Programs run from RAM, not archive.  Otherwise kld/kcall/kjp would not be able to modify the code.

As for math, that is most definitely a priority.  This *is* a calculator OS.  A CAS is planned if I can pull it off, as well as graphing and table generation.  If you can do it in TIOS, the goal is to be able to do it better in KOS.
Title: Re: KnightOS
Post by: thepenguin77 on August 05, 2010, 11:00:51 pm
Sir, I was just thinking, how smart is your kld routine? I am just worried that if you had data like .db $45, $CD, $FF, $00, that kld would mess with it.
I'm not sure what you mean by this.  You can use kld to replace ld, and when it runs, it just gets replaced with ld anyway.  At runtime, it's no different than coding for TIOS.


I spoke before I understood. When you said it only has to be run once, I thought that you would put rst 8h at the start of your program and every single call or ld would be changed. I forgot it was a macro every time.
Title: Re: KnightOS
Post by: SirCmpwn on August 05, 2010, 11:01:31 pm
Ah.  BAOS does something like that, but I don't like how long it takes to load programs in BAOS, or the way it does multitasking.
Title: Re: KnightOS
Post by: jnesselr on August 05, 2010, 11:06:00 pm
so what about programs that are already in ASM, that are like apps, loading at $4000, or asm programs that load at $9D95?  I guess you'll have to re-write them, because most use locations like AppBackupScreen.  Speaking of data, how exactly will a program request data to use? like, if they need 768 bytes of data or something.
Title: Re: KnightOS
Post by: SirCmpwn on August 05, 2010, 11:08:06 pm
As for the first part, about apps and AppBackupScreen, I have no idea what you are talking about x.x
Programs request 768 bytes of data like this:
Code: [Select]
ld bc, 768
call AllocateMem ; BC = amount, HL = pointer to allocated data
; Use the memory here
Title: Re: KnightOS
Post by: Eeems on August 05, 2010, 11:17:45 pm
so what about programs that are already in ASM, that are like apps, loading at $4000, or asm programs that load at $9D95?  I guess you'll have to re-write them, because most use locations like AppBackupScreen.  Speaking of data, how exactly will a program request data to use? like, if they need 768 bytes of data or something.
you can't just port over a program from TIOS you have to first convert it to be compatible with KOS, they have completely different layouts, and we wont have the same bcalls, if we call them that.
Title: Re: KnightOS
Post by: SirCmpwn on August 05, 2010, 11:19:20 pm
lcalls, actually.
And Eeems is right, they will be totally incompatible without some serious changes.
Title: Re: KnightOS
Post by: nemo on August 05, 2010, 11:20:53 pm
will there be an interpreted language that you can edit on-calc, like TI-Basic? That would be pretty cool to have.
Title: Re: KnightOS
Post by: SirCmpwn on August 05, 2010, 11:21:36 pm
Maybe.  It all depends on what people make for it.  Quigibo had mentioned that he may want to port Axe to KOS at some point.
Title: Re: KnightOS
Post by: nemo on August 05, 2010, 11:31:39 pm
well, i'm pulling for a TI Basic-like language for KOS. one last question before i go to sleep, could it be possible to have both KOS and the TIOS on the same calculator, and then choose which one to boot at startup? just like a partitioned hard drive. i don't see it happening due to the drastic differences in the way the two OS's allocate memory, but i thought i should ask.
Title: Re: KnightOS
Post by: SirCmpwn on August 05, 2010, 11:33:14 pm
That is not feasible.  Sorry.  The two are radically different and would never get along on the same calculator.
Title: Re: KnightOS
Post by: TC01 on August 05, 2010, 11:37:01 pm
What about having both on a flash drive, and having a TI-OS installer to install KOS off of the flash drive, and a KOS installer to install TI-OS off of a flash drive?

Would that be feasible?
Title: Re: KnightOS
Post by: SirCmpwn on August 05, 2010, 11:37:32 pm
O_o it may be feasible, but I'm certainly not doing it.
Title: Re: KnightOS
Post by: TIfanx1999 on August 05, 2010, 11:42:21 pm
This is going to be really awesome. I'm very happy to see constant progress on this. Keep up the great work! =)
Title: Re: KnightOS
Post by: SirCmpwn on August 05, 2010, 11:44:46 pm
Thanks for the support!  I really mean it, the community originally shunned the idea of this and shot me down.  Now, everywhere I turn is someone encouraging KnightOS, requesting features, wanting to start coding for it, start coding *on* it, or generally giving off an air of support.  It's coming along great guys!
I expect to finish the kernel by Sunday at the latest, tomorrow if I'm lucky.

EDIT: The attached image really illustrates my point :P
Title: Re: KnightOS
Post by: chrisf1337 on August 06, 2010, 12:50:13 am
Cool, we're all looking forward to it. :D
Title: Re: KnightOS
Post by: Quigibo on August 06, 2010, 01:18:33 am
If calls and jumps will need to be changed to kcalls and kjumps, I assume the syntax in assemblers will be like the bcall for the TiOS.  But won't that cause some major slowdowns in the programs?  I mean the rst instruction, reading the next bytes to do the calculation with, retrieving the current location of the program, calculating the new location, and then jumping there, all while preserving all the registers and flags is a lot more T-states than most z80 programmers are used to for those instructions.  Also, how are you handling conditional jumping?  You're going to have to have a way to do that somehow because there is no practical way to read the parity and sign flags any other way.
Title: Re: KnightOS
Post by: SirCmpwn on August 06, 2010, 09:23:11 am
It's really, really easy to do all of this.  I don't.
The macro includes the real code.  It actually has the same code (call xxxx, ld xx, xxxx), but it just has the rst before it.  KOS simply changes the RST to an nop, and modifies the value of the instruction.  Then it returns to the program.  It doesn't actually perform the jump or the call or anything.  Conditional jumping is the same way.  The instruction is there, but KOS doesn't need to know what is actually happening, it just fixes the address.  And yes, it takes a lot of t-states, but it only does so once.  It modifies the code and it never happens again.  And realistically, this causes no noticeable delay user-side.
Title: Re: KnightOS
Post by: calc84maniac on August 06, 2010, 11:34:45 am
No, I will not have memory allocated in 256 byte chunks.  I can think of >9000 reasons to use small amounts of data.  Also, the routine has no noticeable delay, and if it was in something like a raycasting engine that needed the speed, users would barely notice it because it would only be slower the very first time through a loop.
How are programmers supposed to use 256-byte-aligned lookup tables then? I was really just talking about loaded programs being aligned, not all data requested. Or would the program need to request all RAM to do something like that?
Title: Re: KnightOS
Post by: mapar007 on August 06, 2010, 02:13:40 pm
Wow, I missed a lot last week... (camping stuff)

Progress seems to go well, congratz Sir.
Title: Re: KnightOS
Post by: Eeems on August 06, 2010, 04:29:07 pm
I'm going to be filming Rogue in action on a real calc as proof that it is running fine :) I'll upload it today and then I'm off to vacation for 4 weeks.
Title: Re: KnightOS
Post by: Eeems on August 06, 2010, 07:03:51 pm

sorry about the doublepost, but here is the video I had promised in the Feature Requests section
Title: Re: KnightOS
Post by: DJ Omnimaga on August 06, 2010, 07:10:27 pm
I got textroll'd D:

Nice vid btw, I like to see the OS in action on the real calc ^^
Title: Re: KnightOS
Post by: Eeems on August 06, 2010, 07:32:13 pm
:p I had to :p
Thanks :) yeah I do too :)
Title: Re: KnightOS
Post by: SirCmpwn on August 06, 2010, 10:50:57 pm
calc84, I'm afraid you will have to do just that.  But I want you guys to stop and think.  Aside from getting programmer cred for saving a few T-States, will users really notice much more of a difference?  I mean, honestly, guys.
Title: Re: KnightOS
Post by: DJ Omnimaga on August 06, 2010, 11:35:37 pm
I do not know how that stuff works well, but I assume a T-State is like a tiny fraction of a millisecond or something, right? From experience, even if just in Axe, it takes a lot of code before noticing a slowdown.
Title: Re: KnightOS
Post by: Eeems on August 06, 2010, 11:37:23 pm
yeah it's that, and the slowdown is only on the first time it is run, so we don't have to really worry.
Title: Re: KnightOS
Post by: SirCmpwn on August 06, 2010, 11:49:53 pm
Thanks, Eeems, DJ.  You may look cool to other coders, but your users will not notice any difference, I promise.
Title: Re: KnightOS
Post by: Eeems on August 07, 2010, 12:28:38 am
'tis true :)
Title: Re: KnightOS
Post by: ztrumpet on August 07, 2010, 07:21:54 pm
Nice video.  It's great to see KinghtOS in action.  I loved the txtroll! ;D
Title: Re: KnightOS
Post by: Eeems on August 21, 2010, 02:00:51 pm
Thanks :) I hope to do more videos and the like later when I get back from vacation :)
Title: Re: KnightOS
Post by: shmibs on August 21, 2010, 08:26:55 pm
smexy voice. i would use this as a basis for creating a voice emulator so i'd never have to stop listening, but the sound quality is too crapulous >:[

...anyways, this looks cool and i am also excite for the completion of this amazing project(shmibs doesnt really know what else to say about it...)
Title: Re: KnightOS
Post by: SirCmpwn on August 22, 2010, 11:02:48 am
Bah, I should probably get back to work on this :P
Title: Re: KnightOS
Post by: jnesselr on August 22, 2010, 01:39:43 pm
Yay! I can't wait for the fully working kernel. This is gonna be great!
Title: Re: KnightOS
Post by: DJ Omnimaga on August 22, 2010, 03:16:41 pm
Yeah same here, I can't wait to see it in action ^^
Title: Re: KnightOS
Post by: willrandship on August 22, 2010, 03:28:55 pm
Drool....I just wish I could run it on my nspire.
Title: Re: KnightOS
Post by: SirCmpwn on August 22, 2010, 04:47:33 pm
Lol you probably can, if calc84maniac picks the emulator up again.
Title: Re: KnightOS
Post by: DJ Omnimaga on August 22, 2010, 04:52:08 pm
I hope D:
Title: Re: KnightOS
Post by: FinaleTI on August 22, 2010, 06:32:50 pm
I might have to buy another calculator just to put KnightOS on it...
Title: Re: KnightOS
Post by: DJ Omnimaga on August 22, 2010, 06:41:23 pm
I hope eventually we can dual-boot. I believe BrandonW's OS allowed so, but I'm not sure about KnightOS anymore. I forgot
Title: Re: KnightOS
Post by: SirCmpwn on August 22, 2010, 06:48:39 pm
KnightOS is drastically different than TIOS, and would never, ever be able to dual boot.  TIOS would f*** it up so bad, and KOS would f*** up TIOS so bad, it wouldn't even be funny.  However, dual booting two KnightKernel based OSes is definitely feasible.
Title: Re: KnightOS
Post by: DJ Omnimaga on August 22, 2010, 07:02:27 pm
Aaah ok thanks for clarifying. I could understand, though, considering the nature of TI-OS x.x

One thing to make sure is that teachers can disable the CAS if it's included in the OS, so TI-84+ calcs won't end up banned from schools too.
Title: Re: KnightOS
Post by: SirCmpwn on August 22, 2010, 07:06:18 pm
Yeah, or have a non-CAS version.
Title: Re: KnightOS
Post by: jnesselr on August 22, 2010, 07:14:30 pm
Yeah, or have a non-CAS version.
True, but the problem is that they won't check every calc to see if it has cas, or not. Then again, non-cas calcs can have cas software put on them, or programs, that don't really help on the ACT. I don't know about the SAT, though.
Title: Re: KnightOS
Post by: DJ Omnimaga on August 22, 2010, 07:18:07 pm
The non-casversion could be named a bit differently or vice-versa. But then, someone could hack the OS and release the CAS one with the non-CAS name
Title: Re: KnightOS
Post by: jnesselr on August 22, 2010, 07:20:00 pm
Of course.  I think that if CAS is even remotely mentioned, then the testing agencies won't let it pass. Although, for the regular TI calcs, they won't check for TI/KnightOS, and just assume that it is TI-OS.
Title: Re: KnightOS
Post by: Happybobjr on August 22, 2010, 07:27:08 pm
will KOS have a computer algebraic system?
Title: Re: KnightOS
Post by: SirCmpwn on August 22, 2010, 07:29:25 pm
It's planned, yes.  But in light of the recent information, perhaps not...
Title: Re: KnightOS
Post by: DJ Omnimaga on August 24, 2010, 05:49:28 pm
I totally forgot the following...

Will this be TI-Connect compatible?
Title: Re: KnightOS
Post by: SirCmpwn on August 24, 2010, 05:56:14 pm
Yes.  I will provide a wrapper program that will put files into .8xp's that can be sent via TI-Connect.
Title: Re: KnightOS
Post by: DJ Omnimaga on August 24, 2010, 07:26:21 pm
Cool, glad to hear :)
Title: Re: KnightOS
Post by: SirCmpwn on August 26, 2010, 08:49:31 am
Update
Multitasking now works!  That's right - you can now run up to 20 programs at once under KnightOS.
4 days of non-stop work finally paid off, I guess!  Attached is a screen shot of the process in action.  It shows two programs displaying the hex value of A, which is unique to their threads - they aren't displaying the same A.
Title: Re: KnightOS
Post by: Broseph Radson on August 26, 2010, 08:56:55 am
you can now run up to 20 programs at once under KnightOS.

mind = blown
Title: Re: KnightOS
Post by: ztrumpet on August 26, 2010, 09:56:54 am
Wow.  That's really cool.  Do you care to explain how it works? :)

Excellent job!  This was a big step.  Nice! ;D
Title: Re: KnightOS
Post by: shmibs on August 26, 2010, 10:25:45 am
hmm... would there be a way to have only one drawn to the screen and swap between which is displayed to the lcd?/me envisions the ultimate teacher key...
Title: Re: KnightOS
Post by: DJ Omnimaga on August 26, 2010, 12:09:15 pm
Playing 20 calculator games at once...
WANT

er...

I mean awesome, can't wait to try it out :)
Title: Re: KnightOS
Post by: Raylin on August 26, 2010, 04:30:46 pm
That update is full of win and awesome.
STRAIGHT. UP.
Title: Re: KnightOS
Post by: Builderboy on August 26, 2010, 04:43:06 pm
That is fantastamazing!  How in the world did you get that to work??
Title: Re: KnightOS
Post by: SirCmpwn on August 26, 2010, 05:10:51 pm
hmm... would there be a way to have only one drawn to the screen and swap between which is displayed to the lcd?/me envisions the ultimate teacher key...
Yes, that is the way that it will work in the final OS.  The kernel does not manage the screen (which you can tell by the occasional flickering on-screen when a draw process is interrupted), but the OS will.  I'm actually about to fix some of the LCD problems here in a moment.

That is fantastamazing!  How in the world did you get that to work??
It works with interrupts.  I have a table in RAM of the currently executing threads.  Each entry is 4 bytes long.  Two bytes hold where the program is executing from in memory.  Two bytes hold the current location of the program's stack, which is allocated before the program in RAM.  The interrupt pushes all the program's registers to the stack, changes threads, and pops all the registers back for the next thread.  Then, it just uses RET to go back to the program.
Title: Re: KnightOS
Post by: ztrumpet on August 26, 2010, 05:12:51 pm
Ah, very smooth.  It looks great!  Wonderful. ;D
Title: Re: KnightOS
Post by: DJ Omnimaga on August 26, 2010, 05:16:05 pm
Also, if you play a game, but the teacher gives you more work to do, and you don't want to exit the game and you switch to a Math app, game won't take much processing power, right?

I wonder if it will be possible to set priority higher for some applications (like if you convert something, for example) or if it's beyond the calc capabilities?
Title: Re: KnightOS
Post by: Deep Toaster on August 26, 2010, 05:24:32 pm
Multitasking is awesome nonetheless :D

Also, if you play a game, but the teacher gives you more work to do, and you don't want to exit the game and you switch to a Math app, game won't take much processing power, right?

I wonder if it will be possible to set priority higher for some applications (like if you convert something, for example) or if it's beyond the calc capabilities?

What about a pause function? That way, we could come back to it later without it slowing everything else down.
Title: Re: KnightOS
Post by: SirCmpwn on August 26, 2010, 05:48:54 pm
All of this will be worked out OS side, don't worry.
As for DJ's question, no.  While it is feasible, it would be extremely slow.
Title: Re: KnightOS
Post by: DJ Omnimaga on August 26, 2010, 07:51:46 pm
The priority settings question?
Title: Re: KnightOS
Post by: SirCmpwn on August 26, 2010, 07:52:42 pm
Right.
Title: Re: KnightOS
Post by: DJ Omnimaga on August 26, 2010, 07:53:19 pm
What about my other question? :P
Title: Re: KnightOS
Post by: SirCmpwn on August 26, 2010, 07:59:00 pm
Oh, right.  The game will still take up processing power, but will be notified that it lost focus, and should pause and take up less of the CPU.  It could even disable itself until the OS comes back to it.
Title: Re: KnightOS
Post by: DJ Omnimaga on August 26, 2010, 08:30:38 pm
Good to hear :)

Title: Re: KnightOS
Post by: TIfanx1999 on August 28, 2010, 09:56:19 am
Mulit-tasking is awesomesauce! :D Great job Sir!
Title: Re: KnightOS
Post by: SirCmpwn on August 28, 2010, 10:00:31 am
Thanks Art!
Title: Re: KnightOS
Post by: SirCmpwn on September 01, 2010, 10:40:20 pm
Quick to-do list of what I need to do on the KnightKernel:
*Flash Writing
*Rework the filesystem across multiple pages
*Writable filesystem
*Directory implementation in the filesystem
*Library support
Title: Re: KnightOS
Post by: Eeems on September 01, 2010, 10:41:25 pm
sounds good :)
Title: Re: KnightOS
Post by: Builderboy on September 02, 2010, 01:17:29 am
Sounds excellent :) Good luck!
Title: Re: KnightOS
Post by: DJ Omnimaga on September 02, 2010, 02:39:57 am
Sounds promising :)

I wonder how large the next version will be? /me still hopes the final KOS will be much smaller than the TI-OS so TI-83+ users got a lot more than 10 flash pages ^^
Title: Re: KnightOS
Post by: Deep Toaster on September 02, 2010, 03:47:58 pm
^ Definitely. I can't think of a way any OS could be bigger than TI's, though :D
Title: Re: KnightOS
Post by: Eeems on September 02, 2010, 06:05:02 pm
Lol, well the thing about KnightOS is it's going to have libraries, so it can be tailored to what you need so it can be bigger then TI-OS's if you have a lot of them :P although I think that is not going to be part of the OS file.
Title: Re: KnightOS
Post by: DJ Omnimaga on September 03, 2010, 01:53:12 am
Yeah being part of the OS file is what I meant. I think Sir planned to keep it to the essential developers need and provide a math suite that comes separate. That way, people like me who no longer have math classes and who only want to develop or play games will save a lot of memory. I think the OS should come with BASIC math by default, though. That always come handy :P
Title: Re: KnightOS
Post by: LordConiupiter on September 03, 2010, 03:43:16 am
wow! this is really a nice project. but how will the libraries be created? and will there be some SDK for it?
Title: Re: KnightOS
Post by: SirCmpwn on September 09, 2010, 08:48:40 am
Right now, it spans four pages, because it has to, including page 00, 01, 1C, and the boot page.  Technically, the boot page isn't my code, but I don't really want to remove/change it because users will not be able to revert to TIOS if they want.  00 is the brunt of the code, and 01 is the filesystem.  1C unlocks flash.  All three pages (excluding the boot page) have plenty of room to spare.
As for libraries, DJ is incorrect - the standard version will include math libraries.  There will probably be a different version if you don't want them.
How libraries work is still being planned, but they will most likely be loaded into RAM the same way as programs, and use an lcall macro that would work similar to kcall in order to call their routines.  I may encourage users to use a jump table at the beginning of their library as well.
Title: Re: KnightOS
Post by: DJ Omnimaga on September 09, 2010, 09:06:54 am
Strange, I would have sweared that KOS would be as small as possible and made so it is mostly aimed at devs in the first place, meaning most math libs being optional by default. My bad, then. Just try to not take 512 kilobytes for math stuff :P
Title: Re: KnightOS
Post by: calc84maniac on September 09, 2010, 09:51:20 am
Technically, the boot page isn't my code, but I don't really want to remove/change it because users will not be able to revert to TIOS if they want.
Technically, you can't remove/change it unless you zap the flash chip. haha
Title: Re: KnightOS
Post by: calcdude84se on September 09, 2010, 09:54:06 am
Okay, before I get too confused...
Is the boot page just sector-protected? That means you actually can brick an 83+(SE)/84+(SE), then... :(
Good luck, SirCmpwn!
Title: Re: KnightOS
Post by: calc84maniac on September 09, 2010, 10:17:39 am
Okay, before I get too confused...
Is the boot page just sector-protected? That means you actually can brick an 83+(SE)/84+(SE), then... :(
Good luck, SirCmpwn!
Nope, you can't erase or modify the boot page through software.
Title: Re: KnightOS
Post by: matthias1992 on September 09, 2010, 10:56:07 am
Oh, right.  The game will still take up processing power, but will be notified that it lost focus, and should pause and take up less of the CPU.  It could even disable itself until the OS comes back to it.
sorry to bump this but will the 'paused' game just be doing nop instructions? or will it just re-execute the last entry on the program stack ?(which can have horrible results when in the game you are doing a calculation like add a, a because then it will keep on adding...).
or will the program be going into a sort of savestate (pushing all used regs and so)?

Notice that this is just all speculating...
Title: Re: KnightOS
Post by: DJ Omnimaga on September 09, 2010, 05:56:59 pm
Okay, before I get too confused...
Is the boot page just sector-protected? That means you actually can brick an 83+(SE)/84+(SE), then... :(
Good luck, SirCmpwn!
Nope, you can't erase or modify the boot page through software.
Wow I always thought that part of the memory could be overwritten/erased like the OS certificate page.
Title: Re: KnightOS
Post by: calcdude84se on September 09, 2010, 06:35:49 pm
Thank goodness for that :) My bad :P
matthias1992: other processes would be executing and the game would be paused. It wouldn't be wasting cycles nor repeating instructions (At least I hope so, SirCmpwn :P)
Title: Re: KnightOS
Post by: SirCmpwn on September 09, 2010, 06:47:41 pm
I wish I could modify the boot page x.x I don't like having to use OP1, and I don't like having to write my own flash code.  Catch 22 much?
matthias, until I think of a better solution, best practice would be to check if you have focus, continue if you do, then halt if you don't.
Title: Re: KnightOS
Post by: calcdude84se on September 09, 2010, 07:36:23 pm
I hope by halt you don't mean to execute a 'halt' instruction, unless that's the only way to handle such a thing. :P
Title: Re: KnightOS
Post by: SirCmpwn on September 09, 2010, 09:28:10 pm
That is what I mean, unfortunately.  I guess you might be able to call RST 38h to forcibly change threads, but idk how well this would work.
Title: Re: KnightOS
Post by: calcdude84se on September 09, 2010, 09:47:29 pm
That seems like it would work, actually. It's pretty much just triggering it early.
Title: Re: KnightOS
Post by: SirCmpwn on September 09, 2010, 11:58:10 pm
Yes, but I'm concerned about timing issues with the next interrupt to be normally fired.  Does di/ei reset the timers?  What if it exists the interrupt just to come back in after a couple cycles?
Title: Re: KnightOS
Post by: matthias1992 on September 10, 2010, 07:15:20 am
If i recall it properly DI and EI do not reset the timers, it does affect R and I though. Perhaps doing RETI is better then HALT?
Title: Re: KnightOS
Post by: calc84maniac on September 10, 2010, 11:12:03 am
Hey, now we can actually have an excuse to use the hacky conditional RST 38h :D

JR cond,$+1

This jumps to the second byte of the JR instruction if condition is true, and this second byte is $FF (the rst 38h opcode)
Title: Re: KnightOS
Post by: SirCmpwn on September 10, 2010, 04:58:42 pm
Matthias, RETI is the same as RET, it just takes longer.
Calc84, awesome.
Title: Re: KnightOS
Post by: matthias1992 on September 10, 2010, 06:15:09 pm
Matthias, RETI is the same as RET, it just takes longer.
Calc84, awesome.
My bad, I was doing this from memory and I am still a learning asm programmer...
Title: Re: KnightOS
Post by: mapar007 on September 11, 2010, 02:06:10 am
RETI is equivalent to atomic NOP RET on the TI-calculators. It matters little on our hardware, but it's definitely not HALT. ;-)
Title: Re: KnightOS
Post by: SirCmpwn on September 23, 2010, 08:42:36 am
Update
I added directory support to the filesystem last knight, so the OS now has full read support for the filesystem.  I will be adding libraries today, and write support next.
Title: Re: KnightOS
Post by: Broseph Radson on September 23, 2010, 09:00:56 am
Sweet!
Title: Re: KnightOS
Post by: mapar007 on September 23, 2010, 09:11:07 am
U can haz kudos. What kind of libraries do you plan to implement? I mean, Xlib-like, math libs, stdlib-like, just plain kernel function wrappers,...
Title: Re: KnightOS
Post by: DJ Omnimaga on September 23, 2010, 09:11:44 am
Nice to hear! I assume since stuff is stored to archive that folders and their content is preserved after crashes, right?
Title: Re: KnightOS
Post by: SirCmpwn on September 23, 2010, 04:44:54 pm
Yes.  The calculator actually clears all RAM on start-up.
Also, mapar, I plan on implementing math, GUI, graphics, and other libraries.
Title: Re: KnightOS
Post by: DJ Omnimaga on September 23, 2010, 05:52:26 pm
Cool to hear :D. I hated how in Mirage I lost my folder contents every reset x.x. I love the Nspire-style approach of your shell in terms of program storage
Title: Re: KnightOS
Post by: SirCmpwn on September 23, 2010, 05:53:59 pm
*OS
Definitely not a shell :P
Thanks for the support!
Title: Re: KnightOS
Post by: DJ Omnimaga on September 23, 2010, 06:12:04 pm
woops yeah I meant OS, not shell. My bad :P
Title: Re: KnightOS
Post by: SirCmpwn on September 23, 2010, 06:13:22 pm
Np :)
Title: Re: KnightOS
Post by: Deep Toaster on September 23, 2010, 07:35:58 pm
Yay! Folders! An informal feature request: info line like with MirageOS and Ion (when you get there).
Title: Re: KnightOS
Post by: SirCmpwn on September 24, 2010, 08:49:17 am
Like a file description?  I guess I could include it in the file header, and show it in the properties.
Title: Re: KnightOS
Post by: Deep Toaster on September 24, 2010, 11:23:00 am
Yep, that.
Title: Re: KnightOS
Post by: ztrumpet on September 25, 2010, 09:58:14 am
Sounds cool!  Good luck Sir. ;D
Title: Re: KnightOS
Post by: SirCmpwn on October 14, 2010, 06:09:02 pm
Update
lcall and LoadLibrary now work, allowing you to load libraries into RAM and call functions exposed within.  LoadLibrary accepts the same arguments as ExecProgram, and lcall's syntax is lcall ID, Function.  Each library has a two byte ID, and I will set up a library registration service, so that IDs aren't re-used.
Title: Re: KnightOS
Post by: ztrumpet on October 14, 2010, 06:12:13 pm
Great!  Good luck on future progress. :)
Title: Re: KnightOS
Post by: Eeems on October 14, 2010, 06:31:11 pm
Sounds useful :) what if the library is already loaded by another program? Does it check to make sure the library isn't loaded?
Title: Re: KnightOS
Post by: matthias1992 on October 14, 2010, 06:54:40 pm
Sir this is great!
Title: Re: KnightOS
Post by: DJ Omnimaga on October 14, 2010, 10:18:10 pm
Nice update :D
Title: Re: KnightOS
Post by: jnesselr on October 14, 2010, 10:24:17 pm
Sounds useful :) what if the library is already loaded by another program? Does it check to make sure the library isn't loaded?
^that

And also, what if you have more than 2^16 libraries.  That is only 65536 libraries.  And another thing, what about a test library?  What memory space can be used for libraries? Is it allocated by the kernel or what?

EDIT: My post count seems to not be found ;-) 404, lolwut.
Title: Re: KnightOS
Post by: DJ Omnimaga on October 14, 2010, 10:41:51 pm
Lol graphmastur, nice :P
Title: Re: KnightOS
Post by: SirCmpwn on October 15, 2010, 10:57:05 am
Sounds useful :) what if the library is already loaded by another program? Does it check to make sure the library isn't loaded?
^that

And also, what if you have more than 2^16 libraries.  That is only 65536 libraries.  And another thing, what about a test library?  What memory space can be used for libraries? Is it allocated by the kernel or what?
Eeems, it checks that now :)
As for only 65,536 libraries, umm, I'm just not going to respond to that :P
Test libraries can use FFFF, which is specifically designated a test ID.  Memory space is allocated for libraries the same as programs, and is allocated by the kernel.  There is room in the libtable for up to 20 libraries loaded at once, and KOS will probably have 3 libraries forcibly running.
Title: Re: KnightOS
Post by: DJ Omnimaga on October 15, 2010, 11:28:23 am
Oh I forgot if this was asked, but will assembly programs and other stuff that is not from an interpreted language be limited to 8811 bytes of executable code like with the TI-OS or something like that or will we practically have almost the entire RAM besides some specific RAM areas used as screen buffers?
Title: Re: KnightOS
Post by: SirCmpwn on October 15, 2010, 11:40:56 am
Programs will have most of RAM, plus extra pages if I can work it out.
Title: Re: KnightOS
Post by: Eeems on October 15, 2010, 11:47:39 am
Sweet, can't wait to work with this later on :)
Title: Re: KnightOS
Post by: DJ Omnimaga on October 15, 2010, 11:56:33 am
Cool :D. Just make sure programs cannot be dependent on 128 KB of RAM pages, though, else those programs will have a limited audience, like the 85, 86 and 92 calculators, since the last calc to have 128 KB of RAM was in early 2007.
Title: Re: KnightOS
Post by: SirCmpwn on October 15, 2010, 10:34:20 pm
Update
Libraries are now fully implemented, with the ability to lcall functions in a library, and the ability to navigate through a library from within itself, using lld, lcall, and ljp.
Title: Re: KnightOS
Post by: DJ Omnimaga on October 15, 2010, 11:04:16 pm
Nice :D
Title: Re: KnightOS
Post by: Eeems on October 19, 2010, 11:22:22 am
Sweet :D can't wait to play around and make some nice GUI libraries :P
Title: Re: KnightOS
Post by: ztrumpet on October 20, 2010, 04:11:20 pm
Nice!  * ZTrumpet hopes coding's going smoothly. ;D
Title: Re: KnightOS
Post by: SirCmpwn on October 20, 2010, 04:45:53 pm
Yepyep.
Title: Re: KnightOS
Post by: SirCmpwn on October 22, 2010, 10:50:19 pm
Update
Flash writing now works great!  You can change the value of anything in flash memory.  Still to-do are page erasures, and for some odd reason, the flash write routine doesn't return correctly, but that should be easy to fix.
Title: Re: KnightOS
Post by: Eeems on October 22, 2010, 10:51:26 pm
YAY! :D
Title: Re: KnightOS
Post by: DJ Omnimaga on October 22, 2010, 10:53:14 pm
Cool! Tested thoroughly and all?

I have a concern about compatibility with my 83+, though... as it doesn't support app compiling in Axe...
Title: Re: KnightOS
Post by: guy6020665 on October 22, 2010, 11:23:59 pm
Is it just your 83+? because App compiling seems to work on mine.
Title: Re: KnightOS
Post by: SirCmpwn on October 22, 2010, 11:40:25 pm
Cool! Tested thoroughly and all?

I have a concern about compatibility with my 83+, though... as it doesn't support app compiling in Axe...
Tested thoroughly, not really.  As for Axe stuff with apps, I'm not entirely sure how this applies...
Title: Re: KnightOS
Post by: Ranman on October 23, 2010, 04:34:06 am
This is amazing SirCmpwn!

I'm really interested in your multitasking implementation. What type of scheduling algorithm did you use? Are you planning on implementing a priority based preemptive multithreaded capability -- similar to some commercial off the shelf Real Time OSs (like VxWorks or Integrity)? Have you thought about how different tasks can communicate and/or signal one another?

Once again... I'm very impressed!

Title: Re: KnightOS
Post by: SirCmpwn on October 23, 2010, 10:56:49 am
As for scheduling, there is only 6 MHz to go around, 15 at best, so the scheduler is as fast as possible and simply moves between threads.  Each thread has the same priority, although I will eventually add implementation outside the kernel for moving threads out of the thread table if they are asleep.
Communication between threads, I was thinking of synchronized threads and shared-stack threads.  Synchronized threads are running right after each other with a shared stack, and several helper methods would be there to keep them in sync, such as SyncWithSister (input A=any number), which would pause execution until the other thread calls SyncWithSister (A=Sister's chosen number).
Shared stack threads share variables and stack, and merely run different code.
ExecProgram and StartThread return the thread ID in A.  SendToThread sends HL to thread A, and RecieveFromThread returns HL and the thread it came from.
Title: Re: KnightOS
Post by: TIfanx1999 on October 23, 2010, 11:01:12 am
I'm happy to see more progress on this. Very nice! ^^
Title: Re: KnightOS
Post by: Ranman on October 23, 2010, 11:23:31 am
A common syncing mechanism for commercial RTOSs is via something called a semaphore.

The APIs I see used most often are:

WaitForSemaphore(Semaphore* semaphore);
ReleaseSemaphore(Semaphore* semaphore);

and

SemWait(Semaphore* semaphore);
SemRelease(Semaphore* semaphore);

The task waiting on the semaphore is basically pended (or blocked/asleep) until another thread releases the semaphore. Hence, a great way to sync 2 tasks.

Anyway... just throwing some ideas at ya.
Title: Re: KnightOS
Post by: SirCmpwn on October 23, 2010, 11:25:32 am
Well, you have to get the Semaphore object across threads, which is harder :P
Title: Re: KnightOS
Post by: Ranman on October 23, 2010, 11:38:17 am
Well, you have to get the Semaphore object across threads, which is harder :P
A semapore is an object managed by the kernel and you can get that object by passing an ID of some sort to a call such as:

CreateSemaphore(int semID, Semaphore* semaphore);

Like you said... calcs have limited resources. You could define a fixed number of semaphores in your kernel. Then each task could register for a semaphore with the CreateSemaphore API. So... 2 (or more) tasks could register for the same semaphore and use the ReleaseSemaphore/WaitForSemaphore APIs to effectively sync with each other.

Piece of cake :P
Title: Re: KnightOS
Post by: SirCmpwn on October 23, 2010, 12:57:56 pm
Lol sure... I think the ThreadID works well as a semaphore.  Do you have a link to some docs on this?
Title: Re: KnightOS
Post by: Ranman on October 23, 2010, 01:24:30 pm
Lol sure... I think the ThreadID works well as a semaphore.  Do you have a link to some docs on this?
I'll see if I can come up with some docs for you.

Each thread (or task) would have its own unique ID and each semaphore would have its own unique ID. That way two independent threads can utilize the same semaphore for syncing purposes -- so I don't think using thread ID as a sem ID would be a good idea for this reason.

edit: here is a link to the VxWorks reference manual. Take a look at the semLib chapter.

http://www.sls.psi.ch/controls/help/howto/vxworksHOWTO/VxWorks_Ref_Man.pdf
Title: Re: KnightOS
Post by: SirCmpwn on October 23, 2010, 02:52:42 pm
Well, I was thinking ThreadLock (ID) and ThreadRelease (ID) and WaitRelease (wait for thread to be released from a lock, even when unlocked).  And creating threads returns an ID, so the locking thread has that.
Title: Re: KnightOS
Post by: jnesselr on October 23, 2010, 03:25:21 pm
What happens if two threads try and access the same thing at the same time?
Title: Re: KnightOS
Post by: SirCmpwn on October 23, 2010, 03:26:10 pm
Nothing special.  Technically, it won't be at the same time without multiple cores, which the calculator does not have.
Title: Re: KnightOS
Post by: mapar007 on October 23, 2010, 03:55:42 pm
Nothing special.  Technically, it won't be at the same time without multiple cores, which the calculator does not have.
/me runs to Kerm to tell him to implement multi-core in his next ultimate calc project.


Nice to see the project is coming along (I don't visit that often anymore, sadly...). About semaphores: would that actually be necessary in this context? If the kernel routines use too much 'modern' access control, wouldn't that cause huge lags?


EDIT: oh, something to that effect has been stated already. Sorry to bother.
Title: Re: KnightOS
Post by: SirCmpwn on October 23, 2010, 04:11:21 pm
No problem.  I'm keeping this minimalistic, there really isn't very much processing power to go around.
Title: Re: KnightOS
Post by: DJ Omnimaga on October 23, 2010, 04:17:24 pm
You're still keeping this TI-73/83+ compatible, right?
Title: Re: KnightOS
Post by: SirCmpwn on October 23, 2010, 04:18:30 pm
83+, yes.  73, maybe.  The 73 has never been a goal.
Title: Re: KnightOS
Post by: DJ Omnimaga on October 23, 2010, 04:55:44 pm
Ah ok. I thought it might be 73 compatible since it barely requires much modifications if I remember. Not really that necessary, though, as very few people use the TI-73. (even less than the 81, if I remember). It's only sold in USA, too.
Title: Re: KnightOS
Post by: Eeems on October 24, 2010, 09:24:07 pm
(http://img.removedfromgame.com/imgs/1287969704-wabbitemu3.gif)
Hmm, maybe I'm working on porting my console to KOS's filesystem, maybe not ;P
Title: Re: KnightOS
Post by: DJ Omnimaga on October 24, 2010, 09:28:34 pm
That looks nice. That lines that gets deleted very fast it's CLEAR, right? Otherwise it might be good to make sure key sensitiveness isn't too high.
Title: Re: KnightOS
Post by: SirCmpwn on October 24, 2010, 09:33:15 pm
*slowly
:P
That's right folks, this is a program running under KnightOS :)
Nice work Eeems!
Title: Re: KnightOS
Post by: Eeems on October 24, 2010, 09:39:26 pm
Yeah that is me pressing clear which doesn't have speed constraints, while delete does.
This is an older version of the Kernel too btw :P
Thanks Sir :)
Title: Re: KnightOS
Post by: SirCmpwn on October 24, 2010, 09:43:44 pm
By the way, in order to merge changes with the new kernel, you should just be able to add your entry to the FAT and add your program in.  Remember to change /OS/boot.kxe to run your program on boot.
Title: Re: KnightOS
Post by: Eeems on October 24, 2010, 09:44:32 pm
Yep :) I should probably do that soon, but I keep on wanting to work on the program instead :P

Small update:
(http://img.removedfromgame.com/imgs/1287975926-wabbitemu4.gif)
I just got recalling what was last on the buffer working :D

Small update 2:
(http://img.removedfromgame.com/imgs/1287977883-wabbitemu5.gif)
Yay commands are now working! now to port them all over :P

Small update 3:
(http://img.removedfromgame.com/imgs/1287978904-wabbitemu6.gif)
More commands :P

Small update 4:
(http://img.removedfromgame.com/imgs/1287980918-wabbitemu8.gif)
Yay power commands :P
Title: Re: KnightOS
Post by: DJ Omnimaga on October 25, 2010, 12:31:58 am
Wow nice :D
/me can't wait until he can run stuff from that console, like a simple ASM game :D
Title: Re: KnightOS
Post by: Eeems on October 25, 2010, 12:32:39 am
haha :P well...if someone made a simple game and I made a command for running things...;P
Title: Re: KnightOS
Post by: DJ Omnimaga on October 25, 2010, 12:33:14 am
Well would there be one already available in 8xp format that uses no TI-OS routines? Maybe it could run?
Title: Re: KnightOS
Post by: Eeems on October 25, 2010, 12:35:09 am
no, they would have to convert it into the right format (IE relative stuff with kld and kcall etc) and pointers to the buffers. Then it would work :)

EDIT: here is the hardware command in action :D
(http://img.removedfromgame.com/imgs/1287981838-wabbitemu9.gif)
Title: Re: KnightOS
Post by: shmibs on October 25, 2010, 01:03:54 am
i've never been a huge fan of terminals or direct line code editing, but still: sweetness, Eeems!

my extra 83+ is languishing from disuse and cant wait for kos.
Title: Re: KnightOS
Post by: Eeems on October 25, 2010, 01:12:36 am
Edited to make my name right :P

thanks :)
haha well it will be a little while yet
Title: Re: KnightOS
Post by: DJ Omnimaga on October 25, 2010, 01:36:57 am
no, they would have to convert it into the right format (IE relative stuff with kld and kcall etc) and pointers to the buffers. Then it would work :)

EDIT: here is the hardware command in action :D
(http://img.removedfromgame.com/imgs/1287981838-wabbitemu9.gif)
Ah ok I see. Keep up the good work on this project :)
Title: Re: KnightOS
Post by: Eeems on October 25, 2010, 03:30:38 am
Yeah. When you get use to it its not that hard to make stuff relative, but at first it could be a little confusing.
Will do :)
Title: Re: KnightOS
Post by: LordConiupiter on October 25, 2010, 09:09:18 am
nice progress! when will we be able to download the first beta?
Title: Re: KnightOS
Post by: Eeems on October 25, 2010, 09:19:46 am
No idea

(http://img.removedfromgame.com/imgs/1288019884-wabbitemu10.gif)
New update :) Running on the new Kernel now :)

(http://img.removedfromgame.com/imgs/1288022142-wabbitemu11.gif)
and now CAT works :D no double error either :P
Title: Re: KnightOS
Post by: calcdude84se on October 25, 2010, 12:27:38 pm
No more double error all the way? :P
Looks great. Can't wait for more! :)
Title: Re: KnightOS
Post by: SirCmpwn on October 25, 2010, 04:45:17 pm
I'm glad you got this working on a newer version of the kernel!  Could you send me what you have?
Also, for running programs, you could make EXEC [filename] execute a program.  Just use the system routine ExecProgram with the name of the file in DE.
Title: Re: KnightOS
Post by: DJ Omnimaga on October 25, 2010, 04:47:30 pm
Looks nice, Eeems. Great update :). I also like how it scrolls.
Title: Re: KnightOS
Post by: LordConiupiter on October 25, 2010, 04:49:48 pm
yeah! the scrolling really looks great!
Title: Re: KnightOS
Post by: Deep Toaster on October 25, 2010, 05:23:07 pm
Yep, love the scrolling :) What will this eventually do? Everything?
Title: Re: KnightOS
Post by: SirCmpwn on October 25, 2010, 05:25:58 pm
As far as KnightOS is concerned, it's mostly a testbed for new things.  I can't speak for Rouge, though.
Title: Re: KnightOS
Post by: Builderboy on October 25, 2010, 05:42:43 pm
It looks really nice :D Its so awesome how its being developed for an OS that is currently in development XD
Title: Re: KnightOS
Post by: Eeems on October 25, 2010, 06:25:30 pm
I was thinking of doing that Sir, although my once concern is how would graphics be handled and stuff with multitasking?
Thanks guys :) I like the scrolling too :P Sir had wondered why I had it, but now we know don't we ;)
Well, for now it's just a testbed, but I do plan on maybe using this in Rogue, don't know as of yet though.
Title: Re: KnightOS
Post by: SirCmpwn on October 25, 2010, 06:29:49 pm
Graphics will most likely be handled with a special FastCopy routine that checks if the program has access to the screen at that time, and will only draw if so.  Also, the OS will handle.
Title: Re: KnightOS
Post by: Eeems on October 25, 2010, 06:30:49 pm
Ah ok, well I'll keep off of that for now until you implement that, because I don't want to run something and cause a huge mess on the screen x.x
Title: Re: KnightOS
Post by: Deep Toaster on October 25, 2010, 07:35:21 pm
Yeah that is me pressing clear which doesn't have speed constraints, while delete does.
This is an older version of the Kernel too btw :P
Thanks Sir :)

Whoa, that's smart! Finally, CLEAR isn't the single most devastating wrong keystroke you can make :P
Title: Re: KnightOS
Post by: Eeems on October 25, 2010, 07:46:05 pm
yeah :P if you react fast enough you can save part of your line :P
Title: Re: KnightOS
Post by: DJ Omnimaga on October 25, 2010, 08:54:38 pm
Rouge
Rouge?

EDIT: Nvm I think I figured out.
Title: Re: KnightOS
Post by: ztrumpet on October 25, 2010, 09:03:04 pm
Wow, this looks excellent Eeems and Sir  Wonderful job! ;D
Title: Re: KnightOS
Post by: Eeems on October 26, 2010, 12:46:12 am
Thanks ztrumpet :D
Oh and just to clear this up, My version is call Rogue not Rouge. Just because there has been a lot of confusion.
Title: Re: KnightOS
Post by: DJ Omnimaga on October 26, 2010, 02:19:55 am
Well at least unlike me he knew what you were referring to by Rogue. ;D
Title: Re: KnightOS
Post by: Eeems on October 26, 2010, 03:03:49 am
Ah ok np, sorry for not clarifying earlier on :S
Title: Re: KnightOS
Post by: aeTIos on October 26, 2010, 09:46:42 am
I like this OS SO much!
First I didnt realize that it was a real OS, but it is! going to install this when it is finished!
Title: Re: KnightOS
Post by: Eeems on October 26, 2010, 11:02:45 am
Haha, yeah with "MirageOS" and a few others it makes it hard for us to believe someone who puts OS in the name that it's an actual OS :P
Title: Re: KnightOS
Post by: DJ Omnimaga on October 26, 2010, 04:01:36 pm
Yeah true. That's a reason why Kerm called Doors CS Doors CS instead of Doors OS.
Title: Re: KnightOS
Post by: SirCmpwn on October 26, 2010, 04:43:00 pm
I like this OS SO much!
First I didnt realize that it was a real OS, but it is! going to install this when it is finished!
Sweet!  My one concern about this is that people will look at it and say how cool it is, or how much they like it, but no one will actually install and use it.
Title: Re: KnightOS
Post by: JustCause on October 26, 2010, 04:44:42 pm
Sweet!  My one concern about this is that people will look at it and say how cool it is, or how much they like it, but no one will actually install and use it.
I'll install it too. No question.
Title: Re: KnightOS
Post by: FinaleTI on October 26, 2010, 04:47:20 pm
I like this OS SO much!
First I didnt realize that it was a real OS, but it is! going to install this when it is finished!
Sweet!  My one concern about this is that people will look at it and say how cool it is, or how much they like it, but no one will actually install and use it.
That's why I'm glad have a TI-83+ and a TI-84+ SE. ;D I'll probably put it on my 83+  and keep TI-OS 2.43 on my 84+ SE for now.
Title: Re: KnightOS
Post by: SirCmpwn on October 26, 2010, 04:47:53 pm
Yeah, that's exactly what I'm thinking.  People will only want to use it if they have a spare calculator.
Title: Re: KnightOS
Post by: nemo on October 26, 2010, 04:48:33 pm
I like this OS SO much!
First I didnt realize that it was a real OS, but it is! going to install this when it is finished!
Sweet!  My one concern about this is that people will look at it and say how cool it is, or how much they like it, but no one will actually install and use it.

that worries me a little too. it looks awesome, and i'd like to use it, but what would my teacher say if she saw KOS rather than her faithful TIOS? i'd only be able to use it if it has all the math functions that the TIOS has. also, i remember i asked awhile ago when you may have an alpha version out. you said around late december/christmas, has that changed?
Title: Re: KnightOS
Post by: SirCmpwn on October 26, 2010, 04:49:08 pm
It depends on how hard I work between now and then, I'm quite busy.
Title: Re: KnightOS
Post by: FinaleTI on October 26, 2010, 04:49:29 pm
I'd possibly move it onto my TI-84+ after I get used to it. It's just that I have Axe on it and use it for developing all my projects.
Title: Re: KnightOS
Post by: SirCmpwn on October 26, 2010, 04:49:58 pm
Ah, Quigibo said he might try to port Axe to work on KOS :)
Title: Re: KnightOS
Post by: FinaleTI on October 26, 2010, 05:07:42 pm
Awesome! Will KOS have some sort of built-in language kinda like TI-BASIC (except much better obviously)? If so, I'll definitely give some serious thought to putting it on my TI-84+ SE a lot sooner.
Title: Re: KnightOS
Post by: ztrumpet on October 26, 2010, 05:55:01 pm
I'm thinking about putting it on one of my calcs... ;D
Title: Re: KnightOS
Post by: jnesselr on October 26, 2010, 06:41:00 pm
If I can get the cable, when Sir releases the kernel for us to work on and make the OS, I'm thinking about adding an option that allows you to switch between KOS and TIOS based off of a flash drive.  So, you can back up your files, or switch the os so that you can appease your teacher or for the ACT/SAT etc.
Title: Re: KnightOS
Post by: SirCmpwn on October 26, 2010, 07:08:05 pm
graphmastur, that sounds cool!
Also, FinaleTI, it depends.  I'll certainly try.
Title: Re: KnightOS
Post by: Michael_Lee on October 26, 2010, 07:12:09 pm
If you could switch between KnightOS and TIOS freely, at will, with minimal loss of data, that would be so epic...
Title: Re: KnightOS
Post by: Deep Toaster on October 26, 2010, 07:13:44 pm
Nope, no dual booting of any sort: http://ourl.ca/6099/111333;topicseen#msg57209 (http://ourl.ca/6099/111333;topicseen#msg57209).
Title: Re: KnightOS
Post by: Michael_Lee on October 26, 2010, 07:16:36 pm
:c
Aw...
It was too good to be true.
Title: Re: KnightOS
Post by: willrandship on October 26, 2010, 07:20:42 pm
I remember at one point he mentioned booting off usb though, maybe some possibility there.

Personally, I have no attachment to ti-OS itself, as long as KOS gets graphing and such.
Title: Re: KnightOS
Post by: Eeems on October 26, 2010, 07:29:53 pm
KOS could have anything, people just have to write the right lib's and programs for it :)
Title: Re: KnightOS
Post by: willrandship on October 26, 2010, 07:34:14 pm
Very true :P That's a nice way of looking at it.

HDMI adapter through the Link port, however? Not likely, except maybe with some help from calcnet.
Title: Re: KnightOS
Post by: SirCmpwn on October 26, 2010, 08:02:16 pm
HDMI through the link port has already been implemented, and a zero-loss compression algorithm has been created that can fit the entire Star Wars series on the TI-83+ in HD has been implemented. :P
Title: Re: KnightOS
Post by: Eeems on October 26, 2010, 08:50:51 pm
haha :P

Oh I just remembered, why isn't RAM initialization working in this new version of the kernel? did you get rid of the changes we made to make it work?
Title: Re: KnightOS
Post by: SirCmpwn on October 26, 2010, 08:55:37 pm
That's weird, it should be working fine.  Did you try it on hardware or something?  Because it works fine in WabbitEmu
Title: Re: KnightOS
Post by: jnesselr on October 26, 2010, 09:03:37 pm
Dual booting is not possible, but backing up you entire calc and sending the other os to it is.
Title: Re: KnightOS
Post by: SirCmpwn on October 26, 2010, 09:04:18 pm
Dual booting another KnightKernel based OS is possible, however.  KOS could possibly dual boot with Rouge.
Title: Re: KnightOS
Post by: Eeems on October 26, 2010, 09:16:15 pm
That's weird, it should be working fine.  Did you try it on hardware or something?  Because it works fine in WabbitEmu
No it doesn't work with WabbitEmu... I don't even want to test on hardware
Title: Re: KnightOS
Post by: SirCmpwn on October 26, 2010, 09:17:06 pm
Weird... I'll look into that.
Title: Re: KnightOS
Post by: Eeems on October 26, 2010, 09:19:16 pm
Yeah, on Wabbit it doesn't even boot, it just straight out crashes for some reason
Title: Re: KnightOS
Post by: SirCmpwn on October 26, 2010, 09:20:23 pm
Oh... that's my fault.  Go to boot.asm and remove the flash writing tests. :P
Title: Re: KnightOS
Post by: Eeems on October 26, 2010, 09:21:58 pm
ah ok lol, wait, this part?
Code: [Select]
;call UnlockFlash
;ld a, 0h
;ld hl, 0h
;call WriteFlashByte
;call LockFlash
It's already commented out
Title: Re: KnightOS
Post by: SirCmpwn on October 26, 2010, 09:23:15 pm
Weird... Try commenting out all the lcalls in bootprogram.asm
Title: Re: KnightOS
Post by: Eeems on October 26, 2010, 09:25:27 pm
ok I will
EDIT: still doesn't work
Title: Re: KnightOS
Post by: DJ Omnimaga on October 27, 2010, 02:32:39 am
I like this OS SO much!
First I didnt realize that it was a real OS, but it is! going to install this when it is finished!
Sweet!  My one concern about this is that people will look at it and say how cool it is, or how much they like it, but no one will actually install and use it.
Yeah my concern is people who need their calc for school. You or someone else will definitively have to come with some minimal school requirement math tools for them. Personally I'm certain to put it on my calc when it comes out. It will be even greater if I can play games or develop on it, though :)
HDMI through the link port has already been implemented, and a zero-loss compression algorithm has been created that can fit the entire Star Wars series on the TI-83+ in HD has been implemented. :P
inb4 school ban due to pr0n
Title: Re: KnightOS
Post by: aeTIos on October 27, 2010, 06:35:47 am
I like this OS SO much!
First I didnt realize that it was a real OS, but it is! going to install this when it is finished!
Sweet!  My one concern about this is that people will look at it and say how cool it is, or how much they like it, but no one will actually install and use it.
Yeah my concern is people who need their calc for school. You or someone else will definitively have to come with some minimal school requirement math tools for them. Personally I'm certain to put it on my calc when it comes out. It will be even greater if I can play games or develop on it, though :)
isnt a math suite implented?
is saw that in this topic: http://ourl.ca/6609
if that is equally functional as TI-OS's 'math suite' then i'll install it certainly... So dont worry SirCmpwn!

Title: Re: KnightOS
Post by: SirCmpwn on October 27, 2010, 10:01:05 am
*will be implemented
Title: Re: KnightOS
Post by: Eeems on October 27, 2010, 11:21:58 am
I've found a few issues with the keyboard driver, why are there 8X keys? They should not jump that far x.x
Code: [Select]
gs_keygroups:
db 0feh, 0fdh, 0fbh, 0f7h, 0efh, 0dfh, 0bfh
gs_keygroup1:
db 01h, 02h, 03h, 04h, 00h, 00h, 00h, 00h
gs_keygroup2:
db 09h, 0Ah, 0Bh, 0Ch, 0Dh, 0Eh, 0Fh, 00h
gs_keygroup3:
db 8Ch, 12h, 13h, 14h, 15h, 16h, 17h, 00h
gs_keygroup4:
db 8Dh, 1Ah, 1Bh, 1Ch, 1Dh, 1Eh, 1Fh, 20h
gs_keygroup5:
db 21h, 22h, 23h, 24h, 25h, 26h, 27h, 28h
gs_keygroup6:
db 00h, 2Ah, 2Bh, 2Ch, 2Dh, 2Eh, 2Fh, 30h
gs_keygroup7:
db 31h, 32h, 33h, 34h, 35h, 36h, 37h, 38h
These are the [.] and [(-)] keys, so it makes things a little hard for how I do key input on my console. I'm going to change them to the appropriate hex, and hopefully you do too :P
Title: Re: KnightOS
Post by: SirCmpwn on October 27, 2010, 04:40:00 pm
Okay, go ahead and post the working version if you fix it.  I just copied someone else's routine.
Title: Re: KnightOS
Post by: Eeems on October 27, 2010, 07:43:41 pm
Sure i will. Ill post an updated keys.inc too
Title: Re: KnightOS
Post by: Broseph Radson on October 27, 2010, 09:37:03 pm
I only have 1 calc (84+ 2.43) but I'm done with math for the rest of high school so when its done ill definitely install. This is truly epic!
Title: Re: KnightOS
Post by: SirCmpwn on October 27, 2010, 11:12:24 pm
Glad to hear!
Title: Re: KnightOS
Post by: DJ Omnimaga on October 27, 2010, 11:22:20 pm
I like this OS SO much!
First I didnt realize that it was a real OS, but it is! going to install this when it is finished!
Sweet!  My one concern about this is that people will look at it and say how cool it is, or how much they like it, but no one will actually install and use it.
Yeah my concern is people who need their calc for school. You or someone else will definitively have to come with some minimal school requirement math tools for them. Personally I'm certain to put it on my calc when it comes out. It will be even greater if I can play games or develop on it, though :)
isnt a math suite implented?
is saw that in this topic: http://ourl.ca/6609
if that is equally functional as TI-OS's 'math suite' then i'll install it certainly... So dont worry SirCmpwn!


Yeah I kinda forgot if it was gonna be implemented or not. Hopefully it's complete enough to suit high school needs. Who knows? Maybe schools will recommend that OS if the math tools are much better and faster than the default OS, lol. :P
Title: Re: KnightOS
Post by: SirCmpwn on October 27, 2010, 11:23:24 pm
I don't know about faster, with multitasking, but definitely better and more efficient, seeing as you can use several at a time.
Title: Re: KnightOS
Post by: DJ Omnimaga on October 27, 2010, 11:25:04 pm
Well, for some reasons I am confident that stuff like graphing will be much faster than TI's stuff. Just by your graphing demo somewhere on the forums. Of course multitasking could slow it down as you say, though.
Title: Re: KnightOS
Post by: SirCmpwn on October 27, 2010, 11:26:27 pm
Well, graphing will be faster.  TIOS takes it from Order of Operations and puts it out of Order of Operations to calculate it every single frame.  KOS will take it out of OOO, and leave it that way until it's done.
Title: Re: KnightOS
Post by: DJ Omnimaga on October 27, 2010, 11:29:48 pm
Ah ok I see :). Sounds good :)
Title: Re: KnightOS
Post by: Deep Toaster on October 29, 2010, 03:22:09 pm
A question: Will all OSes based on the KnightKernel use the Knight filesystem? I'm just wondering if it'd be possible to make a small-ish OS that still keeps things in RAM for people with very limited space (like people with a dozen projects all saved on one 83+ BE :P).
Title: Re: KnightOS
Post by: SirCmpwn on October 29, 2010, 04:39:59 pm
They don't have to, but for dual booting, they probably should.  Dual bootable Knight Kernel OSes would probably have to use a different filesystem driver to support multiple filesystems.
Title: Re: KnightOS
Post by: SirCmpwn on November 07, 2010, 02:44:43 pm
Update
I haven't really been working that much on KnightOS.  You may have noticed my aversion to deadlines with this project.  Because of this, I have decided that on Janurary 1st, 2011, I will be releasing the KnightOS Developer Beta.  It will not have a lot of the functionality of the final OS, but it will be done to the point that developers can start working on it.
Title: Re: KnightOS
Post by: DJ Omnimaga on November 07, 2010, 03:50:28 pm
November 15th, 2010
Fixed.

Sounds promising, will the user be able to do at least a small amount of things in that version? Or will it still mostly be internal stuff? How large is the OS on-calc, btw? It would be cool if when installed, it displayed the free RAM/ARC memory :D

Another question: How will Archive be called in KOS? Are you gonna call it Flash/Storage? To me it sounds better than Archive and that's what Casio uses.
Title: Re: KnightOS
Post by: jnesselr on November 07, 2010, 03:58:50 pm
November 15th, 2010
Fixed.
Err. what? I wish so, but perfection takes patience I guess.
Title: Re: KnightOS
Post by: DJ Omnimaga on November 07, 2010, 03:59:13 pm
I was joking ;D
Title: Re: KnightOS
Post by: SirCmpwn on November 07, 2010, 04:06:37 pm
November 15th, 2010
Fixed.

Sounds promising, will the user be able to do at least a small amount of things in that version? Or will it still mostly be internal stuff? How large is the OS on-calc, btw? It would be cool if when installed, it displayed the free RAM/ARC memory :D

Another question: How will Archive be called in KOS? Are you gonna call it Flash/Storage? To me it sounds better than Archive and that's what Casio uses.
O_O I could never get it done in that much time
Archive doesn't have a name, considering it's the only place you can keep things.
The user experience on this version will be minimal unless developers provide a ton of cool new things for it.
On-calc, the OS spans 3 flash pages.
Title: Re: KnightOS
Post by: DJ Omnimaga on November 07, 2010, 04:08:32 pm
Woah, quite small so far. Darn, if you can keep it small enough to give 300+ KB of free archive to 83+ users that will really rule ;D. Also if people create softwares for this version, will they require heavy modifications for later OS versions?
Title: Re: KnightOS
Post by: SirCmpwn on November 07, 2010, 04:13:34 pm
They will not require much, if any, modification for newer versions.  Also, the whole thing can fit on one page, I'm just required to use page 00, as well one different page for flash, and I have the filesystem on a seperate page.
According to Wikipedia, the TI-84+ SE has 2 MB of total ROM.  This means that users with this kind of calc can access 1.99 MB of storage with KnightOS.
Title: Re: KnightOS
Post by: MRide on November 07, 2010, 04:21:14 pm
O.o  Wow.....awesome.  If only I didn't have to use mine for school...
/me wonders what his teachers would say if he told them he installed a third-party OS on it.
 :)
Title: Re: KnightOS
Post by: willrandship on November 07, 2010, 04:23:05 pm
I just wish the nspire could have a part in this victory :'( I want KnightOS too! Is there any chance Ndless could install it, even if it was only once per reboot?
Mride, they would probably accuse you of sticking an 89 in there :P
Title: Re: KnightOS
Post by: SirCmpwn on November 07, 2010, 04:24:01 pm
It will probably run on calc84maniac's emulator if he redoes it, or if I feel like making one.
Title: Re: KnightOS
Post by: DJ Omnimaga on November 07, 2010, 05:25:23 pm
Lol if we could have 3rd party OSes on the Nspire that would really rule. The Nspire got like 32 MB of archive and RAM, right?
Title: Re: KnightOS
Post by: SirCmpwn on November 07, 2010, 05:26:33 pm
We might be able to fake it, as in run a program that acts like an OS, but is really running under Ndless.
Title: Re: KnightOS
Post by: squidgetx on November 07, 2010, 05:26:51 pm
I just wish the nspire could have a part in this victory :'( I want KnightOS too! Is there any chance Ndless could install it, even if it was only once per reboot?
Mride, they would probably accuse you of sticking an 89 in there :P

lol teachers. If my calc teacher knew I had symbolic on my calc she'd get mad. (Un)fortunately, we never use calcs on tests so it doesn't really matter :P
Title: Re: KnightOS
Post by: DJ Omnimaga on November 07, 2010, 05:29:36 pm
We might be able to fake it, as in run a program that acts like an OS, but is really running under Ndless.
Oh, I was suggesting it would rule to have a 3rd party OS, because the TI-OS takes like 20 MB of archive or something, while most 3rd-party OSes wouldn't even take 2% of that, thus, leaving even more memory.
Title: Re: KnightOS
Post by: ASHBAD_ALVIN on November 07, 2010, 05:30:30 pm
If that were to happen, I'd buy a Nspire :P
Title: Re: KnightOS
Post by: AngelFish on November 07, 2010, 05:31:29 pm
We might be able to fake it, as in run a program that acts like an OS, but is really running under Ndless.
Oh, I was suggesting it would rule to have a 3rd party OS, because the TI-OS takes like 20 MB of archive or something, while most 3rd-party OSes wouldn't even take 2% of that, thus, leaving even more memory.

TI-OS for the Nspire takes 20MB? You could install a variant of Linux for less than that.
Title: Re: KnightOS
Post by: SirCmpwn on November 07, 2010, 05:32:10 pm
Holy crap, that's horrible.  We should try and get DSL working when we get the key.
Title: Re: KnightOS
Post by: MRide on November 07, 2010, 05:34:01 pm
I like how you wrote "when" and not "if"  ;D
Title: Re: KnightOS
Post by: SirCmpwn on November 07, 2010, 05:35:39 pm
Are you a nonbeliever?  ARE YOU?!?!?!?!
Title: Re: KnightOS
Post by: MRide on November 07, 2010, 05:39:22 pm
No, of course not.
Silly Sir :P
Title: Re: KnightOS
Post by: DJ Omnimaga on November 07, 2010, 05:39:40 pm
I think it's 21 ish MB. I would need to check TI-BANK for the real size. TNOC can make it smaller, but it still remains big enough to take over half of your archive. The OS is filled with unused crap, apparently. We joked with BrandonW once saying maybe if he optimized the Nspire OS, he could port it to the 84+SE and it would still fit. ;D
Title: Re: KnightOS
Post by: SirCmpwn on November 07, 2010, 05:40:26 pm
Why won't they just let us control our own hardware?
Title: Re: KnightOS
Post by: AngelFish on November 07, 2010, 05:41:03 pm
Quote
The OS is filled with unused crap, apparently.

Wow, that sounds even less optimized than my code. I didn't know that was possible

/me imagines a Linux based Nspire

You'd never need another calc (except maybe the Prizm)
Title: Re: KnightOS
Post by: DJ Omnimaga on November 07, 2010, 05:42:42 pm
Most of the Nspire OS is not even coded by TI. They took something called Nucleus, I think, and modified it to run on the Nspire hardware and add necessary math functions. In the non-CAS OSes, the CAS functions are listed, but will tell you a message saying you need the CAS model to use those. Why didn't they just get rid of that?
Title: Re: KnightOS
Post by: AngelFish on November 07, 2010, 05:44:51 pm
Nucleus is an OS written by Mentor Graphics. Apparently they provide the OS for all of TI's ARM based devices:

http://www.mentor.com/embedded-software/cpu/texas-instruments/ (http://www.mentor.com/embedded-software/cpu/texas-instruments/)
Title: Re: KnightOS
Post by: DJ Omnimaga on November 07, 2010, 05:46:00 pm
AH, I am starting to wonder if TI even wrote any part of the OS...
Title: Re: KnightOS
Post by: AngelFish on November 07, 2010, 05:51:13 pm
What I wonder is why they bothered to use a real time OS. I can't imagine why they needed exact timings for the OS routines. It's not as if they used it to their advantage and optimized the code.

EDIT: I think the android OS, written by the same company for what appears to be the same family of processors by TI, might work on the Nspire. Also, apparently HP devices use TI processors. The irony.
Title: Re: KnightOS
Post by: willrandship on November 07, 2010, 06:37:49 pm
On that note, does anyone know what TI uses in its routines to generate the certificate files?

Also, I had a thought: if the OS doesn't check the Emulator's files (like the save state) then perhaps with ndless we could install our own ROM in it!
Title: Re: KnightOS
Post by: Deep Toaster on November 07, 2010, 10:06:31 pm
We might be able to fake it, as in run a program that acts like an OS, but is really running under Ndless.

RunOS?

And awesome, great how it's so small so far. An idea to make it even smaller: Move the VAT to RAM (but not the files) ;D J/k.
Title: Re: KnightOS
Post by: willrandship on November 07, 2010, 10:24:45 pm
The disadvantage of those is the space issue. That's my main complaint with the Nspire OS (besides asm support of course) is the huge size the OS takes up.
Title: Re: KnightOS
Post by: DJ Omnimaga on November 07, 2010, 11:57:42 pm
Can we even fit two Nspire OSes on one calc?
Title: Re: KnightOS
Post by: dman2073 on November 08, 2010, 03:52:10 pm
"Update
I haven't really been working that much on KnightOS. You may have noticed my aversion to deadlines with this project. Because of this, I have decided that on Janurary 1st, 2011, I will be releasing the KnightOS Developer Beta. It will not have a lot of the functionality of the final OS, but it will be done to the point that developers can start working on it."
Nooooooooooooooooooooooooooooooooooooooooooooo! 2 more months :(
Title: Re: KnightOS
Post by: SirCmpwn on November 08, 2010, 04:36:12 pm
Did you honestly think that it would be done in less time?
Title: Re: KnightOS
Post by: apcalc on November 08, 2010, 04:38:29 pm
Can we even fit two Nspire OSes on one calc?

Right now, yes we can.  This is actually how the OS updates work.  It sends the new OS to a /temp folder, then once the OS is validated, it installs that OS and deletes the old one (I think).

As the OS sizes keep getting bigger, there might come a time where we can't even upgrades our OS because of this. :(
Title: Re: KnightOS
Post by: TC01 on November 08, 2010, 04:51:53 pm
Can we even fit two Nspire OSes on one calc?

Right now, yes we can.  This is actually how the OS updates work.  It sends the new OS to a /temp folder, then once the OS is validated, it installs that OS and deletes the old one (I think).

As the OS sizes keep getting bigger, there might come a time where we can't even upgrades our OS because of this. :(

That seems like a terrible system when TI keeps adding samples and languages and other stuff to the OS.
Title: Re: KnightOS
Post by: willrandship on November 08, 2010, 08:20:00 pm
They should have you choose your language on the site. That way, you save a ton of space. I would estimate 1/5 or more of the OS is localization stuff. For all I care, then they could have the samples, because they would take up all of 15k, and be easily deleted.

And Sir, he was referring to the Pandora's infamous "two more months" streak. They broke, what, 50 deadlines?
Title: Re: KnightOS
Post by: DJ Omnimaga on November 09, 2010, 02:42:47 am
Did you honestly think that it would be done in less time?
Yup. :)

j/k an OS project is a huge undertaking so it can take a long while. From what I saw, you are doing pretty great, though, so I am confident that you'll eventually finish it and not in several years. I hope you manage to get it to work fine on all calc models. What has caused the crash on Raylin calc, btw?
Title: Re: KnightOS
Post by: jnesselr on November 09, 2010, 06:51:07 am
I do believe that the number of pages was reported incorrectly, so it assumed there were 14 pages instead of 2.  It never bricked his calc, just deleted the tios in order to install kos which didn't install correctly.  Hence an OS-less calc, not a bricked one.
Title: Re: KnightOS
Post by: SirCmpwn on November 09, 2010, 08:47:34 am
It probably wouldn't work anyway, there are apparently other problems that I need to fix.
Title: Re: KnightOS
Post by: JosJuice on November 09, 2010, 08:50:26 am
Does KOS support USB keyboards? And if it does, are other keyboard layouts than US supported?
Title: Re: KnightOS
Post by: SirCmpwn on November 09, 2010, 08:51:05 am
Probably, and I don't own any of those keyboards.  Localization will come last, but it is a priority.
Title: Re: KnightOS
Post by: willrandship on November 09, 2010, 11:29:59 am
It shouldn't be too hard to add support for other keyboards later anyways, right? As far as I understand, it's just a different mapping. (Unless you're typing in certain other languages, like chinese)
Title: Re: KnightOS
Post by: DJ Omnimaga on November 09, 2010, 01:13:13 pm
I do believe that the number of pages was reported incorrectly, so it assumed there were 14 pages instead of 2.  It never bricked his calc, just deleted the tios in order to install kos which didn't install correctly.  Hence an OS-less calc, not a bricked one.
Ah I see, that migth have been bad if it hits the certificate page. X.x
Title: Re: KnightOS
Post by: SirCmpwn on November 09, 2010, 04:45:03 pm
I have no knowledge of how other keyboards work.  USB isn't even on the schedule at the moment.  I need to figure out a hacky way of stealing TI's code without actually stealing it.  Probably by leaving the USB page where it is when you transfer the OS.
Title: Re: KnightOS
Post by: jnesselr on November 09, 2010, 05:21:18 pm
Well, I am workin on c2i which uses USB. If I find out, I'll let you know.
Title: Re: KnightOS
Post by: SirCmpwn on November 09, 2010, 05:30:03 pm
Thanks!
Title: Re: KnightOS
Post by: JosJuice on November 10, 2010, 01:28:31 am
I have no knowledge of how other keyboards work.
The keys just return different "key codes", so if the US keyboard is implemented all that needs to be done is to change a few numbers. (And probably also add support for the international characters such as Ä)
Title: Re: KnightOS
Post by: SirCmpwn on November 10, 2010, 10:46:46 am
International characters are already included in the character set, so that shouldn't be a huge problem.
Title: Re: KnightOS
Post by: Deep Toaster on November 10, 2010, 11:21:00 am
Ooh, how big is the charset?
Title: Re: KnightOS
Post by: JosJuice on November 10, 2010, 11:22:12 am
Are the more obscure characters (such as Å and Ø) also included?
Title: Re: KnightOS
Post by: calc84maniac on November 10, 2010, 11:40:06 am
Probably by leaving the USB page where it is when you transfer the OS.
Considering that the USB page cannot be modified (as it is a boot page), I think this is quite possible :P
Title: Re: KnightOS
Post by: SirCmpwn on November 10, 2010, 05:03:23 pm
Are the more obscure characters (such as Å and Ø) also included?
Ooh, how big is the charset?
Full ASCII.
Probably by leaving the USB page where it is when you transfer the OS.
Considering that the USB page cannot be modified (as it is a boot page), I think this is quite possible :P
Great!
Title: Re: KnightOS
Post by: jnesselr on November 10, 2010, 05:55:51 pm
Probably by leaving the USB page where it is when you transfer the OS.
Considering that the USB page cannot be modified (as it is a boot page), I think this is quite possible :P
I believe he's saying as opposed to writing your own code, which would be necessary for anything like a flash drive type thing.
Title: Re: KnightOS
Post by: SirCmpwn on November 10, 2010, 05:57:31 pm
No, we are both talking about basic USB access routines.
Title: Re: KnightOS
Post by: SirCmpwn on November 11, 2010, 07:49:30 pm
Just in case anyone is interested:

===KnightKernel Page00 Features===
Hardware instantiation (LCD, memory, etc)
Full multitasking support
 -Execute program
 -Run several threads within a program
 -End threads
 -Libraries
LCD Access
 -AND, OR, and XOR sprite routines
 -SafeCopy
 -LCD fix for later models
 -LCD shift routines (all directions)
 -FastLine
 -ClearBuffer
Keyboard Access
 -GetKey (Gets a key from the keyboard without waiting)
 -WaitKey (Waits for a key to be pressed)
 -FlushKeys (Waits for all keys to be released)
Flash Access
 -UnlockFlash/LockFlash
 -EraseSector
 -WriteFlashByte
Filesystem
 -GetFile
 -LoadLibrary
 -ExecProgram
Sound
 -PlaySound
Memory:
 -AllocateMemory
 -AllocateExecutableMemory
 -FreeMem
Text:
 -PutChar
 -Newline
 -DrawString
 -MeasureString
 -DispHexA
Utility:
 -ShutDown
 -Reboot
 -CPDEBC
 -DEMulA
 -Sleep
 -WaitForever (Infinite loop, for debugging purposes)
 -Quicksort
 -RandomNumber
 -CmpStrings
Constants:
 -OSName
 -OSVersion
 -OSAuthor
 -OSCopyright

All of the above is contained solely within Page00.
The above code is currently 3,350 bytes.
Space remaining on Page00: 13,034 bytes
This takes up roughly 25% of Page00.
Title: Re: KnightOS
Post by: DJ Omnimaga on November 11, 2010, 07:52:54 pm
Awesome! I'm amazed it got all of this already. :)

Thanks for sharing. :)

I'm amazed at the size so far, too.
Title: Re: KnightOS
Post by: Munchor on November 11, 2010, 07:57:55 pm
Just in case anyone is interested:

===KnightKernel Page00 Features===
Hardware instantiation (LCD, memory, etc)
Full multitasking support
 -Execute program
 -Run several threads within a program
 -End threads
 -Libraries
LCD Access
 -AND, OR, and XOR sprite routines
 -SafeCopy
 -LCD fix for later models
 -LCD shift routines (all directions)
 -FastLine
 -ClearBuffer
Keyboard Access
 -GetKey (Gets a key from the keyboard without waiting)
 -WaitKey (Waits for a key to be pressed)
 -FlushKeys (Waits for all keys to be released)
Flash Access
 -UnlockFlash/LockFlash
 -EraseSector
 -WriteFlashByte
Filesystem
 -GetFile
 -LoadLibrary
 -ExecProgram
Sound
 -PlaySound
Memory:
 -AllocateMemory
 -AllocateExecutableMemory
 -FreeMem
Text:
 -PutChar
 -Newline
 -DrawString
 -MeasureString
 -DispHexA
Utility:
 -ShutDown
 -Reboot
 -CPDEBC
 -DEMulA
 -Sleep
 -WaitForever (Infinite loop, for debugging purposes)
 -Quicksort
 -RandomNumber
 -CmpStrings
Constants:
 -OSName
 -OSVersion
 -OSAuthor
 -OSCopyright

All of the above is contained solely within Page00.
The above code is currently 3,350 bytes.
Space remaining on Page00: 13,034 bytes
This takes up roughly 25% of Page00.

Awesome! 25% of Page00, that's really short.

Keep working, we're anxious
Title: Re: KnightOS
Post by: jnesselr on November 11, 2010, 08:03:20 pm
What is cpdebc? Looks awesome so far!
Title: Re: KnightOS
Post by: AngelFish on November 11, 2010, 08:34:44 pm
Looks awesome.

What are you planning in terms of Math functions?
Title: Re: KnightOS
Post by: Deep Toaster on November 11, 2010, 08:35:25 pm
What is cpdebc? Looks awesome so far!

Compare DE and BC?

It looks awesome, SIr! And small, too. I really like your choice of routines :D
Title: Re: KnightOS
Post by: jnesselr on November 11, 2010, 09:42:30 pm
What is cpdebc? Looks awesome so far!

Compare DE and BC?
and now I feel like an idiot... Should have known that.
Title: Re: KnightOS
Post by: Deep Toaster on November 11, 2010, 09:47:22 pm
What is cpdebc? Looks awesome so far!

Compare DE and BC?
and now I feel like an idiot... Should have known that.

Well, that's what happens when some letters stand out more. Like CpDebC :D
Title: Re: KnightOS
Post by: jnesselr on November 11, 2010, 09:55:01 pm
What is cpdebc? Looks awesome so far!

Compare DE and BC?
and now I feel like an idiot... Should have known that.

Well, that's what happens when some letters stand out more. Like CpDebC :D
I'm guessing there is no 16-bit Cp then.  What about hl?
Title: Re: KnightOS
Post by: Eeems on November 12, 2010, 03:12:10 am
Hey Sir, when are you thinking about adding in contrast commands?
Title: Re: KnightOS
Post by: SirCmpwn on November 12, 2010, 08:29:58 am
What are you planning in terms of Math functions?
A lot.  But not yet.

Hey Sir, when are you thinking about adding in contrast commands?
I'm still hesitant to do them.  I think we should just add a byte in SafeRAM for the current contrast value and leave it at that.  It's not very hard for programs to change the contrast.
Title: Re: KnightOS
Post by: DJ Omnimaga on November 12, 2010, 09:47:41 am
No way to change the contrast? What about those with lighter screen? ???
Title: Re: KnightOS
Post by: Munchor on November 12, 2010, 10:33:32 am
I would love it if we could have contrast AND brightness (plus the grayscale :))
Title: Re: KnightOS
Post by: Deep Toaster on November 12, 2010, 01:11:24 pm
How would brightness work with the calc, though? There's no backlight.

But contrast and grayscale sound great together, especially if the grays are supported by the OS :D And for that, a feature request: Some sort of function in the default interrupt that does the grayscale.

What is cpdebc? Looks awesome so far!

Compare DE and BC?
and now I feel like an idiot... Should have known that.

Well, that's what happens when some letters stand out more. Like CpDebC :D
I'm guessing there is no 16-bit Cp then.  What about hl?

Well, the Z80 only CP's A...

EDIT: 2K ... the year the world was supposed to end.
Title: Re: KnightOS
Post by: Eeems on November 12, 2010, 01:34:29 pm
Hey Sir, when are you thinking about adding in contrast commands?
I'm still hesitant to do them.  I think we should just add a byte in SafeRAM for the current contrast value and leave it at that.  It's not very hard for programs to change the contrast.
I added it a while ago but you never followed suite :p
Having a few commands so the OS can adjust the contrast for the user without extra programs would be a good idea.
Title: Re: KnightOS
Post by: SirCmpwn on November 12, 2010, 04:49:48 pm
No, of course you will be able to change the contrast :P I just don't want to make the kernel handle it.
Title: Re: KnightOS
Post by: jnesselr on November 12, 2010, 06:34:46 pm
would the contrast be thread-specific?
Title: Re: KnightOS
Post by: ztrumpet on November 12, 2010, 07:31:49 pm
On a side note, I can't wait for Knight OS's graphing capabilities.  I realized that while sitting in Math today, waiting for my graph to load. ;D

Looks great Sir, and it's so small! :D
Title: Re: KnightOS
Post by: Munchor on November 12, 2010, 07:44:26 pm
Since you're coding in Asm( it's probable that it is short and fast.

So, I'm mainly waiting for programming capabilities and would like to help making a Python-like programming language for basic code (equivalent to Hex code, but in Python).

Another thing I'm really expecting are the new graphing capabilities and math included functions.

I don't think these two last are very hard to do, so you should mainly work on them.

A program to hold 'cheats' for tests like Noteflio but better included would be also tremendously important, since I am pretending on using KnightOS in all classes and tests.

Grayscale and contrast is also interesting, but not AS interesting as the ones above this.

So, I hope for the final release, even, unfortunately, secretly knowing that 2011 will be the year.

Good Luck and Keep on Working
Title: Re: KnightOS
Post by: SirCmpwn on November 12, 2010, 11:06:55 pm
would the contrast be thread-specific?
No.

ScoutDavid, I'd love to see something python-esque on KOS!  Also, the graphing and math capabilities will be glorious.  There is also a notepad program, which I am considering allowing PrettyPrint on.
Title: Re: KnightOS
Post by: DJ Omnimaga on November 13, 2010, 02:12:42 am
No, of course you will be able to change the contrast :P I just don't want to make the kernel handle it.
Oh ok phew. IMHO it would be weird if you couldn't even change the contrast in KOS. Some calcs have contrast level 1-2 as default settings, like my TI-86.
Title: Re: KnightOS
Post by: Eeems on November 13, 2010, 03:26:43 am
I was kinda thinking it would be nice to include it in the kernel, they are pretty small routines after all.
Title: Re: KnightOS
Post by: matthias1992 on November 13, 2010, 07:42:17 am
Well I wonder how much it really matters in terms of speed wether or not something is included in the kernel. Actually to be honest I never comprehended what a kernel is except that it is the lowest, core, system. I mean the word 'kernel' does not really make you suspect anything whereas BIOS (Basic Input Output Service) is pretty obvious...

Anyway, great progress! I am looking forward to paly around with it a little albeit I may not understand half of what you are doing :P
ooh well, I am pretty sure you'll outrun TIos with ease haha...:)
Title: Re: KnightOS
Post by: SirCmpwn on November 13, 2010, 08:43:22 am
I was kinda thinking it would be nice to include it in the kernel, they are pretty small routines after all.
I may eventually change my mind.  But all it does is pull from memory, increment/decrement it, and set the contrast to it.
Title: Re: KnightOS
Post by: Michael_Lee on November 13, 2010, 10:08:34 am
Hi - I'm pretty certain that some of these questions have been answered before, but I'd still like ask them all - just in case I misread or missed something.

0] Developers version by 2011 - what can be done with it?  What can't be done?

1] Is there any way to alternate between running KnightOS and TIOS?  I know that you can't double boot, but will there be some kind of feature that allows me to start a conversion between them?  Could I plug in a mini USB containing both OSes and run a sort of app to load which one I want?  Or do I have to use the computer and a connecting program to switch?  In essence, will there be any way at all to convert between KnightOS and TIOS without a computer?  If so, will it be quick/easy?

2] What kind of math features will be added?  I'm fairly certain that at one point, you said it would have all of the math functions, and more, of the TIOS.  Will this have symbolic manipulation (where '(X+3)(X+4)' displays 'X2+7X+12')?

3] How compatible will KnightOS be with Basic games, hybrid Basic games, normal assembly games, Axe assembly games, MirageOS/DoorsCS/Ion/etc. games, apps?  I think you said that Basic games would have to be ported, but how about a computer converter that transforms Basic games into KnightOS games?  And in converse, something that transforms KnightOS games to TIOS assembly/Basic?

4] Will trees be possible?  I don't know what they are, but apparently they're cool, so it'd be interesting to be able to muck around with them.

5] Will the font be the same, or will you switch it?

6] The programming language: will it be similar to Basic, or will it be a varient of C, or will it resemble another programming language?

7] Will graphing be faster?  Will it allow 3d?  Possibly 4d?

8] How safe will the built-in programming language be?  Will it be more like Basic or more like Axe?  Or will it try to compromise and try to have the best of both (safety of Basic, speed of Axe)?

9] How large will I be able to compute numbers?  Like TIOS, do I have to switch to scientific notation after a while (1.337 * 10^13), or will that output 13370000000000?

A] Will KnightOS come with support for programming 3d graphics?

B] Could I use my calc as a USB device?  Could I attach it to the computer, transfer, say, a Powerpoint document, take it to school, then run it directly from the calc?  Could I transfer something on the size of Word documents?  Could I secretly have a web browser tucked away somewhere in my calc?

C] How easy will it be to transfer files to and from KnightOS to the computer?  Could I just hook the calculator up and treat it like any other USB device, or will I have to use a special program?

D] Will KnightOS have usb support built in?  What about support for that little circly thing that I can play music out of?  

E] Could I play music with KnightOS?  How good will it be?  If I have music running on one program, could I switch over to another program and play, say, Tetris while listening to the original running in the background?

F] How compatible will this be with the lab instruments you can hook up to the z80 calculators?  For that matter, how compatible will this be with other calculators running TIOS?  Could I transfer data/games between the two?
Title: Re: KnightOS
Post by: Munchor on November 13, 2010, 10:19:01 am
Spoiler For Spoiler:
Hi - I'm pretty certain that some of these questions have been answered before, but I'd still like ask them all - just in case I misread or missed something.

0] Developers version by 2011 - what can I do with it?  What can't I do?

1] Is there any way to alternate between running KnightOS and TIOS?  I know that you can't double boot, but will there be some kind of feature that allows me to start a conversion between them?  Could I plug in a mini USB containing both OSes and run a sort of app to load which one I want?  Or do I have to use the computer and a connecting program to switch?

2] What kind of math features will be added?  I'm fairly certain that at one point, you said it would have all of the math functions, and more, of the TIOS.  Will this have symbolic manipulation (where '(X+3)(X+4)' displays 'X2+7X+12')?

3] How compatible will KnightOS be with Basic games, hybrid Basic games, normal assembly games, Axe assembly games, MirageOS/DoorsCS/Ion/etc. games, apps?  I think you said that Basic games would have to be ported, but how about a computer converter that transforms Basic games into KnightOS games?  And in converse, something that transforms KnightOS games to TIOS assembly/Basic?

4] Will trees be possible?  I don't know what they are, but apparently they're cool, so it'd be interesting to be able to muck around with them.

5] Will the font be the same, or will you switch it?

6] The programming language: will it be similar to Basic, or will it be a varient of C, or will it resemble another programming language?

7] Will graphing be faster?  Will it allow 3d?  Possibly 4d?

8] How safe will the built-in programming language be?  Will it be more like Basic or more like Axe?  Or will it try to compromise and try to have the best of both (safety of Basic, speed of Axe)?

9] How large will I be able to compute numbers?  Like TIOS, do I have to switch to scientific notation after a while (1.337 * 10^13), or will that output 13370000000000?

A] Will KnightOS come with support for programming 3d graphics?

B] Could I use my calc as a USB device?  Could I attach it to the computer, transfer, say, a Powerpoint document, take it to school, then run it directly from the calc?  Could I transfer something on the size of Word documents?  Could I secretly have a web browser tucked away somewhere in my calc?

C] How easy will it be to transfer files to and from KnightOS to the computer?  Could I just hook the calculator up and treat it like any other USB device, or will I have to use a special program?

D] Will KnightOS have usb support built in?  What about support for that little circly thing that I can play music out of? 

E] Could I play music with KnightOS?  How good will it be?  If I have music running on one program, could I switch over to another program and play, say, Tetris while listening to the original running in the background?

F] How compatible will this be with the lab instruments you can hook up to the z80 calculators? 


I doubt that not even Sir can aswer some of those, but I want answers, yes :D
Title: Re: KnightOS
Post by: jnesselr on November 13, 2010, 10:22:44 am
Note, that I am not SirCmpwn and that he can probably answer these more accurately.  This is what I have gotten from what I know about the project:

0] If you are a dev like I am, you can get the dev version of the kernel to create things with it.  Basically writing utilities like text editors, etc. is our job.

1] No dual boot.  I thought about the option of putting in a flash drive to save all files of KOS/TIOS to a flash drive and reinstalling the os from the last backup of the other one.

2] It depends on what we add.  I'm thinking about simple manipulation like multiplying polynomials, but not hard-core math stuff.  I don't know about derivatives/integrals, but maybe.  That would add a lot of code, though.

3] ASM games must be ported if they use b_calls and such, and be ported to use .org $0 and so on.  Basic games need the full TIOS, and I don't see reason for a converter.  It would most likely make inefficient code.  Not sure how the language of KBasic is just yet.

4] In ASM, maybe.  Not sure about native structures just yet.

5] I don't know on the font.

6] The main programming language is Z80 ASM.  Not sure about KBasic just yet.

7] No idea.  That depends on if we add it.  I'm thinking that it can be faster, but I'm not sure.  3D will probably be allowed, but probably not 4D.

8] Not sure.  ASM will have the speed of ASM, except for when you first run it, because it adjusts all the calls, but other than that, the asm speed throughout the program is the same.

9] Again, not sure.  I don't know if he is using 9 bytes Floating point or what.

A] Not sure.  Probably not unless some lib is made for it.

B] I know SirCmpwn is working on that.  I doubt you could just run Powerpoint or word.  C2I is a project by me and alberthrocks to get Internet to the calc, so not sure about KOS in this respect.  I doubt it, though.

C] I know SirCmpwn is also working on getting the calc to look like a flash drive.  So, drag and drop.  Also, by "any other UDB device", I'm assuming that you mean flash drives.

D] Yes. And by "little circly thing", I assume you mean the I/O port.  And maybe.  I know you can still mess with the port itself, but I don't know about built-in routines.

E] See [D]  But yes, multitasking is implemented already in the kernel, so theoretically, yes.

F] Not very.  We don't know much about those instruments at all.  So, I doubt they would be compatible Simply because we don't know how they work.
Title: Re: KnightOS
Post by: Munchor on November 13, 2010, 10:29:30 am
Note, that I am not SirCmpwn and that he can probably answer these more accurately.  This is what I have gotten from what I know about the project:

0] If you are a dev like I am, you can get the dev version of the kernel to create things with it.  Basically writing utilities like text editors, etc. is our job.

1] No dual boot.  I thought about the option of putting in a flash drive to save all files of KOS/TIOS to a flash drive and reinstalling the os from the last backup of the other one.

2] It depends on what we add.  I'm thinking about simple manipulation like multiplying polynomials, but not hard-core math stuff.  I don't know about derivatives/integrals, but maybe.  That would add a lot of code, though.

3] ASM games must be ported if they use b_calls and such, and be ported to use .org $0 and so on.  Basic games need the full TIOS, and I don't see reason for a converter.  It would most likely make inefficient code.  Not sure how the language of KBasic is just yet.

4] In ASM, maybe.  Not sure about native structures just yet.

5] I don't know on the font.

6] The main programming language is Z80 ASM.  Not sure about KBasic just yet.

7] No idea.  That depends on if we add it.  I'm thinking that it can be faster, but I'm not sure.  3D will probably be allowed, but probably not 4D.

8] Not sure.  ASM will have the speed of ASM, except for when you first run it, because it adjusts all the calls, but other than that, the asm speed throughout the program is the same.

9] Again, not sure.  I don't know if he is using 9 bytes Floating point or what.

A] Not sure.  Probably not unless some lib is made for it.

B] I know SirCmpwn is working on that.  I doubt you could just run Powerpoint or word.  C2I is a project by me and alberthrocks to get Internet to the calc, so not sure about KOS in this respect.  I doubt it, though.

C] I know SirCmpwn is also working on getting the calc to look like a flash drive.  So, drag and drop.  Also, by "any other UDB device", I'm assuming that you mean flash drives.

D] Yes. And by "little circly thing", I assume you mean the I/O port.  And maybe.  I know you can still mess with the port itself, but I don't know about built-in routines.

E] See [D]  But yes, multitasking is implemented already in the kernel, so theoretically, yes.

F] Not very.  We don't know much about those instruments at all.  So, I doubt they would be compatible Simply because we don't know how they work.

My great question is: Can we keep the files we used to have in the normal OS (Apps, Programs,...) or we have to backup them?
Title: Re: KnightOS
Post by: jnesselr on November 13, 2010, 10:32:47 am
Please don't quote huge bodies of text unless they are in Spoilers or something.  Or if you have a specific question about one of them in this case [1] and delete everything else.  KK, just more OCD than usual today for some reason. Maybe I should put mine in a spoiler...</offtopic>

1] No dual boot.  I thought about the option of putting in a flash drive to save all files of KOS/TIOS to a flash drive and reinstalling the os from the last backup of the other one.
My great question is: Can we keep the files we used to have in the normal OS (Apps, Programs,...) or we have to backup them?

Anyway, no, you can't keep them, you would have to back them up.
Title: Re: KnightOS
Post by: Deep Toaster on November 13, 2010, 10:41:15 am
B] Could I use my calc as a USB device?  Could I attach it to the computer, transfer, say, a Powerpoint document, take it to school, then run it directly from the calc?  Could I transfer something on the size of Word documents?  Could I secretly have a web browser tucked away somewhere in my calc?

Wow, .ppt might be a bit big for a calc, though...

Please don't quote huge bodies of text unless they are in Spoilers or something.  Or if you have a specific question about one of them in this case [1] and delete everything else.  KK, just more OCD than usual today for some reason. Maybe I should put mine in a spoiler...</offtopic>

1] No dual boot.  I thought about the option of putting in a flash drive to save all files of KOS/TIOS to a flash drive and reinstalling the os from the last backup of the other one.
My great question is: Can we keep the files we used to have in the normal OS (Apps, Programs,...) or we have to backup them?

Anyway, no, you can't keep them, you would have to back them up.

Yeah, different format. That's also part of the reason you can't dual-boot.
Title: Re: KnightOS
Post by: Michael_Lee on November 13, 2010, 10:44:38 am
B] Could I use my calc as a USB device?  Could I attach it to the computer, transfer, say, a Powerpoint document, take it to school, then run it directly from the calc?  Could I transfer something on the size of Word documents?  Could I secretly have a web browser tucked away somewhere in my calc?

Wow, .ppt might be a bit big for a calc, though...

Yeah, but think of the awesomeness factor!
Math class:
"Hello, today I'm going to be giving a presentation on prime numbers.  Ohwait, excuse me for one moment while I hook my calculator up..."
Class gets confused and starts chattering.  Math teacher + exasperated friends facepalm in unison, then starts silently laughing/crying/shaking their head in disbelief.
"There we go!"  (Clicks around for a while)
"Okay."  [click right arrow on calc] "Now, the interesting thing about prime numbers is..."

Title: Re: KnightOS
Post by: matthias1992 on November 13, 2010, 10:46:14 am
if sizes become a problem then on-comuter conversion and maybe compression must be done (?)

good querstions though, I am curious about those as well...
Title: Re: KnightOS
Post by: Munchor on November 13, 2010, 10:47:19 am
I also agree that .ppt would be quite big, but an equivalent to power points in calculator would be cool for tests.


Again, alternatives to NoteFlio for tests :D IN KnightOS
Title: Re: KnightOS
Post by: squidgetx on November 13, 2010, 10:48:32 am
PPT would take up like the whole archive of an 84SE, wouldn't it?
Title: Re: KnightOS
Post by: Deep Toaster on November 13, 2010, 10:49:29 am
I also agree that .ppt would be quite big, but an equivalent to power points in calculator would be cool for tests.


Again, alternatives to NoteFlio for tests :D IN KnightOS

Hmm, should KOS include some sort of test mode (for actual tests, as in exams, not death mode) so that teachers'll be more willing to accept it?
Title: Re: KnightOS
Post by: Munchor on November 13, 2010, 10:51:15 am
I also agree that .ppt would be quite big, but an equivalent to power points in calculator would be cool for tests.


Again, alternatives to NoteFlio for tests :D IN KnightOS

Hmm, should KOS include some sort of test mode (for actual tests, as in exams, not death mode) so that teachers'll be more willing to accept it?

In my country, teachers tell us: "PUT ALL IN YOUR CALCULATOR". Really, they almost force us to put things there to make it easier.

Oh and they never reset calculators, since it's illegal.


About the teacher mode, I don't like it. The teacher would never be safe with that, it could be turned off, calc reseted, lots of stuff could be done, but one could be made for honest students ;)

Quote

Math class:
"Hello, today I'm going to be giving a presentation on prime numbers.  Ohwait, excuse me for one moment while I hook my calculator up..."
Class gets confused and starts chattering.  Math teacher + exasperated friends facepalm in unison, then starts silently laughing/crying/shaking their head in disbelief.
"There we go!"  (Clicks around for a while)
"Okay."  [click right arrow on calc] "Now, the interesting thing about prime numbers is..."
Epic.
Title: Re: KnightOS
Post by: MRide on November 13, 2010, 10:54:04 am
In my country, teachers tell us: "PUT ALL IN YOUR CALCULATOR". Really, they almost force us to put things there to make it easier.

Oh and they never reset calculators, since it's illegal.
Where do you live? I just use Fake to save my stuff, but not sure how that would work for KOS.  The only problem I see with this so far is that my physics teacher will notice when he tries to clear the mem.
Title: Re: KnightOS
Post by: Michael_Lee on November 13, 2010, 10:54:47 am
I also agree that .ppt would be quite big, but an equivalent to power points in calculator would be cool for tests.


Again, alternatives to NoteFlio for tests :D IN KnightOS

Hmm, should KOS include some sort of test mode (for actual tests, as in exams, not death mode) so that teachers'll be more willing to accept it?

In my country, teachers tell us: "PUT ALL IN YOUR CALCULATOR". Really, they almost force us to put things there to make it easier.

Oh and they never reset calculators, since it's illegal.


About the teacher mode, I don't like it. The teacher would never be safe with that, it could be turned off, calc reseted, lots of stuff could be done, but one could be made for honest students ;)

Really?  Lucky.  My teacher avoids graphing calculators - she almost always bans them on tests (we can use scientific, boring calculators, though), and the one time we were allowed to use them, she cleared the RAM as we submitted our tests...  (funny story: I heard she was clearing the calcs, so I obsessively spent lunch trying to back things up, but she she only did a wimpy RAM clear, which happens to me about, say over 9000 times a day... And when I first started Axe, RAM clears were terrifying!)
Title: Re: KnightOS
Post by: Deep Toaster on November 13, 2010, 10:57:14 am
Really?  Lucky.  My teacher avoids graphing calculators - she almost always bans them on tests (we can use scientific, boring calculators, though), and the one time we were allowed to use them, she cleared the RAM as we submitted our tests...  (funny story: I heard she was clearing the calcs, so I obsessively spent lunch trying to back things up, but she she only did a wimpy RAM clear, which happens to me about, say over 9000 times a day... And when I first started Axe, RAM clears were terrifying!)

Nice. I don't think teachers ever clear anything but the RAM, though. But for a lot of calc users, that's everything.
Title: Re: KnightOS
Post by: MRide on November 13, 2010, 10:58:37 am
Uh..my physics teacher clears everything.  (Or at least he thinks he does on mine ;D)
Title: Re: KnightOS
Post by: Michael_Lee on November 13, 2010, 11:01:05 am
Really?  Lucky.  My teacher avoids graphing calculators - she almost always bans them on tests (we can use scientific, boring calculators, though), and the one time we were allowed to use them, she cleared the RAM as we submitted our tests...  (funny story: I heard she was clearing the calcs, so I obsessively spent lunch trying to back things up, but she she only did a wimpy RAM clear, which happens to me about, say over 9000 times a day... And when I first started Axe, RAM clears were terrifying!)

Nice. I don't think teachers ever clear anything but the RAM, though. But for a lot of calc users, that's everything.

Yeah.  I actually contemplated using MirageOS to lock access to the mem screen, but then she could have just pulled a battery while running a short program, if she was savvy enough...
She was trying to prevent us from copying test questions/answers.  Pretty futile, considering that with Axe I can make frickin' APPLICATIONS if I feel like it.  Only complete annihilation would kill that.
Title: Re: KnightOS
Post by: squidgetx on November 13, 2010, 11:02:34 am
My teachers just give us school calculators to use to prevent cheating. And yeah, I think my RAM clears at least 10 times a day lol
Title: Re: KnightOS
Post by: Deep Toaster on November 13, 2010, 11:03:14 am
Really?  Lucky.  My teacher avoids graphing calculators - she almost always bans them on tests (we can use scientific, boring calculators, though), and the one time we were allowed to use them, she cleared the RAM as we submitted our tests...  (funny story: I heard she was clearing the calcs, so I obsessively spent lunch trying to back things up, but she she only did a wimpy RAM clear, which happens to me about, say over 9000 times a day... And when I first started Axe, RAM clears were terrifying!)

Nice. I don't think teachers ever clear anything but the RAM, though. But for a lot of calc users, that's everything.

Yeah.  I actually contemplated using MirageOS to lock access to the mem screen, but then she could have just pulled a battery while running a short program, if she was savvy enough...
She was trying to prevent us from copying test questions/answers.  Pretty futile, considering that with Axe I can make frickin' APPLICATIONS if I feel like it.  Only complete annihilation would kill that.

Or reset all? ;)
Title: Re: KnightOS
Post by: aeTIos on November 13, 2010, 11:04:57 am
Uh..my physics teacher clears everything.  (Or at least he thinks he does on mine ;D)
Nooo, really? full mem clear wow i was gonna cry if that happened  :o :o :o :o :o

and scout, I am allowed to use all things that I put at it on tests and even my exam, really cool 8)
Title: Re: KnightOS
Post by: Michael_Lee on November 13, 2010, 11:06:34 am
Really?  Lucky.  My teacher avoids graphing calculators - she almost always bans them on tests (we can use scientific, boring calculators, though), and the one time we were allowed to use them, she cleared the RAM as we submitted our tests...  (funny story: I heard she was clearing the calcs, so I obsessively spent lunch trying to back things up, but she she only did a wimpy RAM clear, which happens to me about, say over 9000 times a day... And when I first started Axe, RAM clears were terrifying!)

Nice. I don't think teachers ever clear anything but the RAM, though. But for a lot of calc users, that's everything.

Yeah.  I actually contemplated using MirageOS to lock access to the mem screen, but then she could have just pulled a battery while running a short program, if she was savvy enough...
She was trying to prevent us from copying test questions/answers.  Pretty futile, considering that with Axe I can make frickin' APPLICATIONS if I feel like it.  Only complete annihilation would kill that.

Or reset all? ;)

Reset all = complete annihilation.

Actually, on second thought, reset all + delete the OS = complete annihilation.
(Interestingly, deleting the OS doesn't delete anything in archive).
Title: Re: KnightOS
Post by: ztrumpet on November 13, 2010, 11:13:20 am
Hmm, should KOS include some sort of test mode (for actual tests, as in exams, not death mode) so that teachers'll be more willing to accept it?
Well, teachers sometimes clear RAM and KOS does that every time you turn the calc on, so... :P

Sir, every time I read this topic I find myself wanting KOS more and more. ;D
Title: Re: KnightOS
Post by: Deep Toaster on November 13, 2010, 11:14:41 am
Hmm, should KOS include some sort of test mode (for actual tests, as in exams, not death mode) so that teachers'll be more willing to accept it?
Well, teachers sometimes clear RAM and KOS does that every time you turn the calc on, so... :P

Good point :o

This is getting better and better...

And this is a bit late, but
/me WANT
Title: Re: KnightOS
Post by: jnesselr on November 13, 2010, 11:21:13 am
Let's see, given the size of the average powerpoint...  Yeah, we would need some mega compression.  Also, come to think of it, how exactly would you play it off the calculator?  It would just be pointless with the computer right there... Unless...

/me starts to think which is usually a very bad sign...

For the record, I purposefully skipped the discussion of the offtopic part.
Title: Re: KnightOS
Post by: Munchor on November 13, 2010, 12:26:12 pm
Let's see, given the size of the average powerpoint...  Yeah, we would need some mega compression.  Also, come to think of it, how exactly would you play it off the calculator?  It would just be pointless with the computer right there... Unless...

/me starts to think which is usually a very bad sign...

For the record, I purposefully skipped the discussion of the offtopic part.

Power Point? Once again it sounds non sense. We could have something like power points, though.
Title: Re: KnightOS
Post by: Deep Toaster on November 13, 2010, 01:26:23 pm
Let's see, given the size of the average powerpoint...  Yeah, we would need some mega compression.  Also, come to think of it, how exactly would you play it off the calculator?  It would just be pointless with the computer right there... Unless...

/me starts to think which is usually a very bad sign...

For the record, I purposefully skipped the discussion of the offtopic part.

I think Michael_Lee's original question was whether or not a computer could open it directly from the calculator, essentially treating it as a flash drive. Though a presentation program would be nice...
Title: Re: KnightOS
Post by: jnesselr on November 13, 2010, 01:39:21 pm
Let's see, given the size of the average powerpoint...  Yeah, we would need some mega compression.  Also, come to think of it, how exactly would you play it off the calculator?  It would just be pointless with the computer right there... Unless...

/me starts to think which is usually a very bad sign...

For the record, I purposefully skipped the discussion of the offtopic part.

I think Michael_Lee's original question was whether or not a computer could open it directly from the calculator, essentially treating it as a flash drive. Though a presentation program would be nice...
Oh, yes, I know SirCmpwn talked about having the calc basically be a flash drive.
Title: Re: KnightOS
Post by: matthias1992 on November 13, 2010, 01:49:19 pm
I think the whole PPT idea is just a beg for a slightly more fancy looking notefolio. NoteFolio was pretty good (though slow) and it would not allow drawings. If in this PPT-like program we could have pictures between the text then that would be very helpful already!! Just needs some special computer software so that the picture fits on the page but that should be no problem at all!

About the teacher/test-mode, I would not do that...it did give me an idea for a new command though, something like 'Hide(<objectname>)' and Unveil(<objectname>)' (I used 'objectname' as a generalisation for strings, matrices, programs and other vars). Those commands should just hide or show the object in the file manager. See it like the option in windows where you can decide whether or not to show hidden folders...

ooh brings me to a other (obvious) idea, password protected folders(??). Altough honestly I have no clue wether KOS uses a FAT like file system? (I believe it's intended to do so but I am not sure(?))

Edit: @graphmastur, if that was his original question then I would say: don't try it. It basically then breaksdown to using the calc as a USB-stick which is cool but far from practical...(ok, WFRNG is not practical either but...you get the point)
Title: Re: KnightOS
Post by: jnesselr on November 13, 2010, 02:10:13 pm
I think the whole PPT idea is just a beg for a slightly more fancy looking notefolio. NoteFolio was pretty good (though slow) and it would not allow drawings. If in this PPT-like program we could have pictures between the text then that would be very helpful already!! Just needs some special computer software so that the picture fits on the page but that should be no problem at all!

About the teacher/test-mode, I would not do that...it did give me an idea for a new command though, something like 'Hide(<objectname>)' and Unveil(<objectname>)' (I used 'objectname' as a generalisation for strings, matrices, programs and other vars). Those commands should just hide or show the object in the file manager. See it like the option in windows where you can decide whether or not to show hidden folders...

ooh brings me to a other (obvious) idea, password protected folders(??). Altough honestly I have no clue wether KOS uses a FAT like file system? (I believe it's intended to do so but I am not sure(?))

Edit: @graphmastur, if that was his original question then I would say: don't try it. It basically then breaksdown to using the calc as a USB-stick which is cool but far from practical...(ok, WFRNG is not practical either but...you get the point)
Let's see, yeah, we could write a powerpoint like thing.

Yeah, I'm thinking there could be a status bit, but don't know if this is implemented.  I'm pretty sure there's one for like archived/unarchived, but I can't recall atm.

As for the password protection.  Not sure, but I doubt it.

How is it not practical?  Drag and drop?  With the file system he has set up, it would work very very well.
Title: Re: KnightOS
Post by: Deep Toaster on November 13, 2010, 02:11:35 pm
Hmm, an idea: having the kernel itself allow dual-booting between two Knight FS-based OSes.
Title: Re: KnightOS
Post by: jnesselr on November 13, 2010, 02:12:26 pm
Hmm, an idea: having the kernel itself allow dual-booting between two Knight FS-based OSes.
Technically possible.  Not sure how well though, and it would probably limit memory a bit.
Title: Re: KnightOS
Post by: matthias1992 on November 13, 2010, 02:18:07 pm
well graphmastur I ment it wasn't practical seeing how limited the calc is in memory. Being able to D&D some junk on the calc would be great but, well, seeing the memory constraints...
Title: Re: KnightOS
Post by: jnesselr on November 13, 2010, 02:25:06 pm
well graphmastur I ment it wasn't practical seeing how limited the calc is in memory. Being able to D&D some junk on the calc would be great but, well, seeing the memory constraints...
True.  I also want to get the USB working with ports so that I can access flash drives and stuff natively.  Eg, Directly with KnightOS.
Title: Re: KnightOS
Post by: squidgetx on November 13, 2010, 03:26:20 pm
well graphmastur I ment it wasn't practical seeing how limited the calc is in memory. Being able to D&D some junk on the calc would be great but, well, seeing the memory constraints...

Three words: No TI Connect
Title: Re: KnightOS
Post by: Munchor on November 13, 2010, 03:29:12 pm
well graphmastur I ment it wasn't practical seeing how limited the calc is in memory. Being able to D&D some junk on the calc would be great but, well, seeing the memory constraints...

Three words: No TI Connect

Two words: Flash drive
Title: Re: KnightOS
Post by: squidgetx on November 13, 2010, 03:31:09 pm
well graphmastur I ment it wasn't practical seeing how limited the calc is in memory. Being able to D&D some junk on the calc would be great but, well, seeing the memory constraints...

Three words: No TI Connect

Two words: Flash drive

well matthias's point was that using a calc as a flash drive is not very practical b/c size of the calc memory

my point is that D&D'ing programs >>>>> Ti connect

two camels in a tiny car.
your point is invalid ;)
Title: Re: KnightOS
Post by: Munchor on November 13, 2010, 03:31:52 pm
Three words: No TI Connect
Two words: Flash drive
One word: KnightOS
Title: Re: KnightOS
Post by: Michael_Lee on November 13, 2010, 04:52:03 pm
Let's see, given the size of the average powerpoint...  Yeah, we would need some mega compression.  Also, come to think of it, how exactly would you play it off the calculator?  It would just be pointless with the computer right there... Unless...

/me starts to think which is usually a very bad sign...

For the record, I purposefully skipped the discussion of the offtopic part.

I think Michael_Lee's original question was whether or not a computer could open it directly from the calculator, essentially treating it as a flash drive. Though a presentation program would be nice...
^ This.
Although from looking at TI-Connect, data transfer looks a little slow, so executing anything directly on calc might not be the best idea...

Also, clarification to question 1: is it possible in any way, shape, or form to alternate between KnightOS and TIOS without having to use a computer?
(Edited the question w/ the clarification).

lol, SirCmpwn's going to have a surprise when he next logs in - 2 pages spawned out of nowhere.
Title: Re: KnightOS
Post by: jnesselr on November 13, 2010, 05:53:45 pm
Let's see, given the size of the average powerpoint...  Yeah, we would need some mega compression.  Also, come to think of it, how exactly would you play it off the calculator?  It would just be pointless with the computer right there... Unless...

/me starts to think which is usually a very bad sign...

For the record, I purposefully skipped the discussion of the offtopic part.

I think Michael_Lee's original question was whether or not a computer could open it directly from the calculator, essentially treating it as a flash drive. Though a presentation program would be nice...
^ This.
Although from looking at TI-Connect, data transfer looks a little slow, so executing anything directly on calc might not be the best idea...

Also, clarification to question 1: is it possible in any way, shape, or form to alternate between KnightOS and TIOS without having to use a computer?
(Edited the question w/ the clarification).

lol, SirCmpwn's going to have a surprise when he next logs in - 2 pages spawned out of nowhere.
Well, you might be able to switch with a flash drive, but no, KOS and TIOS cannot coexist on the same calc.
Title: Re: KnightOS
Post by: TC01 on November 13, 2010, 06:13:06 pm
What might be possible would be something like an installer to install an 8xu from a flash drive. I think I suggested that a while ago.

SirCmpwn did not plan on making such a thing, though.
Title: Re: KnightOS
Post by: jnesselr on November 13, 2010, 06:20:02 pm
What might be possible would be something like an installer to install an 8xu from a flash drive. I think I suggested that a while ago.

SirCmpwn did not plan on making such a thing, though.
I know I suggested adding that when I got the dev version, though.
Title: Re: KnightOS
Post by: AngelFish on November 13, 2010, 06:53:25 pm
In my country, teachers tell us: "PUT ALL IN YOUR CALCULATOR". Really, they almost force us to put things there to make it easier.

Oh and they never reset calculators, since it's illegal.

If you don't mind me asking, where do you live? In the US, it's not illegal to clear the RAM of a calculator.
Title: Re: KnightOS
Post by: SirCmpwn on November 13, 2010, 10:02:59 pm
Holy crap, 4 pages of questions.  This will take a while.  Let's start with this:
Spoiler For Questions:
Hi - I'm pretty certain that some of these questions have been answered before, but I'd still like ask them all - just in case I misread or missed something.

0] Developers version by 2011 - what can be done with it?  What can't be done?

1] Is there any way to alternate between running KnightOS and TIOS?  I know that you can't double boot, but will there be some kind of feature that allows me to start a conversion between them?  Could I plug in a mini USB containing both OSes and run a sort of app to load which one I want?  Or do I have to use the computer and a connecting program to switch?  In essence, will there be any way at all to convert between KnightOS and TIOS without a computer?  If so, will it be quick/easy?

2] What kind of math features will be added?  I'm fairly certain that at one point, you said it would have all of the math functions, and more, of the TIOS.  Will this have symbolic manipulation (where '(X+3)(X+4)' displays 'X2+7X+12')?

3] How compatible will KnightOS be with Basic games, hybrid Basic games, normal assembly games, Axe assembly games, MirageOS/DoorsCS/Ion/etc. games, apps?  I think you said that Basic games would have to be ported, but how about a computer converter that transforms Basic games into KnightOS games?  And in converse, something that transforms KnightOS games to TIOS assembly/Basic?

4] Will trees be possible?  I don't know what they are, but apparently they're cool, so it'd be interesting to be able to muck around with them.

5] Will the font be the same, or will you switch it?

6] The programming language: will it be similar to Basic, or will it be a varient of C, or will it resemble another programming language?

7] Will graphing be faster?  Will it allow 3d?  Possibly 4d?

8] How safe will the built-in programming language be?  Will it be more like Basic or more like Axe?  Or will it try to compromise and try to have the best of both (safety of Basic, speed of Axe)?

9] How large will I be able to compute numbers?  Like TIOS, do I have to switch to scientific notation after a while (1.337 * 10^13), or will that output 13370000000000?

A] Will KnightOS come with support for programming 3d graphics?

B] Could I use my calc as a USB device?  Could I attach it to the computer, transfer, say, a Powerpoint document, take it to school, then run it directly from the calc?  Could I transfer something on the size of Word documents?  Could I secretly have a web browser tucked away somewhere in my calc?

C] How easy will it be to transfer files to and from KnightOS to the computer?  Could I just hook the calculator up and treat it like any other USB device, or will I have to use a special program?

D] Will KnightOS have usb support built in?  What about support for that little circly thing that I can play music out of? 

E] Could I play music with KnightOS?  How good will it be?  If I have music running on one program, could I switch over to another program and play, say, Tetris while listening to the original running in the background?

F] How compatible will this be with the lab instruments you can hook up to the z80 calculators?  For that matter, how compatible will this be with other calculators running TIOS?  Could I transfer data/games between the two?

Spoiler For Answers:
0] What can be done with it is send your programs to it, browse the filesystem, and run your own programs.  If I get it done quick enough, I'll throw some more stuff in there, too.
1] I've been thinking about how to do this, but I don't want to comment on it just yet.
2] Definitely PrettyPrint, and maybe a CAS
3] A TI-Basic interpreter, as well as KBasic, is planned.  Assembly is not supported, and I'm working on safety features to alert the user that they are trying to run something that can't be run before crashing the calculator :P.  There has been discussion about porting Axe.
4] I have no idea what they are either :P
5] It is similar.  I've attached the character set.
6] KBasic is still in infancy, I don't want to talk about it.  z80 assembly will be supported, however.
7] Considerably faster.  3D, quite probably, 4D, no.
8] It will have the safety of TI-Basic, but the powerful graphic commands of Axe.  Axe itself may also be ported, as has been previously mentioned.
9] You will probably have to switch to scientific notation.  I'm still on the fence about how best to work with this.
A] Probably not out-of-the-box, but a library for 3D graphics will probably be made.
B] As a flash drive, yes.  If I'm successful with my tests.
C] Same as a flash drive.  It will be absurdly easy, no special software required.
D] Yes.  I/O support, too.
E] It would not be of a great quality, but I've been thinking of some special things called Timed Threads that may make music feasible.  High-quality music is possible if you don't switch programs.
F] Complete compatibility with TIOS.  As for lab instruments, I don't own any to test with.  Anyone with hardware that you want supported should PM me to get it in my hands for a bit while I work in support.

Spoiler For More Q&A:
PPT would take up like the whole archive of an 84SE, wouldn't it?
With KnightOS, users will have just under 2MB of storage on a TI-84+SE.  I just found some random PowerPoint file on my hard drive, and it's 62K.

Hmm, should KOS include some sort of test mode (for actual tests, as in exams, not death mode) so that teachers'll be more willing to accept it?
If there turns out to be problems with teachers after the release, then I can publish an update that will add test mode.

About the teacher/test-mode, I would not do that...it did give me an idea for a new command though, something like 'Hide(<objectname>)' and Unveil(<objectname>)' (I used 'objectname' as a generalisation for strings, matrices, programs and other vars). Those commands should just hide or show the object in the file manager. See it like the option in windows where you can decide whether or not to show hidden folders...

ooh brings me to a other (obvious) idea, password protected folders(??). Altough honestly I have no clue wether KOS uses a FAT like file system? (I believe it's intended to do so but I am not sure(?))
These will not be implemented.  The whole calculator can be password protected if you like, but the FS is as minimalistic as possible, to maximize available user storage.

Hmm, an idea: having the kernel itself allow dual-booting between two Knight FS-based OSes.
I'm going to play around with this.  It is most definitely possible.  You could probably even boot a knight-kernel based OS from a flash drive.

lol, SirCmpwn's going to have a surprise when he next logs in - 2 pages spawned out of nowhere.
No kidding.  I've been working on the reply for 30 minutes.

What might be possible would be something like an installer to install an 8xu from a flash drive. I think I suggested that a while ago.
The OS is crazy small.  I'm planning on doing an 8xk-based installer :)
Title: Re: KnightOS
Post by: calc84maniac on November 13, 2010, 10:16:51 pm
With KnightOS, users will have just under 4MB of storage on a TI-84+SE.
2MB*
Title: Re: KnightOS
Post by: SirCmpwn on November 13, 2010, 10:17:33 pm
FFFF I always screw that up.  2MB is correct.
Title: Re: KnightOS
Post by: AngelFish on November 13, 2010, 10:20:34 pm
FFFF I always screw that up.  2MB is correct.

You mean it doesn't give you an extra 2 MB? :(
Title: Re: KnightOS
Post by: SirCmpwn on November 13, 2010, 10:27:14 pm
Yeah, it actually expands your flash chip beyond its actual capacity.
Title: Re: KnightOS
Post by: willrandship on November 13, 2010, 11:13:21 pm
That would be cool. Maybe a built-in compressor?
Title: Re: KnightOS
Post by: Deep Toaster on November 13, 2010, 11:13:59 pm
That would be cool. Maybe a built-in compressor?

Hmm, how about OS support for compressed prgms?
Title: Re: KnightOS
Post by: AngelFish on November 13, 2010, 11:23:55 pm
Yeah, it actually expands your flash chip beyond its actual capacity.

You Sir, are amazing.

/me bows before SirCmpwn's coding skills
Title: Re: KnightOS
Post by: willrandship on November 13, 2010, 11:24:50 pm
umm, someone missed the sarcasm bb codes XD
Title: Re: KnightOS
Post by: Deep Toaster on November 13, 2010, 11:28:05 pm
umm, someone missed the sarcasm bb codes XD

XD I wish that could actually happen.
Title: Re: KnightOS
Post by: AngelFish on November 13, 2010, 11:31:09 pm
umm, someone missed the sarcasm bb codes XD

Yep, but it wasn't me :p
Title: Re: KnightOS
Post by: SirCmpwn on November 13, 2010, 11:50:18 pm
That would be cool. Maybe a built-in compressor?

Hmm, how about OS support for compressed prgms?
I'll consider it.
Title: Re: KnightOS
Post by: DJ Omnimaga on November 13, 2010, 11:58:10 pm
Compressed programs would be cool. I wonder if there would be risks that some files ends up being larger, though, and if it would be hard to implement...

As for test mode, if it's added, you should make it so after an hour or two, test mode is automatically disabled, in case the teacher won't bother disabling it at the end of the test.
Title: Re: KnightOS
Post by: SirCmpwn on November 14, 2010, 12:01:24 am
Oh, of course!
Title: Re: KnightOS
Post by: willrandship on November 14, 2010, 03:15:55 am
What about a time choice? Some tests take longer than others, and teachers will complain. Plus, it saves the trouble of unlocking it earlier since the teacher and student know it takes exactly the duration of the test. For instance, the ACT takes about 4 hours.

I once on my nspire (in 84+ mode) got it really messed up by recalling strings larger than RAM and accidentally stuck it in test mode by running this

PrgmA
:AsmPrgm
:FFFFFFFFFFFFFFFFFFFF
Title: Re: KnightOS
Post by: DJ Omnimaga on November 14, 2010, 03:57:34 am
One thing, though, is that we would need to make sure time still decreases while the calc is in sleep mode. On 84+ calcs this wouldn't be a problem, but we have to think about 83+/83+SE users who got no clock.
Title: Re: KnightOS
Post by: SirCmpwn on November 14, 2010, 09:44:37 am
There could be a special sleep mode that just turns off the LCD and keeps the timer going.
Title: Re: KnightOS
Post by: Deep Toaster on November 14, 2010, 11:32:11 am
Oh yeah, since it's event-driven, how about keeping the calc in as low-power a state as possible when nothing's happening?
Title: Re: KnightOS
Post by: matthias1992 on November 14, 2010, 11:53:48 am
Cool but why is there no assembly program support in the 2011 dev version? I can think of some reasons my-self but since it's your project I'd like to hear it from you, Sir. Anyway, there will be assemly support later on right?
Title: Re: KnightOS
Post by: SirCmpwn on November 14, 2010, 12:47:40 pm
Cool but why is there no assembly program support in the 2011 dev version? I can think of some reasons my-self but since it's your project I'd like to hear it from you, Sir. Anyway, there will be assemly support later on right?
Lol that's the only thing that is supported in the Dev version :P
Title: Re: KnightOS
Post by: calcdude84se on November 14, 2010, 01:38:40 pm
I once on my nspire (in 84+ mode) got it really messed up by recalling strings larger than RAM and accidentally stuck it in test mode by running this

PrgmA
:AsmPrgm
:FFFFFFFFFFFFFFFFFFFF
Probably want to put a C9 (ret) on the end there ;D
Otherwise you'll be executing who-knows-what. :P
Title: Re: KnightOS
Post by: Munchor on November 14, 2010, 03:22:50 pm
I once on my nspire (in 84+ mode) got it really messed up by recalling strings larger than RAM and accidentally stuck it in test mode by running this

PrgmA
:AsmPrgm
:FFFFFFFFFFFFFFFFFFFF
Probably want to put a C9 (ret) on the end there ;D
Otherwise you'll be executing who-knows-what. :P

Fail. That's why I won't program Asm(, without even noticing, my calculator is gone lol
Title: Re: KnightOS
Post by: calcdude84se on November 14, 2010, 03:29:01 pm
You back up and use an emulator ;)
That way, RAM clears are not a problem (nor is anything else except the rare archive corruption)
Title: Re: KnightOS
Post by: Munchor on November 14, 2010, 04:28:47 pm
You back up and use an emulator ;)
That way, RAM clears are not a problem (nor is anything else except the rare archive corruption)

I know, i backup, but RAM deletes and I have to compile something like 7programs in a row lol
Title: Re: KnightOS
Post by: calcdude84se on November 14, 2010, 04:30:19 pm
If those 7 programs must be in RAM, compiled, you can always use a group ;)
Anyway, for KnightOS, Sir plans to have no RAM-based file system anyway, so RAM clears are less of a problem.
Title: Re: KnightOS
Post by: nemo on November 14, 2010, 04:42:27 pm
If those 7 programs must be in RAM, compiled, you can always use a group ;)
Anyway, for KnightOS, Sir plans to have no RAM-based file system anyway, so RAM clears are less of a problem.

RAM clears won't even be a problem, they'll be standard. i remember Sir saying RAM will be cleared everytime you turn off the calculator.
Title: Re: KnightOS
Post by: Deep Toaster on November 14, 2010, 05:03:54 pm
If those 7 programs must be in RAM, compiled, you can always use a group ;)
Anyway, for KnightOS, Sir plans to have no RAM-based file system anyway, so RAM clears are less of a problem.

RAM clears won't even be a problem, they'll be standard. i remember Sir saying RAM will be cleared everytime you turn off the calculator.

So the VAT'll be in archive too, right? Or will it search through flash for each file each boot?
Title: Re: KnightOS
Post by: willrandship on November 14, 2010, 05:08:40 pm
Yeah, it'll probably be like real computers, where RAM is just for current progs.
Title: Re: KnightOS
Post by: Michael_Lee on November 14, 2010, 06:17:38 pm
5] It is similar.  I've attached the character set.
Erm, I'm not seeing it.

B] As a flash drive, yes.  If I'm successful with my tests.
C] Same as a flash drive.  It will be absurdly easy, no special software required.
Oh, so is there a particular reason why TI-Connect is so slow?  Is it because it was inefficiently coded, or for some other reason?

Wonder what would happen if I tried to install a tiny version of Linux in my calc.
"Hey, look, everybody.  I'm running Linux off of my calculator!"
(*Non-nerd friends facepalm, nerd friends express enthusiasm, teachers start banning me from school computers for 'hacking'.)

Hmm.  Convert and install a password hacking program too?  (Usually, they go on CDs)  Just to demonstrate how a calc can pwn a computer?


KnightOS is going to be so awesome.
Title: Re: KnightOS
Post by: SirCmpwn on November 14, 2010, 06:23:30 pm
There isn't a VAT, that's a TIOS thing.  The entire filesystem is stored in ROM.  And RAM is cleared everytime you turn on the calculator.  Booting Linux from a flash drive would be absurdly awesome.  How big is DSL?
Title: Re: KnightOS
Post by: FinaleTI on November 14, 2010, 06:25:46 pm
There isn't a VAT, that's a TIOS thing.  The entire filesystem is stored in ROM.  And RAM is cleared everytime you turn on the calculator.  Booting Linux from a flash drive would be absurdly awesome.  How big is DSL?
50MB, I believe.
Title: Re: KnightOS
Post by: Michael_Lee on November 14, 2010, 06:28:23 pm
There isn't a VAT, that's a TIOS thing.  The entire filesystem is stored in ROM.  And RAM is cleared everytime you turn on the calculator.  Booting Linux from a flash drive would be absurdly awesome.  How big is DSL?
50MB, I believe.
Crap.  Buy 25 calcs?  Use nspire?
Title: Re: KnightOS
Post by: Deep Toaster on November 14, 2010, 06:39:57 pm
There isn't a VAT, that's a TIOS thing.  The entire filesystem is stored in ROM.  And RAM is cleared everytime you turn on the calculator.  Booting Linux from a flash drive would be absurdly awesome.  How big is DSL?
50MB, I believe.

compressed. Uncompressed that would be 250 MB, unfortunately.

But we could always make our own flavor :D
Title: Re: KnightOS
Post by: AngelFish on November 14, 2010, 06:40:14 pm
There isn't a VAT, that's a TIOS thing.  The entire filesystem is stored in ROM.  And RAM is cleared everytime you turn on the calculator.  Booting Linux from a flash drive would be absurdly awesome.  How big is DSL?
50MB, I believe.

I've seen versions that get to around 10 MB. We could probably get much lower if the GUI was eliminated.
Title: Re: KnightOS
Post by: FinaleTI on November 14, 2010, 06:42:34 pm
There isn't a VAT, that's a TIOS thing.  The entire filesystem is stored in ROM.  And RAM is cleared everytime you turn on the calculator.  Booting Linux from a flash drive would be absurdly awesome.  How big is DSL?
50MB, I believe.

I've seen versions that get to around 10 MB.
Unfortunately, that's still about 5x to big.

Maybe if a Linux distro was written specially for TI 83+/84+'s instead of being ported....
Title: Re: KnightOS
Post by: Michael_Lee on November 14, 2010, 06:54:43 pm
There isn't a VAT, that's a TIOS thing.  The entire filesystem is stored in ROM.  And RAM is cleared everytime you turn on the calculator.  Booting Linux from a flash drive would be absurdly awesome.  How big is DSL?
50MB, I believe.

I've seen versions that get to around 10 MB.
Unfortunately, that's still about 5x to big.

Maybe if a Linux distro was written specially for TI 83+/84+'s instead of being ported....

Maybe just keep the very bare minimum in graphics, and store all programs on a USB and run it from there?  So if I wanted to use the internet, I'd have to have a copy of firefox on another flash drive and run it from there?
Title: Re: KnightOS
Post by: SirCmpwn on November 14, 2010, 06:55:08 pm
You guys do realize that Linux will never actually run on the calculator, the calculator might just provide a means to boot into Linux on a PC.
Title: Re: KnightOS
Post by: Michael_Lee on November 14, 2010, 06:57:07 pm
Yeah, I know.  It'd just be cool to jack in the calc, and 'pretend' that the calculator has taken over the computer.
Title: Re: KnightOS
Post by: FinaleTI on November 14, 2010, 06:57:20 pm
But tomsrtbt (http://www.toms.net/rb/) is supposed to fit on a floppy drive...
Title: Re: KnightOS
Post by: willrandship on November 14, 2010, 07:56:16 pm
Heavily compressed, probably. The real issue is how pathetic the hardware is, not just the space, right sir?
Title: Re: KnightOS
Post by: jnesselr on November 14, 2010, 07:57:06 pm
Heavily compressed, probably. The real issue is how pathetic the hardware is, not just the space, right sir?
The pathetic hardware is what defines the space. ;-) But yeah.
Title: Re: KnightOS
Post by: SirCmpwn on November 14, 2010, 07:59:45 pm
It could be doable.  If someone makes an extremely bare-bones Linux distro in under 2MB, it is possible.  I think it's more likely to be able to boot into an Nspire.
Title: Re: KnightOS
Post by: willrandship on November 14, 2010, 08:06:50 pm
Of course, similar devices run linux. For example, the DS is very similar (not similar enough for programming practicality, but same main CPU, similar power etc.) ARM is a very popular linux platform.
Title: Re: KnightOS
Post by: SirCmpwn on November 14, 2010, 08:09:14 pm
I'm saying run it from the Nspire, using the Nspire as a flash drive.  Running linux on the Nspire itself is also feasible.

So I've been thinking of a feature.  We know that the calculator is able to run on the backup battery for a short period of time.  What if, when power is lost, KnightOS automatically hibernates?
Title: Re: KnightOS
Post by: jnesselr on November 14, 2010, 08:16:08 pm
Wouldn't that kill the battery? 

EDIT: I mean quicker.  When is the backup battery used in TIOS?
Title: Re: KnightOS
Post by: SirCmpwn on November 14, 2010, 08:23:00 pm
Not too much.
Title: Re: KnightOS
Post by: jnesselr on November 14, 2010, 08:24:09 pm
Not too much.
whoa, ninja-edited.  Anyway, then I think it might be a good idea.  What state of "hibernation"?  Would all threads pause or what?  And then, when the power is back on, the threads re-start?
Title: Re: KnightOS
Post by: calcdude84se on November 14, 2010, 08:42:39 pm
Hibernation as in save RAM to flash?
I'm not sure you have the time to save, or more importantly the voltage to write flash with only the backup battery.
Title: Re: KnightOS
Post by: calc84maniac on November 14, 2010, 08:58:17 pm
All the RAM should be intact on the next start-up because of the backup battery. TI-OS decides to clear it (and apparently you do too), but maybe you could have a startup option to preserve ram and do whatever you need to.
Title: Re: KnightOS
Post by: calcdude84se on November 14, 2010, 09:05:16 pm
He'll also need to save all the registers, including pc, since the cpu is reset. (Perhaps save sp in a constant location, say $FFFE?)
Title: Re: KnightOS
Post by: willrandship on November 14, 2010, 09:07:17 pm
What about having something similar to the nspire's low battery message: When it gets low enough to be risky, you hibernate and force a shutdown before it sucks itself dry.
Title: Re: KnightOS
Post by: calcdude84se on November 14, 2010, 09:08:36 pm
We don't have that much data. It's essentially "battery good", "battery low", or "no battery", so we can't do that. :/
Title: Re: KnightOS
Post by: willrandship on November 14, 2010, 09:10:32 pm
Ah. Darn. It'd be even harder if you used rechargeables, since their voltages behave so differently when draining.
Title: Re: KnightOS
Post by: SirCmpwn on November 14, 2010, 10:04:20 pm
This would be an interesting thing to try.  I'll look into how this could be done.
Title: Re: KnightOS
Post by: calcdude84se on November 14, 2010, 10:08:45 pm
BrandonW and I just had an IRC discussion on how to read battery levels. Lemme see if I can pull it up.
It's somewhat long, so look starting at 19:13 at http://netham45.org/irc/EfNet/view.php?log=ti.20101114 (http://netham45.org/irc/EfNet/view.php?log=ti.20101114)
Title: Re: KnightOS
Post by: AngelFish on November 14, 2010, 10:21:39 pm
It could be doable.  If someone makes an extremely bare-bones Linux distro in under 2MB, it is possible.  I think it's more likely to be able to boot into an Nspire.

I see no reason why that shouldn't be possible. A huge portion of Linux is probably the full color GUI.

Take for example GEOS (http://en.wikipedia.org/wiki/GEOS_%288-bit_operating_system%29).
Title: Re: KnightOS
Post by: SirCmpwn on November 15, 2010, 12:53:25 am
I wonder how large the kernel alone is.  I fear that the hardware restrictions may be our downfall in porting Linux to the Nspire.
Title: Re: KnightOS
Post by: AngelFish on November 15, 2010, 01:03:32 am
I wonder how large the kernel alone is.  I fear that the hardware restrictions may be our downfall in porting Linux to the Nspire.


History of the size of the Linux kernel: (http://linux.slashdot.org/article.pl?sid=07/06/09/0527203)

Quote
In 1993 a Linux 0.99 kernel zImage weighed in at 210 kBytes
In 1994 a Linux 1.0.x kernel zImage weighed in at 230 kBytes
In 1995 a Linux 1.2.x kernel zImage weighed in at 310 kBytes
In 1996 a Linux 2.0.x kernel zImage weighed in at 380 kBytes
In 1998 a Linux 2.2.x kernel bzImage weighed in at 650 kBytes
In 2000 a Linux 2.4.x kernel bzImage weighed in at 1000 kBytes
In 2003 a Linux 2.6.x kernel bzImage weighed in at 1300 kBytes
In 2007 a Linux 2.6.x kernel bzImage weighed in at 1500 kBytes

Since the Nspire is effectively '90s hardware (http://wi-fizzle.com/compsci/cpu_speed_Page_2.png) in terms of power, I see no reason why it couldn't be ported to the Nspire.

EDIT: I've decompressed an old 0.95 linux version and the decompressed tar is 590 KB in total. I'm not exactly sure what relation the .tar file has to a working OS kernel, but that seems reasonable.

All of the Linux kernels can be found here (http://www.kernel.org/pub/linux/).
Title: Re: KnightOS
Post by: DJ Omnimaga on November 15, 2010, 03:06:27 am
I bet with a minimal GUI (not just command line but still a simple GUI) it would still be considerably smaller than the Nspire OSes, even 1.1. OS 2.1 is 21 MB or so, I think.
Title: Re: KnightOS
Post by: AngelFish on November 15, 2010, 03:24:31 am
21 MB? In that case, a quick bit of Googling brings up the Model K variant of Knoppix. Supposedly it got down to around 20MB. I can't find a download version, but I'll bet that OS could easily be stripped down to make it calc friendly.

I just found out about Tiny Core Linux (http://tinycorelinux.com/welcome.html). The Microcore version fits in under 10MB.
Title: Re: KnightOS
Post by: matthias1992 on November 15, 2010, 08:14:57 am
Cool but why is there no assembly program support in the 2011 dev version? I can think of some reasons my-self but since it's your project I'd like to hear it from you, Sir. Anyway, there will be assemly support later on right?
Lol that's the only thing that is supported in the Dev version :P
My bad.

As for the backup battery 'issue' well, I suggest you'd do only the neccesary stuff like saving the registers and maybe the OP's...stuff like that. I'd just clear the RAM but if you could built-in a option that will duplicate the RAM every now and then into ROM...gah..that is just inpractical....hmm, how about savestates? or system-restore points? problem is how do you make these (assuming you make 'em beforehand) and how do you keep the size of them feasible...

Anyway what worries me is that KOS clears RAM every time the OS starts, the memory chips can't be erased and rewritten forever, 'only' a million times and well...it just bugs me a little cause it simply decreases the calc's lifespan a little (though not significant).

Last thing, erm...maybe there are some more ways to save power when its off? I mean TIOS only turns the LCD off maybe there are some more things we could turn off? just to save power? (I don't know if it's possible, just saying)

I like the way this is going so far, KOS will indeed be awesome!

Edit: If I am going to make a library for KOS I want it to be registration number 1337 :P
Title: Re: KnightOS
Post by: calc84maniac on November 15, 2010, 08:24:07 am
Anyway what worries me is that KOS clears RAM every time the OS starts, the memory chips can't be erased and rewritten forever, 'only' a million times and well...it just bugs me a little cause it simply decreases the calc's lifespan a little (though not significant).
That's the Flash chip you're thinking of. You can do whatever you want as much as you want to RAM, that's why it's RAM.

Last thing, erm...maybe there are some more ways to save power when its off? I mean TIOS only turns the LCD off maybe there are some more things we could turn off? just to save power? (I don't know if it's possible, just saying)
TI-OS goes into low-power mode when it is "off".
Title: Re: KnightOS
Post by: matthias1992 on November 15, 2010, 08:39:35 am
Anyway what worries me is that KOS clears RAM every time the OS starts, the memory chips can't be erased and rewritten forever, 'only' a million times and well...it just bugs me a little cause it simply decreases the calc's lifespan a little (though not significant).
That's the Flash chip you're thinking of. You can do whatever you want as much as you want to RAM, that's why it's RAM.

Last thing, erm...maybe there are some more ways to save power when its off? I mean TIOS only turns the LCD off maybe there are some more things we could turn off? just to save power? (I don't know if it's possible, just saying)
TI-OS goes into low-power mode when it is "off".
ok thanks for explaining. Altough nothing in 'Random Access Memory' tells me that erasing it so often is good...I still think it might be a lightly unwanted habit...but anyways, you ahve comforted me enough by pointing out it's the flash not the RAM, thanks.
Title: Re: KnightOS
Post by: SirCmpwn on November 15, 2010, 08:41:14 am
Anyway what worries me is that KOS clears RAM every time the OS starts
You know, it just so happens that I have the source code that does this, and can easily change it to not clear RAM if there is a hibernated state :P

Last thing, erm...maybe there are some more ways to save power when its off? I mean TIOS only turns the LCD off maybe there are some more things we could turn off? just to save power? (I don't know if it's possible, just saying)
TI-OS goes into low-power mode when it is "off".
And so does KnightOS.
Title: Re: KnightOS
Post by: AngelFish on November 15, 2010, 08:54:19 am
Would there be a way to have KOS do both and let the user pick which one they want to have?
Title: Re: KnightOS
Post by: matthias1992 on November 15, 2010, 09:09:17 am
Would there be a way to have KOS do both and let the user pick which one they want to have?
I'd prefer that option personally, no pressure though...
Title: Re: KnightOS
Post by: DJ Omnimaga on November 15, 2010, 11:19:30 am
21 MB? In that case, a quick bit of Googling brings up the Model K variant of Knoppix. Supposedly it got down to around 20MB. I can't find a download version, but I'll bet that OS could easily be stripped down to make it calc friendly.

I just found out about Tiny Core Linux (http://tinycorelinux.com/welcome.html). The Microcore version fits in under 10MB.
In any case, if a new OS is made for the Nspire, it would be nice to maybe have something that is like 100-200 KB large, if not smaller, to allow the user to use almost all of the 32 MB of memory the calc has.
Title: Re: KnightOS
Post by: SirCmpwn on November 15, 2010, 04:45:49 pm
Would there be a way to have KOS do both and let the user pick which one they want to have?
That could be done, possibly.  The problem is that I don't have a lot of time to look up the settings and hibernate before the backup battery give up.
Title: Re: KnightOS
Post by: AngelFish on November 15, 2010, 04:54:14 pm
What if you designated a unused bit in one of the registers to hold the value and refreshed the register on startup? That would make the read a one command instruction from a very fast location in RAM.
Title: Re: KnightOS
Post by: SirCmpwn on November 15, 2010, 04:55:17 pm
I could use RAM somewhere, I guess.
Title: Re: KnightOS
Post by: matthias1992 on November 15, 2010, 05:26:15 pm
What if you designated a unused bit in one of the registers to hold the value and refreshed the register on startup? That would make the read a one command instruction from a very fast location in RAM.
maybe the refresh register?
Title: Re: KnightOS
Post by: SirCmpwn on November 15, 2010, 05:27:05 pm
I'm not using a register, although refresh is a good idea.
Title: Re: KnightOS
Post by: matthias1992 on November 17, 2010, 06:41:51 am
I'm not using a register, although refresh is a good idea.
So, an entirely different subject. How do you manage multi-threading? I really have been wrecking my brain over it...I assume you use time-division multiplexing? But then again where do you leave/store all the 'shadow' Program Counters?

Also, how many threads will KOS support eventually or is it basically unlimited (despite significant slowdown)

You really should also include BSOD's hehe, any calc user will go nuts on seeing their screen turn dark blue! j/k :P
Title: Re: KnightOS
Post by: Deep Toaster on November 17, 2010, 10:41:02 am
Hmm, is there a way to detect if a BSoD byte is sent? If it is, maybe KOS could cancel it as soon as it's detected...
Title: Re: KnightOS
Post by: willrandship on November 17, 2010, 10:45:21 am
I think he said 20 threads max.

An error OE exception has occurred.
Title: Re: KnightOS
Post by: jnesselr on November 17, 2010, 10:28:23 pm
Hmm, is there a way to detect if a BSoD byte is sent? If it is, maybe KOS could cancel it as soon as it's detected...
Not really.  BSOD occurs when the screen is put into test mode.  This would require knowing what bytes were written to the port, which, IIRC, isn't possible.  I think that it could correct it, but it would wast time and space.
Title: Re: KnightOS
Post by: SirCmpwn on November 18, 2010, 08:25:02 pm
*BLOD
I also have crash alerts, where it will apologize to the user for crashing and try to recover the previous state.

So, an entirely different subject. How do you manage multi-threading? I really have been wrecking my brain over it...I assume you use time-division multiplexing? But then again where do you leave/store all the 'shadow' Program Counters?

Also, how many threads will KOS support eventually or is it basically unlimited (despite significant slowdown)
20 threads max.  As for multithreading, I use interrupts to switch threads, and push all the registers to the stack during the interrupt.  Then, I change the value of SP to point to a different thread's stack, pop all the registers, and RET.  That's the small and simple explanation.
Title: Re: KnightOS
Post by: jnesselr on November 18, 2010, 09:57:31 pm
I also have crash alerts, where it will apologize to the user for crashing and try to recover the previous state.
*jaw drops*  Awesome!!!  "Sorry, your calculator just crashed.  Trying to recover..." That would be nice.  Does it ask to recover?  How does it recover?
Title: Re: KnightOS
Post by: DJ Omnimaga on November 18, 2010, 11:28:52 pm
*BLOD
BSOD on the 83+SE. Instead of a few blue lines, the entire screen turns blue in test mode. :P

Crash alerts and the like sounds cool, but please make sure we can get out of any crash, unlike the TI-Nspire. I hated having to clear the entire memory to get out of one. On  the 89 Titanium I often had this happen too (Line 1111 emulation or something) and I always had to spend 10 minutes trying to find the key combination to get out of the crash everytime...
Title: Re: KnightOS
Post by: SirCmpwn on November 19, 2010, 04:59:53 pm
*jaw drops*  Awesome!!!  "Sorry, your calculator just crashed.  Trying to recover..." That would be nice.  Does it ask to recover?  How does it recover?
It looks at a sort of checksum of RAM to make sure it isn't corrupted, and sets a flag that says a restore was attempted, so it won't try it if it crashes again.  It unloads the currently executing thread, which is probably the source of the crash.  Then, it just restores the calculator to an executing state, where everything is already loaded in RAM.
Title: Re: KnightOS
Post by: squidgetx on November 20, 2010, 05:03:43 pm
Woah, nice work :)
BSOD on the 83+SE. Instead of a few blue lines, the entire screen turns blue in test mode. :P
On my 84+SE the whole screen turns blue as well :P
Title: Re: KnightOS
Post by: matthias1992 on November 20, 2010, 06:16:00 pm
'bout the bsod i wasn't really being serious but anyway, great work so far Sir! that's one respect for you (in lack of 1337 peanuts which are so extremely rare that there basically are none)

edit:
*BLOD
I also have crash alerts, where it will apologize to the user for crashing and try to recover the previous state.

So, an entirely different subject. How do you manage multi-threading? I really have been wrecking my brain over it...I assume you use time-division multiplexing? But then again where do you leave/store all the 'shadow' Program Counters?

Also, how many threads will KOS support eventually or is it basically unlimited (despite significant slowdown)
20 threads max.  As for multithreading, I use interrupts to switch threads, and push all the registers to the stack during the interrupt.  Then, I change the value of SP to point to a different thread's stack, pop all the registers, and RET.  That's the small and simple explanation.
Brings up another question. Can a program consume more then one thread? or will threads only be initiaded when a other task comes in?
Title: Re: KnightOS
Post by: SirCmpwn on November 20, 2010, 07:51:10 pm
Brings up another question. Can a program consume more then one thread? or will threads only be initiaded when a other task comes in?
Programs can be multithreaded, yes.  StartThread takes a pointer in HL to some code to execute on a new thread.
Title: Re: KnightOS
Post by: matthias1992 on November 21, 2010, 08:45:31 am
awesome!
Title: Re: KnightOS
Post by: SirCmpwn on November 27, 2010, 06:28:09 am
Update
I just created the official KnightOS website at http://knightos.sourceforge.net (http://knightos.sourceforge.net), where you will eventually be able to find downloads, source code, documentation, and developer information for KnightOS.  Please let me know if you find anything wrong with it.
Title: Re: KnightOS
Post by: kindermoumoute on November 27, 2010, 06:29:53 am
Pretty, I will see your website.
Title: Re: KnightOS
Post by: Munchor on November 27, 2010, 07:14:08 am
There's a website, it looks quite cool, I'm gonna make my own SourceForge project too (Formulum). It looks better than Google Code:

www.code.google.com/p/formulum (http://www.code.google.com/p/formulum)
Title: Re: KnightOS
Post by: calcdude84se on November 27, 2010, 12:10:04 pm
It's just a matter of choice, Scout :)
Also, there is a link on the main page (the one Sir linked to) to view the source, but, for those of us who have an SVN client (like TortoiseSVN) and wish to checkout, the repository is located at https://knightos.svn.sourceforge.net/svnroot/knightos (https://knightos.svn.sourceforge.net/svnroot/knightos) (You can find this on the website, but it takes a few steps, so, for convenience, I've pasted it here.)
Title: Re: KnightOS
Post by: Munchor on November 27, 2010, 12:11:45 pm
It's just a matter of choice, Scout :)
Also, there is a link on the main page (the one Sir linked to) to view the source, but, for those of us who have an SVN client (like TortoiseSVN) and wish to checkout, the repository is located at https://knightos.svn.sourceforge.net/svnroot/knightos (https://knightos.svn.sourceforge.net/svnroot/knightos) (You can find this on the website, but it takes a few steps, so, for convenience, I've pasted it here.)

https://knightos.svn.sourceforge.net/svnroot/knightos (https://knightos.svn.sourceforge.net/svnroot/knightos)

I'd like to have an online database of files like that, most people like the *ooh shiny* designs, but I like to keep it to that style :D
Title: Re: KnightOS
Post by: calcdude84se on November 27, 2010, 12:35:31 pm
The link on the main page that I mentioned is this one: http://knightos.svn.sourceforge.net/viewvc/knightos/ (http://knightos.svn.sourceforge.net/viewvc/knightos/)
That's probably the one you should use if you don't have a SVN client :P (Though, if you really do like viewing the other one in a browser, then by all means, go ahead :))
Title: Re: KnightOS
Post by: Munchor on November 27, 2010, 12:38:08 pm
The link on the main page that I mentioned is this one: http://knightos.svn.sourceforge.net/viewvc/knightos/ (http://knightos.svn.sourceforge.net/viewvc/knightos/)
That's probably the one you should use if you don't have a SVN client :P (Though, if you really do like viewing the other one in a browser, then by all means, go ahead :))

I like the place where DJ keeps his songs too, it looks old-school :D

HOWEVER, Google Code's archive is very cool too.

Back to topic, on Cemetech, Kermm told KnightOS his header is quite large, and I agree with him. Do you?
Title: Re: KnightOS
Post by: Eeems on November 27, 2010, 12:51:51 pm
Im really confused by what you mean by that last sentence ScoutDavid, could you expand on it?
Title: Re: KnightOS
Post by: _player1537 on November 27, 2010, 12:53:24 pm
Kerm had said that the header was too large, and that he had to scroll a lot to get to the data he was looking for. 

Quote
Hey, I got a special thanks! Cheers.  At a ten-second glance, my only criticism is that vast expanse of wasted space in the header that makes me scroll unnecessarily to see the page contents, but otherwise looks good.
Title: Re: KnightOS
Post by: Munchor on November 27, 2010, 12:53:50 pm
The link on the main page that I mentioned is this one: http://knightos.svn.sourceforge.net/viewvc/knightos/ (http://knightos.svn.sourceforge.net/viewvc/knightos/)
That's probably the one you should use if you don't have a SVN client :P (Though, if you really do like viewing the other one in a browser, then by all means, go ahead :))

I like the place where DJ keeps his songs too, it looks old-school :D

HOWEVER, Google Code's archive is very cool too.

Back to topic, on Cemetech, Kermm told KnightOS his header is quite large, and I agree with him. Do you?

First of all, do you agree that sir's website's header is a bit too big?

Secondly, I like the way Google Code has the files to be downloaded
Title: Re: KnightOS
Post by: calcdude84se on November 27, 2010, 01:05:24 pm
Again, it's a matter of preference :)
As for the header, it's Sir's site to change as he will. He'll probably take our suggestions, though.
Title: Re: KnightOS
Post by: Munchor on November 27, 2010, 01:10:40 pm
Again, it's a matter of preference :)
As for the header, it's Sir's site to change as he will. He'll probably take our suggestions, though.

It's not the preference, it's functionality, as Kermm said you have to make unnecessary scroll :S
Title: Re: KnightOS
Post by: calcdude84se on November 27, 2010, 01:20:17 pm
When I said preference, I was still referring to your comment on Google Code ;)
I probably should clarify my statements more, as I've already had to clarify for you in several other topics :-[
Title: Re: KnightOS
Post by: Munchor on November 27, 2010, 01:20:54 pm
When I said preference, I was still referring to your comment on Google Code ;)
I probably should clarify my statements more, as I've already had to clarify for you in several other topics :-[

Probably it's just my low comprehension of life when I sleep only 5 hours :S
Title: Re: KnightOS
Post by: DJ Omnimaga on November 27, 2010, 02:10:51 pm
I think it looks nice as it is. (the site, that is). I always forget that SourcrForge lets you use your own designs instead of the default one. As for Google code vs Sourceforge it depends of preferences, I guess. Some people prefer Codeplex.

Sir, you might want to fix the Omni/Cemetech/Ticalc links on the sidebar, though. They lead to the wrong locations. :P
Title: Re: KnightOS
Post by: Eeems on November 27, 2010, 03:39:50 pm
http://knightos.svn.sourceforge.net/viewvc/knightos/
You can view the sourcecode here and download it. It's in the sidebar on the main page.
Also, having a big header, while it may be a matter of functionality, it also is a matter of preference, because some people do like big headers. I agree though it should be cut down a little, maybe get rid of some of the space between the title and the link-bar.

EDIT: Why am I not mentioned at all on the site? D':
Title: Re: KnightOS
Post by: calcdude84se on November 27, 2010, 03:44:53 pm
He forgot you...
He'll probably add you since you've brought it to his attention :)
Title: Re: KnightOS
Post by: Eeems on November 27, 2010, 03:47:19 pm
Lol that's what I was doing ;P
Title: Re: KnightOS
Post by: jnesselr on November 27, 2010, 04:12:33 pm
I'm glad that it's an svn now. Once eeems and I get oasis to compile an os and such, it woukd be interesting to be able to work on kos. That gives me an idea for oasis...</offtopic>

I think the header is fine. It's not like you have to scroll for 10 minutes to see anything. Sircmpwn, good luck with this project. I looked over the boot code a little, and it looks nice.
Title: Re: KnightOS
Post by: SirCmpwn on November 27, 2010, 07:52:42 pm
EDIT: Why am I not mentioned at all on the site? D':
I'm sorry, that should be fixed now.

Sir, you might want to fix the Omni/Cemetech/Ticalc links on the sidebar, though. They lead to the wrong locations. :P
Fixed.
Title: Re: KnightOS
Post by: Munchor on November 27, 2010, 07:53:34 pm
EDIT: Why am I not mentioned at all on the site? D':
I'm sorry, that should be fixed now.

Sir, you might want to fix the Omni/Cemetech/Ticalc links on the sidebar, though. They lead to the wrong locations. :P
Fixed.

Great. Also, why isn't my name referred too? hahah, j/k
Title: Re: KnightOS
Post by: jnesselr on November 27, 2010, 07:55:03 pm
Come to think of it, I'm a tester/dev, and I've bothered you more than anyone else, I think. ;-) Just saying.
Title: Re: KnightOS
Post by: Munchor on November 27, 2010, 07:56:00 pm
Come to think of it, I'm a tester/dev, and I've bothered you more than anyone else, I think. ;-) Just saying.

/me wonders about hacking Sir's website to put his name there
Title: Re: KnightOS
Post by: SirCmpwn on November 27, 2010, 08:01:30 pm
/me wonders about hacking Sir's website to put his name there
I'd love to see you try.

Come to think of it, I'm a tester/dev, and I've bothered you more than anyone else, I think. ;-) Just saying.
Which I appreciate.  Really.
Title: Re: KnightOS
Post by: jnesselr on November 27, 2010, 08:06:56 pm
Come to think of it, I'm a tester/dev, and I've bothered you more than anyone else, I think. ;-) Just saying.
Which I appreciate.  Really.
Lol. Hey, just giving you that positive encouragement!
Title: Re: KnightOS
Post by: SirCmpwn on November 27, 2010, 08:08:14 pm
Multithreading is your fault.  So is flash control.  You bug me too much :P
Title: Re: KnightOS
Post by: jnesselr on November 27, 2010, 09:16:51 pm
Multithreading is your fault.  So is flash control.  You bug me too much :P
An i need to edit tht post later to fix the quote. I would hope flash control is my fault. I'm glad to see multithreadin is too. ;-) i'm studying the ports for the usb protocol to help you there. (along with the bcalls of course)
Title: Re: KnightOS
Post by: SirCmpwn on November 27, 2010, 09:57:45 pm
I would worship you if you took care of USB ;)
Title: Re: KnightOS
Post by: jnesselr on November 27, 2010, 10:20:16 pm
Sounds good. I'll try my best to learn it. A few of tge bcalls should still be on a protected page, so it makes life easier.  If i could get my hands on a better decompiler, i could figure it out better.
Title: Re: KnightOS
Post by: SirCmpwn on November 27, 2010, 10:36:05 pm
I believe that there is a full disassembly on http://www.brandonw.net/calcstuff (http://www.brandonw.net/calcstuff)
Title: Re: KnightOS
Post by: jnesselr on November 27, 2010, 10:37:18 pm
I believe that there is a full disassembly on http://www.brandonw.net/calcstuff (http://www.brandonw.net/calcstuff)
Which is the current one i'm using, actually. Thanks, though.
Title: Re: KnightOS
Post by: SirCmpwn on November 28, 2010, 08:15:39 pm
Update
I just implemented thread freezing in KnightOS, so that the OS can freeze threads when the loose focus. Frozen threads are not executed. Threads can also specify whether or not they are freezable, and will not be frozen if they specify otherwise. I also made it quite a bit easier for threads to access their thread flags.
(http://knightos.sourceforge.net/KnightOSThreadFreezing.gif)
Title: Re: KnightOS
Post by: willrandship on November 28, 2010, 09:11:22 pm
Cool! That sounds really useful, and definitely power-saving. (speed-wise at least)
Title: Re: KnightOS
Post by: jnesselr on November 28, 2010, 09:39:16 pm
Does this mean that a thread can be made "un-killable"? As in, some rampant thread hogging too many resources or something. In other words, is there a "force-kill" or some kind of shutoff or warning if resources get out of hand?
Title: Re: KnightOS
Post by: SirCmpwn on November 28, 2010, 09:51:28 pm
You can always manually kill an unruly thread, don't worry.
Title: Re: KnightOS
Post by: DJ Omnimaga on November 29, 2010, 04:56:44 pm
Question about the update: If a thread in particular happened to freeze, for example a buggy program ending up in an endless loop, would it still be possible to switch to another thread to be able to kill the one that crashed, or will we still need to use the old way and pull a battery?
Title: Re: KnightOS
Post by: SirCmpwn on November 29, 2010, 06:19:37 pm
That's one of the great things about KnightOS.  You would be able to leave that program and kill the thread, thus saving yourself the effort of a battery pull (and any of the data you have unsaved in other programs).
Title: Re: KnightOS
Post by: Munchor on November 29, 2010, 06:20:42 pm
That's one of the great things about KnightOS.  You would be able to leave that program and kill the thread, thus saving yourself the effort of a battery pull (and any of the data you have unsaved in other programs).

I mean, not even WFRNG needs battery pulls! Cast a curse on ti-os!
Title: Re: KnightOS
Post by: SirCmpwn on November 29, 2010, 06:25:25 pm
Well, it is admitedly hard to prevent battery pulls, TI just isn't as 1337 as us and we should not fault them for it.
Title: Re: KnightOS
Post by: Munchor on November 29, 2010, 06:25:53 pm
Well, it is admitedly hard to prevent battery pulls, TI just isn't as 1337 as us and we should not fault them for it.

Yes, we are just too good :P
Title: Re: KnightOS
Post by: willrandship on November 29, 2010, 06:36:23 pm
The axe version did :P It crashed my nspire bad enough to need a battery pull. It crashed outside the emu.

I would assume processes could still crash the calc if they're naughty and have too much power, though, right?

So, could a ROM of KnightOS be legally distributed? I mean, the ROM's mainly used for the OS, and since this is going to be a free OS we should be able to distribute the ROM as well, right? Or, are there other copyrighted parts of the ROM that remain?
Title: Re: KnightOS
Post by: Munchor on November 29, 2010, 06:37:33 pm
The axe version did :P It crashed my nspire bad enough to need a battery pull. It crashed outside the emu.

I would assume processes could still crash the calc if they're naughty and have too much power, though, right?

So, could a ROM of KnightOS be legally distributed? I mean, the ROM's mainly used for the OS, and since this is going to be a free OS we should be able to distribute the ROM as well, right? Or, are there other copyrighted parts of the ROM that remain?

It's going to be source code, that's all I know, so I think ROM's could be distributed :D
Title: Re: KnightOS
Post by: Deep Toaster on November 29, 2010, 07:20:05 pm
That's one of the great things about KnightOS.  You would be able to leave that program and kill the thread, thus saving yourself the effort of a battery pull (and any of the data you have unsaved in other programs).

Probably a stupid question, but what if it corrupts all the RAM stuff used by other threads? Or is that impossible?
Title: Re: KnightOS
Post by: calcdude84se on November 29, 2010, 08:04:54 pm
Yeah, you're only protected from infinite loops.
RAM corruption is impossible to prevent; the nature of the z80 processor is what causes that.
Title: Re: KnightOS
Post by: Deep Toaster on November 29, 2010, 10:02:00 pm
Oh, okay, I wasn't sure because I didn't know if having to request for 768 bytes at a time prevented this or something.
Title: Re: KnightOS
Post by: calc84maniac on November 29, 2010, 11:04:02 pm
An infinite loop with interrupts disabled is impossible to break out of, though. Disabling interrupts will disable threading automatically, anyway
Title: Re: KnightOS
Post by: DJ Omnimaga on November 30, 2010, 04:33:18 am
The axe version did :P It crashed my nspire bad enough to need a battery pull. It crashed outside the emu.

I would assume processes could still crash the calc if they're naughty and have too much power, though, right?

So, could a ROM of KnightOS be legally distributed? I mean, the ROM's mainly used for the OS, and since this is going to be a free OS we should be able to distribute the ROM as well, right? Or, are there other copyrighted parts of the ROM that remain?
It would, because the ROM would not contain any code from TI.
Title: Re: KnightOS
Post by: JosJuice on November 30, 2010, 11:37:37 am
The axe version did :P It crashed my nspire bad enough to need a battery pull. It crashed outside the emu.

I would assume processes could still crash the calc if they're naughty and have too much power, though, right?

So, could a ROM of KnightOS be legally distributed? I mean, the ROM's mainly used for the OS, and since this is going to be a free OS we should be able to distribute the ROM as well, right? Or, are there other copyrighted parts of the ROM that remain?
It would, because the ROM would not contain any code from TI.
Aren't the boot pages and such unable to be replaced?
Title: Re: KnightOS
Post by: DJ Omnimaga on November 30, 2010, 03:01:31 pm
I'm not sure about that. Do the ROMs even contain them anyway, though? I think SirCmpwn included a ROM of WFRNG OS on ticalc.org and they let it in, so I guess distributing ROMs of third-party OSes is fine as long as no TI-OS code is included.
Title: Re: KnightOS
Post by: SirCmpwn on November 30, 2010, 05:37:57 pm
The boot pages aren't included in the ROMs I distribute.  They are just FF over and over.  KnightOS uses custom flash writing routines.  And RAM corruption is not avoidable, but crashes are potentially recoverable, and infinite loops can be stopped.
Title: Re: KnightOS
Post by: Munchor on November 30, 2010, 05:43:31 pm
The boot pages aren't included in the ROMs I distribute.  They are just FF over and over.  KnightOS uses custom flash writing routines.  And RAM corruption is not avoidable, but crashes are potentially recoverable, and infinite loops can be stopped.

Great, that means less crashes and more performance!
Title: Re: KnightOS
Post by: SirCmpwn on November 30, 2010, 05:46:26 pm
Well, crash recovery is when it realizes it crashed at boot time, and offers to try and recover.  It only tries once, though, so you won't get trapped.  It may not work very well, but I guess we will see.
Title: Re: KnightOS
Post by: Munchor on November 30, 2010, 05:53:56 pm
Well, crash recovery is when it realizes it crashed at boot time, and offers to try and recover.  It only tries once, though, so you won't get trapped.  It may not work very well, but I guess we will see.

I think that a less-crashable-OS-than-Texas's would be a perfect advertisement for KnightOS and it could get famous JUST because of that :D
Title: Re: KnightOS
Post by: willrandship on November 30, 2010, 05:56:14 pm
Plus, since all your files are already in the archive, it should already be much more safe for your files, right? The RAM is reserved for running programs.
Title: Re: KnightOS
Post by: SirCmpwn on November 30, 2010, 06:44:42 pm
Update
Hardware locking is now been implemented for the LCD port, and I am adding locks on the I/O, USB, and Keyboard hardware as well.  Of course I can't entirely stop programs from accessing the ports, but I can ask them to play nice, and all of the official routines are compliant with hardware locks.  The screenshot below is a demonstration of this technique, based on the same program from the previous update.  There are two threads, both waiting for keypresses.  Thread 01 is waiting on 1, and thread 02 is waiting for 2, and when those keys are pressed, they display their message.  Thread 01 is also watching for S, however, and when it sees it, it releases the LCD and gives control to thread 02.  In the screenshot, I alternate pressing 1 and 2, then press S every so often to switch LCD control.  Both threads try to write to the LCD, but only one is successful, and I can change which one that is.
The KnightKernel is progressing extremely well, and all I have left is to add hardware locking to other ports, add one flash control routine, and implement the filesystem.  Then it's just basic programs until the developer release.
(http://knightos.sourceforge.net/KnightOSHardwareLocking.gif)
Title: Re: KnightOS
Post by: Deep Toaster on November 30, 2010, 06:47:05 pm
Well, crash recovery is when it realizes it crashed at boot time, and offers to try and recover.  It only tries once, though, so you won't get trapped.  It may not work very well, but I guess we will see.

I think that a less-crashable-OS-than-Texas's would be a perfect advertisement for KnightOS and it could get famous JUST because of that :D

Except most students wouldn't even know the TI-OS crashes so much :P

And yay for another update!
Title: Re: KnightOS
Post by: SirCmpwn on November 30, 2010, 06:48:11 pm
Plus, since all your files are already in the archive, it should already be much more safe for your files, right? The RAM is reserved for running programs.
That is correct.  Most crashes will never loose files.

However, no one seems to realize that TIOS is virtually bug-free, until you install some 3rd party assembly software on it that causes bugs.
Title: Re: KnightOS
Post by: jnesselr on November 30, 2010, 06:49:29 pm
And usb... Worked on that a bit today. Figuring out how to write programs to use it is going to be a pain, though.  I still need to know how much of the usb routine I can use if any.  I'm okay with using just the ports and writing our own routines. Your choice.
Title: Re: KnightOS
Post by: SirCmpwn on November 30, 2010, 06:50:36 pm
We should try to leverage the second boot page as much as possible, because it is read only, but there is plenty of room in the kernel.
Title: Re: KnightOS
Post by: DJ Omnimaga on December 01, 2010, 05:37:46 am
Update
Hardware locking is now been implemented for the LCD port, and I am adding locks on the I/O, USB, and Keyboard hardware as well.  Of course I can't entirely stop programs from accessing the ports, but I can ask them to play nice, and all of the official routines are compliant with hardware locks.  The screenshot below is a demonstration of this technique, based on the same program from the previous update.  There are two threads, both waiting for keypresses.  Thread 01 is waiting on 1, and thread 02 is waiting for 2, and when those keys are pressed, they display their message.  Thread 01 is also watching for S, however, and when it sees it, it releases the LCD and gives control to thread 02.  In the screenshot, I alternate pressing 1 and 2, then press S every so often to switch LCD control.  Both threads try to write to the LCD, but only one is successful, and I can change which one that is.
The KnightKernel is progressing extremely well, and all I have left is to add hardware locking to other ports, add one flash control routine, and implement the filesystem.  Then it's just basic programs until the developer release.
(http://knightos.sourceforge.net/KnightOSHardwareLocking.gif)
I don't really get it, but nice to see this is progressing.
Title: Re: KnightOS
Post by: SirCmpwn on December 01, 2010, 08:35:06 am
This basically prevents two threads from both accessing the same hardware.  There could be problems if two threads were trying to access the screen at the same time, for example.
Title: Re: KnightOS
Post by: willrandship on December 01, 2010, 10:00:47 am
That definitely sounds handy. Is there a way programs could lock a portion of the screen RAM? That way, two programs could use the scren at the same time, without conflict.
Title: Re: KnightOS
Post by: DJ Omnimaga on December 01, 2010, 02:42:54 pm
This basically prevents two threads from both accessing the same hardware.  There could be problems if two threads were trying to access the screen at the same time, for example.
Ah, thanks for clarifying. :) What if someone runs an ASM program that totally takes control of the entire calc, though, even disabling interrupts? Isn't ASM that powerful or will your program detect what code is about to be ran and prevents its execution like an antivirus?
Title: Re: KnightOS
Post by: JosJuice on December 01, 2010, 03:24:35 pm
What if someone runs an ASM program that totally takes control of the entire calc, though, even disabling interrupts? Isn't ASM that powerful or will your program detect what code is about to be ran and prevents its execution like an antivirus?
A malicious program could easily do whatever it wants to do, since it has direct access to the processor. Preventing such programs would be very hard.
Title: Re: KnightOS
Post by: calc84maniac on December 01, 2010, 04:18:01 pm
Last I heard, KOS supports programs that disallow threading. Most games would probably want to do this for speed reasons.
Title: Re: KnightOS
Post by: SirCmpwn on December 01, 2010, 04:57:22 pm
Ah, thanks for clarifying. :) What if someone runs an ASM program that totally takes control of the entire calc, though, even disabling interrupts? Isn't ASM that powerful or will your program detect what code is about to be ran and prevents its execution like an antivirus?
I can't do this.  Any program would be able to hijack your calculator under any OS.
Last I heard, KOS supports programs that disallow threading. Most games would probably want to do this for speed reasons.
This is correct.
Title: Re: KnightOS
Post by: jnesselr on December 01, 2010, 07:22:40 pm
How will it handle the thread stopping process?  EG. if one thread asks to take over, what will the other threads do?
Title: Re: KnightOS
Post by: SirCmpwn on December 01, 2010, 07:24:34 pm
The user will be provided with a confirmation dialog, where they have to agree or disagree to allow it.  They can still switch threads at this time, so they can go save their work and such.  Then, all other threads will be shut down, and memory will be reorganized.  Multithreading will be disabled and control returned to the calling thread.
Title: Re: KnightOS
Post by: jnesselr on December 01, 2010, 08:04:26 pm
What about custom interrupt routines?
Title: Re: KnightOS
Post by: Munchor on December 05, 2010, 03:15:40 pm
So, I wonder... How's KnightOS? Still think you can launch a Developper's/Beta version in 1 January?
Title: Re: KnightOS
Post by: jnesselr on December 05, 2010, 03:28:25 pm
So, I wonder... How's KnightOS? Still think you can launch a Developper's/Beta version in 1 January?
I know he'll be able to launch the version by 1 January for a fact.  I'm working on USB routines, so I know those won't really be in KOS dev version. I'm not sure, but I'm pretty sure he'll get it done.
Title: Re: KnightOS
Post by: Munchor on December 05, 2010, 03:28:49 pm
So, I wonder... How's KnightOS? Still think you can launch a Developper's/Beta version in 1 January?
I know he'll be able to launch the version by 1 January for a fact.  I'm working on USB routines, so I know those won't really be in KOS dev version. I'm not sure, but I'm pretty sure he'll get it done.

/me yays
Title: Re: KnightOS
Post by: shmibs on December 05, 2010, 05:23:38 pm
Quote from: graphmastur
I know he'll be able to launch the version by 1 January for a fact.
you mean you don't know?
Title: Re: KnightOS
Post by: DJ Omnimaga on December 05, 2010, 05:27:59 pm
Will that release be publicly available or only for certain people?
Title: Re: KnightOS
Post by: Munchor on December 05, 2010, 05:30:58 pm
Will that release be publicly available or only for certain people?

I think (from what I heard) that it will be available for everyone, but only developers will be interested in it.
Title: Re: KnightOS
Post by: DJ Omnimaga on December 05, 2010, 05:32:47 pm
Right. Well, I will probably still check it out anyway, just to see how it looks like on-calc. :P
Title: Re: KnightOS
Post by: jnesselr on December 05, 2010, 05:45:49 pm
Right. Well, I will probably still check it out anyway, just to see how it looks like on-calc. :P
I'm not sure if it will be bootable. I'm guessing not, since I'm pretty sure he's releasing the kernel.
Title: Re: KnightOS
Post by: Munchor on December 05, 2010, 05:48:55 pm
Right. Well, I will probably still check it out anyway, just to see how it looks like on-calc. :P
I'm not sure if it will be bootable. I'm guessing not, since I'm pretty sure he's releasing the kernel.

Yes, it's gonna be a very basic version, so that programmers can start developping their programmes. So that when it is released, it doesn't take much time to start publishing programs.
Title: Re: KnightOS
Post by: DJ Omnimaga on December 05, 2010, 05:50:10 pm
Aw I see. Kinda like when Ndless was developed. Calc84maniac released Gbc4nspire the same day Ndless came out. ;D
Title: Re: KnightOS
Post by: jnesselr on December 05, 2010, 05:50:19 pm
Right. Well, I will probably still check it out anyway, just to see how it looks like on-calc. :P
I'm not sure if it will be bootable. I'm guessing not, since I'm pretty sure he's releasing the kernel.

Yes, it's gonna be a very basic version, so that programmers can start developping their programmes. So that when it is released, it doesn't take much time to start publishing programs.
I'm pretty sure it was to develop things for the OS, like the y= thing, etc. Like utilities, not programs. Not sure, though.
Title: Re: KnightOS
Post by: SirCmpwn on December 05, 2010, 09:07:52 pm
No, the developer release is so developers can get a jump start on writing programs.  And it is still on track, although I'd love for someone else to finish the Flash control routines for me :P
Title: Re: KnightOS
Post by: jnesselr on December 05, 2010, 09:08:27 pm
No, the developer release is so developers can get a jump start on writing programs.  And it is still on track, although I'd love for someone else to finish the Flash control routines for me :P
I thought you finished that part? What still needs to be done for it?
Title: Re: KnightOS
Post by: SirCmpwn on December 05, 2010, 09:09:07 pm
The ErasePage routine still needs to be done, and I need to figure out which sector to use for the swap sector, and better define the garbage collect routines.
Title: Re: KnightOS
Post by: jnesselr on December 05, 2010, 09:10:43 pm
The ErasePage routine still needs to be done, and I need to figure out which sector to use for the swap sector, and better define the garbage collect routines.
I think there is a bcall for erase page. You could disassemble that.

EDIT: well, it's only for sectors since nothing else physically works, but there is bcall(8024).  I guess you would have to back up the 3 pages you don't want to erase. So, you would have to erase the swap sector, swap the pages you want in there, then erase the original sector and swap back, I think.
Title: Re: KnightOS
Post by: DJ Omnimaga on December 05, 2010, 09:14:24 pm
No, the developer release is so developers can get a jump start on writing programs.  And it is still on track, although I'd love for someone else to finish the Flash control routines for me :P
Ah right, so kinda like gbc4nspire then. I wonder if there will be a public non-dev release available at one point so people can give some of the features a try, unless the entire GUI and features for non-development purposes are coming at the very end?
Title: Re: KnightOS
Post by: SirCmpwn on December 05, 2010, 09:17:46 pm
The ErasePage routine still needs to be done, and I need to figure out which sector to use for the swap sector, and better define the garbage collect routines.
I think there is a bcall for erase page. You could disassemble that.

EDIT: well, it's only for sectors since nothing else physically works, but there is bcall(8024).  I guess you would have to back up the 3 pages you don't want to erase. So, you would have to erase the swap sector, swap the pages you want in there, then erase the original sector and swap back, I think.
I know how to do it, I just don't want to take the time to do such a complex method.  ErasePage is already there.

I wonder if there will be a public non-dev release available at one point so people can give some of the features a try, unless the entire GUI and features for non-development purposes are coming at the very end?
Of course there will be a public release eventually :P
The GUI will probably be partially present in the dev version.  Most non-development tools will be coming later on, though.  At any time, you can always download the source and assemble it, if you like.
Title: Re: KnightOS
Post by: DJ Omnimaga on December 05, 2010, 11:16:27 pm
Ok I see, thanks for the info :D

How large is it so far?
Title: Re: KnightOS
Post by: SirCmpwn on December 05, 2010, 11:17:54 pm
Still fits on one page, although it is spread out on three atm.
Title: Re: KnightOS
Post by: Deep Toaster on December 05, 2010, 11:19:41 pm
Still fits on one page, although it is spread out on three atm.

Nice! And I can't wait for the demo :D
Title: Re: KnightOS
Post by: DJ Omnimaga on December 06, 2010, 01:27:27 am
Wow pretty small, still. :D
Title: Re: KnightOS
Post by: jnesselr on December 06, 2010, 06:15:58 pm
Still fits on one page, although it is spread out on three atm.
And that's only because it's required to be spread out on 3 pages. ;-) Very nice. Can we have a countdown widget on the omni front page, DJ? Can we, can we please?
Title: Re: KnightOS
Post by: SirCmpwn on December 06, 2010, 06:16:45 pm
Oh, and one of those three pages is available for user data.  And the 3rd page will probably be used as a temporary swap sector.
Title: Re: KnightOS
Post by: jnesselr on December 06, 2010, 06:50:27 pm
Oh, and one of those three pages is available for user data.  And the 3rd page will probably be used as a temporary swap sector.
Speaking of user data, is there a place for temporary files, in case I need, say 2kb for a random temp file. Can the file span multiple pages?
Title: Re: KnightOS
Post by: SirCmpwn on December 06, 2010, 06:56:22 pm
Well, you can just make a file and delete it when you are done, I guess.
Title: Re: KnightOS
Post by: jnesselr on December 06, 2010, 06:57:02 pm
Well, you can just make a file and delete it when you are done, I guess.
So, no automatic temporary stuff. What about permissions for deleting files? In case one already exists.
Title: Re: KnightOS
Post by: SirCmpwn on December 06, 2010, 06:58:40 pm
No permissions, its a basic filesystem.  There probably won't be multiple logins.
Title: Re: KnightOS
Post by: jnesselr on December 06, 2010, 06:59:39 pm
No permissions, its a basic filesystem.  There probably won't be multiple logins.
Okay. I'm just hoping that all apps play nice with each other.
Title: Re: KnightOS
Post by: SirCmpwn on December 06, 2010, 07:05:33 pm
Well, there will be stuff in place to ensure that apps play nice with each other.
Title: Re: KnightOS
Post by: Munchor on December 07, 2010, 04:03:32 pm
Well, there will be stuff in place to ensure that apps play nice with each other.

I mean, I never had problems with TI-OS Apps conflicting? Or they do conflict?
Title: Re: KnightOS
Post by: SirCmpwn on December 07, 2010, 04:38:52 pm
Well, they conflict quite a bit when hooks are involved ;)
Title: Re: KnightOS
Post by: Munchor on December 07, 2010, 04:57:42 pm
I have an idea for KnightOS:

minimized programs?

That would be pretty cool!
Title: Re: KnightOS
Post by: SirCmpwn on December 07, 2010, 04:59:45 pm
What do you mean?  Like switching out programs?  That has been partially implemented and planned for some time now.
Title: Re: KnightOS
Post by: Munchor on December 07, 2010, 05:13:37 pm
What do you mean?  Like switching out programs?  That has been partially implemented and planned for some time now.

Oh then it is that, you know the NSpire? Or some new touchscreen phones have that, several programs at the same time :D
Title: Re: KnightOS
Post by: SirCmpwn on December 07, 2010, 05:14:22 pm
Similar to phones, but different from the Nspire.
Title: Re: KnightOS
Post by: Munchor on December 07, 2010, 05:19:22 pm
Similar to phones, but different from the Nspire.

Great! That will totally make a difference from Ti-OS
Title: Re: KnightOS
Post by: SirCmpwn on December 07, 2010, 05:19:46 pm
*facepalm*
Title: Re: KnightOS
Post by: Munchor on December 07, 2010, 05:20:31 pm
*facepalm*

Yeah I know but it's what I most blame on Ti_OS, I blame lots but that's the biggest one :D
Title: Re: KnightOS
Post by: willrandship on December 07, 2010, 06:10:37 pm
Perhaps you could include a sort of warning for messing with certain areas? I'd rather not accidentally overwrite any important data with "Hello World" by using the wrong portion of flash :P
Title: Re: KnightOS
Post by: SirCmpwn on December 07, 2010, 06:13:43 pm
Ah, important areas in flash are not accessible through the filesystem.
Title: Re: KnightOS
Post by: Munchor on December 07, 2010, 06:48:03 pm
Ah, important areas in flash are not accessible through the filesystem.

So that we can't mess with OS? Seems fair enough.
Title: Re: KnightOS
Post by: willrandship on December 07, 2010, 07:03:30 pm
But they're still accessible through other means, right? :P Not that I want to, but some people would probably want to mess with the OS.
Title: Re: KnightOS
Post by: Munchor on December 07, 2010, 07:04:02 pm
But they're still accessible through other means, right? :P Not that I want to, but some people would probably want to mess with the OS.

I think that only in the computer, using the source code.
Title: Re: KnightOS
Post by: SirCmpwn on December 07, 2010, 07:04:44 pm
No, they are accessible through other means.  It's just set up so it's less likely to be an accident.
Title: Re: KnightOS
Post by: DJ Omnimaga on December 08, 2010, 02:57:03 am
In other word, it's to make the OS as n00b-reviews-proof as possible. (People who rate a file 1/10 and review it saying "It sux. I hacked it and it bricked my calc!" even if they didn't read the readme)
Title: Re: KnightOS
Post by: JosJuice on December 08, 2010, 09:22:35 am
There's something else I wonder about when it comes to noob-friendliness - how simple will it be to find/access the calculation mode? One thing that made the TI-OS good for those who are completely new to calcs was that the homescreen shows up immediately after starting, making the basic math (addition, subtraction, multiplication, division and such) very simple to use.
Title: Re: KnightOS
Post by: Munchor on December 08, 2010, 11:55:41 am
There's something else I wonder about when it comes to noob-friendliness - how simple will it be to find/access the calculation mode? One thing that made the TI-OS good for those who are completely new to calcs was that the homescreen shows up immediately after starting, making the basic math (addition, subtraction, multiplication, division and such) very simple to use.

I think we already talked about an option that allows the math mode as homescreen :)

However, that is an important matter, girls in my class hate the NSpire because of that:

"How can I make a calculus? Omg, it doesn't work what am I gonna do!!! nooo!!! David!! Please help!!"
Title: Re: KnightOS
Post by: DJ Omnimaga on December 08, 2010, 03:39:59 pm
Yeah, I agree it must be user-friendly on that point. On Casio and 68K, you have to select the option in a menu so if you use such menu, make sure the name of the calculation/math mode is appropriate. Do not call it Knicalc, for example, or write. It needs to be as less misleading as possible to new users, especially if people get the OS from someone else's calc and get no copy of the readme.
Title: Re: KnightOS
Post by: SirCmpwn on December 08, 2010, 04:51:37 pm
Yeah, it will be simple and easy to use, but have the power lurking beneath the surface for more advanced users.
Title: Re: KnightOS
Post by: AngelFish on December 08, 2010, 04:58:11 pm
That's what I don't like about Casio calcs; that they don't go to the math screen.

Also, remembers Fitt's Law. If you have buttons on the screen that are far away from where the user will probably be, include keyboard shortcuts.
Title: Re: KnightOS
Post by: SirCmpwn on December 08, 2010, 06:57:22 pm
Update
Up until today, the kernel has been split half and half between Little and Big Endian.  When I first started KnightOS, I was a bit confused as to the meanings of both, and ended up using Big Endian for everything.  But about halfway through, I became less ignorant, and started using Little Endian, because it is the standard.  However, I never took the time to go back and fix the old stuff that used Big Endian.  Today, I fixed it, and with that...
The kernel is done!
I feel that the kernel has been fleshed out completely.  The image I had in my mind 7 months ago for the kernel is now sitting in front of me.
That means that all that remains to be done before the developer release is the filesystem, and several small OS programs so that it is usable on-calc.
Title: Re: KnightOS
Post by: AngelFish on December 08, 2010, 06:59:00 pm
Yay!  :w00t:
Title: Re: KnightOS
Post by: Deep Toaster on December 08, 2010, 06:59:07 pm
W000000T!!!

It's done! :w00t:

And as a small request, mind posting a link in http://ourl.ca/7002?
Title: Re: KnightOS
Post by: guy6020665 on December 08, 2010, 06:59:32 pm
This is going to be amazing. So close to being done!
Title: Re: KnightOS
Post by: SirCmpwn on December 08, 2010, 06:59:45 pm
Weeelll... kernel is done != willing to release quite yet.
I want to get the filesystem done first, so that people who use it have a better basis to start from.
Title: Re: KnightOS
Post by: willrandship on December 08, 2010, 07:00:07 pm
Sweet! So, the new years deadline seems much more realistic to me now :P I had no idea you were this far along. It's an amazing accomplishment.

I wonder if calc84 will be done with his 83+ emu by then. If so, I'll be using this with it. :w00t:
Title: Re: KnightOS
Post by: calc84maniac on December 08, 2010, 07:03:11 pm
I wonder if calc84 will be done with his 83+ emu by then.
:evillaugh:
Title: Re: KnightOS
Post by: willrandship on December 08, 2010, 07:04:29 pm
Is that laugh good news or bad?Like, laugh at the ridiculous idea of it being done, or laugh at how close you are, or laugh that it's already done?
Title: Re: KnightOS
Post by: calc84maniac on December 08, 2010, 07:09:08 pm
Is that laugh good news or bad?Like, laugh at the ridiculous idea of it being done, or laugh at how close you are, or laugh that it's already done?
Ehh, I haven't even implemented half the z80 opcodes yet, much less implemented any TI-83+ hardware or run any z80 code.

Plus I wanted an excuse to use one of those new emoticons ._.
Title: Re: KnightOS
Post by: willrandship on December 08, 2010, 07:15:45 pm
oh well. i had hope, until now.. :'(
Title: Re: KnightOS
Post by: jnesselr on December 08, 2010, 09:34:32 pm
Yay!!!! Now, I can bother sircmpwn until he releases the code! Also, I'm trying to get a way to log the usb stuff. I have a windows version, and I'm trying to edit the IOUSB kernel driver to get usb logging for mac too.

I do hope this is a successful endeavor, and that I don't permanently break something because right now, it looks really nice!
Title: Re: KnightOS
Post by: willrandship on December 08, 2010, 10:43:56 pm
Nice hidden text :P don't worry, that's what backups are for!

I wonder, what will the format be for progs? just 8xp still, would cause confusion since IIRC they're not compatible (OS hooks and such)
Title: Re: KnightOS
Post by: SirCmpwn on December 08, 2010, 10:58:34 pm
Graphmastur, don't worry, I have backups galore.
The file format for executables is .kxe, although you can always put a .8xp on your calculator.
Title: Re: KnightOS
Post by: DJ Omnimaga on December 08, 2010, 11:04:45 pm
That's what I don't like about Casio calcs; that they don't go to the math screen.
Actually the 9860G/Graph 85 does. It remembers your last position when you shut down the calc.
Update
Up until today, the kernel has been split half and half between Little and Big Endian.  When I first started KnightOS, I was a bit confused as to the meanings of both, and ended up using Big Endian for everything.  But about halfway through, I became less ignorant, and started using Little Endian, because it is the standard.  However, I never took the time to go back and fix the old stuff that used Big Endian.  Today, I fixed it, and with that...
The kernel is done!
I feel that the kernel has been fleshed out completely.  The image I had in my mind 7 months ago for the kernel is now sitting in front of me.
That means that all that remains to be done before the developer release is the filesystem, and several small OS programs so that it is usable on-calc.
Cool, this means KnightOS will be completely finished tomorrow? ;D
J/k keep up the good work. :)
Is that laugh good news or bad?Like, laugh at the ridiculous idea of it being done, or laugh at how close you are, or laugh that it's already done?
Ehh, I haven't even implemented half the z80 opcodes yet, much less implemented any TI-83+ hardware or run any z80 code.

Plus I wanted an excuse to use one of those new emoticons ._.
What about the version I have on my computer somewhere? Didn't that one supported more opcodes? Maybe you could disassemble it to access the source code and use some of it in your new restart from scratch.
Title: Re: KnightOS
Post by: willrandship on December 08, 2010, 11:12:35 pm
right, because of the whole flash drive thing. I really like that feature. Think you could do an nspire port? :P

Edit: Not of the OS (that would take about as much work as the entire z80 one, right?) I meant just the USB interface style.
Title: Re: KnightOS
Post by: calc84maniac on December 08, 2010, 11:12:49 pm
Is that laugh good news or bad?Like, laugh at the ridiculous idea of it being done, or laugh at how close you are, or laugh that it's already done?
Ehh, I haven't even implemented half the z80 opcodes yet, much less implemented any TI-83+ hardware or run any z80 code.

Plus I wanted an excuse to use one of those new emoticons ._.
What about the version I have on my computer somewhere? Didn't that one supported more opcodes? Maybe you could disassemble it to access the source code and use some of it in your new restart from scratch.
Well, it's more an issue of me not getting around to it yet (which may change soon since Ndless 1.7 is out now, and I've set up my development environment). Also, a disassembly wouldn't help much really, because it wouldn't even be close to the quality level I'm trying to maintain for my source code. At least, not without making lots of changes to it (in which case it might be better just to code it again)
Title: Re: KnightOS
Post by: DJ Omnimaga on December 08, 2010, 11:18:50 pm
Ah, right. Is it just because your code is heavily commented?
Title: Re: KnightOS
Post by: SirCmpwn on December 08, 2010, 11:34:56 pm
willrandship, not until we have more information about the TI-Nspire USB port.
Title: Re: KnightOS
Post by: jnesselr on December 09, 2010, 07:00:42 am
Graphmastur, don't worry, I have backups galore.
The file format for executables is .kxe, although you can always put a .8xp on your calculator.
Good, good, but I'm more worried about my system, than your project. Also, did you hit quote on my post? Those little dots aren't just little dots... (Okay, those are, but the ones in my previous post weren't)
Title: Re: KnightOS
Post by: Broseph Radson on December 09, 2010, 08:42:07 am
Sweet!!  :w00t: <--This smiley rules BTW
Title: Re: KnightOS
Post by: Ikkerens on December 09, 2010, 08:44:06 am
Sweet!!  :w00t: <--This smiley rules BTW
Thx, I suggested it to DJ ;)
Title: Re: KnightOS
Post by: SirCmpwn on December 09, 2010, 08:49:28 am
graphmastur, I did read your entire post :P
Title: Re: KnightOS
Post by: jnesselr on December 09, 2010, 05:36:12 pm
graphmastur, I did read your entire post :P
oh, okay. I just thought that you meant that you were worried your system was going to get destroyed. It's fine, either way.  Well, 23 days till KOS...
Title: Re: KnightOS
Post by: calc84maniac on December 09, 2010, 05:44:28 pm
Ah, right. Is it just because your code is heavily commented?
That, and I'm using macros for a lot of the similar instructions. Without those macros, if I want to improve or change my algorithm I'll have to change it in every single opcode in which it occurs. And with that, I'll stop hijacking this thread :P
Title: Re: KnightOS
Post by: DJ Omnimaga on December 09, 2010, 06:55:56 pm
Ah, right, macros makes code easier to read and manage. :P z80 code can get pretty long sometimes. X.x
Title: Re: KnightOS
Post by: Eeems on December 09, 2010, 07:05:13 pm
Tell me about it x.x
Title: Re: KnightOS
Post by: SirCmpwn on December 09, 2010, 07:13:50 pm
I actually don't use many macros, actually.  I like seeing the entire code.  It's much easier to optimize that way.
Title: Re: KnightOS
Post by: jnesselr on December 09, 2010, 10:29:22 pm
I actually don't use many macros, actually.  I like seeing the entire code.  It's much easier to optimize that way.
Yeah, it depends. Wouldn't lcall and kcall have to be a macro, though?
Title: Re: KnightOS
Post by: willrandship on December 09, 2010, 11:17:24 pm
OS calls don't count :P

it sounds like Macros are basically the equivalent of a sub() command in axe, with a return. Am I right? or do they behave differently?
Title: Re: KnightOS
Post by: DJ Omnimaga on December 10, 2010, 02:07:38 am
I think macros are kinda like to make the language you are using more higher level and thus, easier to read. Maybe it's more like a function, though.
Title: Re: KnightOS
Post by: SirCmpwn on December 10, 2010, 08:43:49 am
Macros are something that is replaced in code with something else.  For example, let's say that I define break() as this:
Code: [Select]
di
halt

The following code:
Code: [Select]
inc hl
break
dec hl

Would be assembled like this:
Code: [Select]
inc hl
di
halt
dec hl
Title: Re: KnightOS
Post by: Munchor on December 10, 2010, 11:15:13 am
Sir, will you keep working on this even without no calculator?
Title: Re: KnightOS
Post by: jnesselr on December 10, 2010, 04:12:21 pm
Sir, will you keep working on this even without no calculator?
True, I guess you could use Wabbit or something.
Title: Re: KnightOS
Post by: Munchor on December 10, 2010, 04:13:37 pm
Sir, will you keep working on this even without no calculator?
True, I guess you could use Wabbit or something.

Someone suggested using a person to test his programs in hardware too.
Title: Re: KnightOS
Post by: jnesselr on December 10, 2010, 04:27:44 pm
Sir, will you keep working on this even without no calculator?
True, I guess you could use Wabbit or something.

Someone suggested using a person to test his programs in hardware too.
That would be me and one other person.
Title: Re: KnightOS
Post by: SirCmpwn on December 10, 2010, 04:34:48 pm
I'll be trying my best.  It may have to wait until I can use tiDE to compile it.  The deadline may not happen, but hopefully in a couple weeks my parents will lift the ban.
Title: Re: KnightOS
Post by: willrandship on December 10, 2010, 05:52:33 pm
Well, at least the deadline says you are somewhere in that ballpark, and to me at least that is very encouraging.

Is the 10% in your sig accurate? :P
Title: Re: KnightOS
Post by: SirCmpwn on December 10, 2010, 05:55:39 pm
For the full version of the OS, probably closer to 15%.  That sig isn't for the developer preview.
Title: Re: KnightOS
Post by: DJ Omnimaga on December 11, 2010, 02:32:05 am
I hope your parents lift the ban so you can code this again.
Title: Re: KnightOS
Post by: TIfanx1999 on December 11, 2010, 08:45:12 am
Update
Up until today, the kernel has been split half and half between Little and Big Endian.  When I first started KnightOS, I was a bit confused as to the meanings of both, and ended up using Big Endian for everything.  But about halfway through, I became less ignorant, and started using Little Endian, because it is the standard.  However, I never took the time to go back and fix the old stuff that used Big Endian.  Today, I fixed it, and with that...
The kernel is done!
I feel that the kernel has been fleshed out completely.  The image I had in my mind 7 months ago for the kernel is now sitting in front of me.
That means that all that remains to be done before the developer release is the filesystem, and several small OS programs so that it is usable on-calc.
This is excellent news! I'm very happy to hear that the kernel is completed. Congratulations Sir! =)
Title: Re: KnightOS
Post by: Munchor on December 11, 2010, 08:51:50 am
Update
Up until today, the kernel has been split half and half between Little and Big Endian.  When I first started KnightOS, I was a bit confused as to the meanings of both, and ended up using Big Endian for everything.  But about halfway through, I became less ignorant, and started using Little Endian, because it is the standard.  However, I never took the time to go back and fix the old stuff that used Big Endian.  Today, I fixed it, and with that...
The kernel is done!
I feel that the kernel has been fleshed out completely.  The image I had in my mind 7 months ago for the kernel is now sitting in front of me.
That means that all that remains to be done before the developer release is the filesystem, and several small OS programs so that it is usable on-calc.
This is excellent news! I'm very happy to hear that the kernel is completed. Congratulations Sir! =)

Kernel was finished *sniff* *sniff*

However, his mean (not cheap, mean in American English) parents won't let him code more :'(
Title: Re: KnightOS
Post by: SirCmpwn on December 11, 2010, 12:58:31 pm
I can code more, but I'm in the middle of debugging 84+ compatibility, which I can only do on hardware, as the problems do not appear in emulators, but I want to fix the compatibility issues before I move on much further.
Title: Re: KnightOS
Post by: Deep Toaster on December 11, 2010, 12:59:27 pm
Glad you can still work on this :D

Any chance you could still release the kernel, even if it's only for 83+s?
Title: Re: KnightOS
Post by: SirCmpwn on December 11, 2010, 01:01:12 pm
Not yet.  I want to do some more stuff to it first, but you can expect it within two weeks after I start coding up to my full speed again.
Title: Re: KnightOS
Post by: Munchor on December 11, 2010, 01:02:37 pm
Not yet.  I want to do some more stuff to it first, but you can expect it within two weeks after I start coding up to my full speed again.

Nice, you will code faster when you can code back again, which is great :D
Title: Re: KnightOS
Post by: jnesselr on December 11, 2010, 01:19:56 pm
I have an 84+se, and can help. The os has to be signed to send, though.
Title: Re: KnightOS
Post by: SirCmpwn on December 11, 2010, 01:22:21 pm
I appreciate it, but I have to send it, debug it, change it, recompile it, send it, debug it...
Title: Re: KnightOS
Post by: willrandship on December 11, 2010, 01:58:31 pm
Plus, debugging off of emus, sometimes it might be the emu causing the problem, right?
Title: Re: KnightOS
Post by: Eeems on December 11, 2010, 03:04:23 pm
Oh, after this semester is over I can use my calculator (84+ full RAM supplement) all I want I believe for testing. Although I do have Bio next semester, so maybe not. I wont have pure math 30 anymore though. Since I have my own laptop too I shouldn't have any real issues with getting time to use it too. Unless I'm not around my house that much, which I kinda want to be gone more. I need to really develop my real life friends, and it's getting a little harder to be home, way too much time to be stuck in my memories and not moving forwards.
Oh, and I would love to get the new Kernel sometime so I can start up on Rogue again :)
Title: Re: KnightOS
Post by: jnesselr on December 11, 2010, 03:40:41 pm
I wish I had the kernel... But, without oasis, I can't compile it.
Title: Re: KnightOS
Post by: DJ Omnimaga on December 12, 2010, 05:48:14 am
Eeems I hope you stick around for a while, but I hope your real life situation gets better. Did you plan moving out soon? Maybe that might solve some of your issues? Anyway good luck!
Title: Re: KnightOS
Post by: Eeems on December 12, 2010, 04:05:43 pm
No I don't plan on moving out soon. Still go to finish grade 12, and then I was going to work to get some money for college/university, so I don't really have the resources to move out. I usually stick to my room, and sometimes hang out with my family, but I keep it to a minimum because otherwise some sort of conflict happens...:/
I don't plan on leaving Omnimaga at all. My visits might get a little sparser, and my post count wont increase as fast, but I'm still here don't worry.
Thanks for the support!
Title: Re: KnightOS
Post by: DJ Omnimaga on December 13, 2010, 02:44:16 pm
Ah right, I hate when conflicts happens. I sometimes avoiding my family because of that and avoided being around my bro/mom because there were conflicts often. I hope things aren't too hectic for you in the future. Hopefully you stick around for a while. Just let us know whenever you plan to take a long hiatus (like in early September)
Title: Re: KnightOS
Post by: Eeems on December 13, 2010, 06:12:55 pm
Yeah, I don't think many people like conflict and rightfully so. They probably will stay around what they are right now, hopefully less. I don't plan on taking a hiatus again for a while, but if I do I will warn you, don't worry.
Title: Re: KnightOS
Post by: jnesselr on December 14, 2010, 11:57:13 am
Yeah, I don't think many people like conflict and rightfully so. They probably will stay around what they are right now, hopefully less. I don't plan on taking a hiatus again for a while, but if I do I will warn you, don't worry.
I don't like conflict, but I do have this nasty habit of trying to analyze the minds of the people around me, which sometimes can get me into trouble... I hope there are no sudden hiatus, though, as things can happen.

@SirCmpwn: Due to a patch, I can now send apps to my calc and am working on USB for KOS, even though you can't work on it. I'll do my best in figuring it all out!
Title: Re: KnightOS
Post by: SirCmpwn on December 14, 2010, 05:03:31 pm
graphmastur, great to hear!
Title: Re: KnightOS
Post by: jnesselr on December 14, 2010, 05:05:00 pm
graphmastur, great to hear!
Yep, and I'm setting up one of my computers to be basically a TI dev platform! So I can multitask!  (There are many things I'm thankful for, one of which is being ambidextrous.)
Title: Re: KnightOS
Post by: willrandship on January 09, 2011, 02:44:01 pm
Lucky. I wish I was ambidextrous. :P Good luck with USB!

Also, I was wondering, If someone made a ROM that contained KnightOS instead of TIOS, would it be completely rid of TI's code? if so, z80 emus could include it.
Title: Re: KnightOS
Post by: SirCmpwn on January 09, 2011, 02:48:13 pm
Yes, that could be done easily.
Title: Re: KnightOS
Post by: Deep Toaster on January 09, 2011, 02:49:10 pm
Lucky. I wish I was ambidextrous. :P Good luck with USB!

Also, I was wondering, If someone made a ROM that contained KnightOS instead of TIOS, would it be completely rid of TI's code? if so, z80 emus could include it.

Yeah, I think SIr mentioned he FF'd the copyrighted parts or something. So I guess emus can include KOS as a free alternative, like Linux...

EDIT: Ninja'd by the source.
Title: Re: KnightOS
Post by: DJ Omnimaga on January 10, 2011, 05:56:24 pm
That migth also increase its popularity since people could try it on emulators even easier. :D
Title: Re: KnightOS
Post by: SirCmpwn on January 10, 2011, 05:58:28 pm
True.  Of course, you can't distribute ROMs you dump from your calculator.  I'd have to build a custom ROM that is distributable.
Title: Re: KnightOS
Post by: willrandship on January 10, 2011, 05:59:21 pm
Sounds good to me :P

Could someone then take that ROM and install TI-OS on it, using an os file? :P
Title: Re: KnightOS
Post by: SirCmpwn on January 10, 2011, 06:00:09 pm
Yes, that's right.
Title: Re: KnightOS
Post by: willrandship on January 10, 2011, 06:02:21 pm
Are thos OS files distributable freely as well? Or do they have to get them from TI?
Title: Re: KnightOS
Post by: SirCmpwn on January 10, 2011, 06:05:00 pm
The KnightOS files are distributable, but the official files aren't.
Spoiler For Spoiler:
Not that anyone in the community actually cares about distributing OSes/ROMs
Title: Re: KnightOS
Post by: calcdude84se on January 10, 2011, 09:40:05 pm
Sir, not necessarily. Wabbit is able to build a ROM based off of a 3rd-party boot page clone, not to mention that if KnightOS doesn't use any boot code routines, you don't even need the boot code; you can put a "jp $0000" at $4000 on page $1F/$3F/$7F.
Title: Re: KnightOS
Post by: SirCmpwn on January 10, 2011, 09:42:16 pm
Sir, not necessarily. Wabbit is able to build a ROM based off of a 3rd-party boot page clone, not to mention that if KnightOS doesn't use any boot code routines, you don't even need the boot code; you can put a "jp $0000" at $4000 on page $1F/$3F/$7F.
I'm aware of this, and this is how I would create a distributable ROM.  However, ROMs dumped from a calculator contain TI's boot code and are not redistributable, which is what I'm getting at.
Title: Re: KnightOS
Post by: calcdude84se on January 10, 2011, 09:44:11 pm
Ah, okay. Perhaps someone could write a program to strip a ROM of TI's boot code? I might be able to hack together a C utility to do this.
Title: Re: KnightOS
Post by: SirCmpwn on January 10, 2011, 09:45:00 pm
That's what I was going to do, and I know how to do it.  I already have a program to patch in a boot page for testing, because Hex2Rom does not do so.
Title: Re: KnightOS
Post by: calcdude84se on January 10, 2011, 09:46:19 pm
Ah, okay. I might write one anyway for the practice :D
Title: Re: KnightOS
Post by: SirCmpwn on January 10, 2011, 09:53:12 pm
Go for it :)
How about writing a ROM utility that allows you to swap in/out different pages in the ROM file?
Title: Re: KnightOS
Post by: jnesselr on January 11, 2011, 12:46:58 pm
Go for it :)
How about writing a ROM utility that allows you to swap in/out different pages in the ROM file?
That is a good idea.  So you would go through to page 1F/3F/7F and replace it with just jp $0000. That is pretty simple, actually.  Maybe have KOS have a rom-dumper built inside it that does that. I believe you should be able to (This is if KOS connects to the computer as a flash drive) have a file on there called "KOSRom.rom" that when you try and do anything with it (open, move, etc.) will actually figure out the rom file and send it.  But that is kinda complex, IMHO. Will there be some sort of call for backup/rom?
Title: Re: KnightOS
Post by: SirCmpwn on January 11, 2011, 04:52:28 pm
Well, KnightOS has a ROM-dumper built directly into the kernel boot code, so if there are issues with your calculator, you can easily dump the ROM for diagnostic purposes while executing as little of the possibly corrupted code as possible.  In fact, the boot sequence is:
Turn on.
Initialize basic hardware (LCD, Keyboard)
Test for kernel access key combination
If not pressed, continue with boot.
Otherwise, show kernel maintenance menu (Dump ROM, Format filesystem, Format OS)
Title: Re: KnightOS
Post by: jnesselr on January 11, 2011, 04:56:20 pm
What does kernel access do? Is this like being root or something?
Title: Re: KnightOS
Post by: SirCmpwn on January 11, 2011, 04:57:43 pm
No, it gives you supreme control over your calculator, before the actual OS is booted.  There about 60 lines of code separating you from 0x0000.
Title: Re: KnightOS
Post by: Michael_Lee on January 11, 2011, 06:37:56 pm
Out of curiosity, is 0x0000 a euphemism for death?  Or does it have an actual meaning?  /random

Also, what are the chances that the code for kernel maintenance being corrupted?
Title: Re: KnightOS
Post by: SirCmpwn on January 11, 2011, 06:39:17 pm
0x0000 is the start of the kernel, the very first line of code that is executed in KnightOS (not technically true, but it's a good lie).
And kernel maintenance code has a chance of being corrupted, but in an accident, the kernel maintenance code is so small and so close to the boot that if anything is corrupted, it still has a good chance of running.
Title: Re: KnightOS
Post by: SirCmpwn on January 15, 2011, 01:05:58 am
Update
It's been a while, due to some life issues, but this is on track for a developer preview on February 1st.  I got TI-84+ (SE) compatibility working (it previously was not), and started converting the filesystem to KFS.  Due to the complex nature of the KFS (it has been optimized for Flash), I have made an external program that will patch the filesystem into a ROM/8xu file.  I have also extended the KFS specification to include the garbage collection procedure.  Just a bit longer guys, and you'll have a copy to play with.
Title: Re: KnightOS
Post by: Eeems on January 15, 2011, 03:04:49 am
I'm on my phone, and it is difficult to do from here.  Would a mod/admin please modify this post and paste in my post from the updates thread?
Thanks!
Done

EDIT: also, your update makes me so giddy with anticipation :P
Title: Re: KnightOS
Post by: Binder News on January 15, 2011, 05:36:20 am
* Binder News is so excited he almost forgot to laugh.

Wait, what?
...
Nvm.

Anyways, I can't wait. This will be awesome!!!
Title: Re: KnightOS
Post by: Munchor on January 15, 2011, 05:38:14 am
When he says 'Dev version' in 1st of February, that's when I'm happy, I really hope he manages to do it ;D
Title: Re: KnightOS
Post by: Binder News on January 15, 2011, 05:43:56 am
Yea, me too.
Title: Re: KnightOS
Post by: DJ Omnimaga on January 15, 2011, 08:14:19 am
Nice to see this back into action! :D
Title: Re: KnightOS
Post by: SirCmpwn on January 15, 2011, 10:39:42 am
Thanks Eeems, and the rest of you guys for the support.  I'm doing some charity work where we build free software for nonprofit organizations this weekend, but I'll be working on tiDE in the offtime.  KnightOS will resume work on Monday.
Title: Re: KnightOS
Post by: Deep Toaster on January 15, 2011, 11:22:45 am
Update
It's been a while, due to some life issues, but this is on track for a developer preview on February 1st.  I got TI-84+ (SE) compatibility working (it previously was not), and started converting the filesystem to KFS.  Due to the complex nature of the KFS (it has been optimized for Flash), I have made an external program that will patch the filesystem into a ROM/8xu file.  I have also extended the KFS specification to include the garbage collection procedure.  Just a bit longer guys, and you'll have a copy to play with.

:D

Does it install from an app yet, or is it a full .8xu?
Title: Re: KnightOS
Post by: Eeems on January 15, 2011, 01:27:01 pm
Full 8XU, we have the signing keys after all :)
Title: Re: KnightOS
Post by: willrandship on January 15, 2011, 01:48:38 pm
yay!

Your "nonprofit" thing wouldn't happen to be the Google Code-In event, would it? Although, the task portion ended a little while ago...
Title: Re: KnightOS
Post by: Deep Toaster on January 15, 2011, 02:57:44 pm
Full 8XU, we have the signing keys after all :)

I thought I read somewhere that KOS couuld be installed from an app, I mean. I can't download .8xus directly, because I always transfer things through someone else's 84+, so I was wondering if the beta would have an .8xk installer.
Title: Re: KnightOS
Post by: willrandship on January 15, 2011, 03:36:35 pm
So, I take it you have an 83+ but no link cable, just a usb one?
Title: Re: KnightOS
Post by: Eeems on January 15, 2011, 04:06:40 pm
Full 8XU, we have the signing keys after all :)

I thought I read somewhere that KOS couuld be installed from an app, I mean. I can't download .8xus directly, because I always transfer things through someone else's 84+, so I was wondering if the beta would have an .8xk installer.
I'm not sure how it would work...The installation time would be horrendous and it would take a lot of tricky coding.
Why can't you download .8xu's may I ask? (I'd be willing to give you some help with getting it to work if you want)
Title: Re: KnightOS
Post by: jnesselr on January 15, 2011, 04:08:29 pm
Full 8XU, we have the signing keys after all :)

I thought I read somewhere that KOS couuld be installed from an app, I mean. I can't download .8xus directly, because I always transfer things through someone else's 84+, so I was wondering if the beta would have an .8xk installer.
I'm not sure how it would work...The installation time would be horrendous and it would take a lot of tricky coding.
Why can't you download .8xu's may I ask? (I'd be willing to give you some help with getting it to work if you want)
I guess if you didn't have a usb plug, and only had a 2.5mm plug.  You could go to radioshack, and buy a 2.5mm to 3.5mm converter, and then plug that into your sound port.  Basically using an app or something as a boot-loader, or just do it TI's way.
Title: Re: KnightOS
Post by: SirCmpwn on January 15, 2011, 04:42:35 pm
The beta installation will be 8xu only, but the final version will have an 8xk installer.  And I expect the whole OS to take up no more than 3 pages, so the installation time won't be too bad.
Title: Re: KnightOS
Post by: Deep Toaster on January 15, 2011, 05:11:14 pm
Full 8XU, we have the signing keys after all :)

I thought I read somewhere that KOS couuld be installed from an app, I mean. I can't download .8xus directly, because I always transfer things through someone else's 84+, so I was wondering if the beta would have an .8xk installer.
I'm not sure how it would work...The installation time would be horrendous and it would take a lot of tricky coding.
Why can't you download .8xu's may I ask? (I'd be willing to give you some help with getting it to work if you want)

It's just what willranship said: I have a calc-to-calc cable and a USB cable, but no silverlink.
Title: Re: KnightOS
Post by: jnesselr on January 15, 2011, 05:14:15 pm
Full 8XU, we have the signing keys after all :)

I thought I read somewhere that KOS couuld be installed from an app, I mean. I can't download .8xus directly, because I always transfer things through someone else's 84+, so I was wondering if the beta would have an .8xk installer.
I'm not sure how it would work...The installation time would be horrendous and it would take a lot of tricky coding.
Why can't you download .8xu's may I ask? (I'd be willing to give you some help with getting it to work if you want)

It's just what willranship said: I have a calc-to-calc cable and a USB cable, but no silverlink.
Okay, so I'm sure that we can still work that out.  Using the calc-calc cable, and an adapter, I bet I could write a program that would transfer stuff.  Maybe, I can't be certain on that. But I bet it could at least transfer an OS. Do you have an arduino?
Title: Re: KnightOS
Post by: Deep Toaster on January 15, 2011, 05:27:23 pm
Full 8XU, we have the signing keys after all :)

I thought I read somewhere that KOS couuld be installed from an app, I mean. I can't download .8xus directly, because I always transfer things through someone else's 84+, so I was wondering if the beta would have an .8xk installer.
I'm not sure how it would work...The installation time would be horrendous and it would take a lot of tricky coding.
Why can't you download .8xu's may I ask? (I'd be willing to give you some help with getting it to work if you want)

It's just what willranship said: I have a calc-to-calc cable and a USB cable, but no silverlink.
Okay, so I'm sure that we can still work that out.  Using the calc-calc cable, and an adapter, I bet I could write a program that would transfer stuff.  Maybe, I can't be certain on that. But I bet it could at least transfer an OS. Do you have an arduino?

Nope. I'd get a silverlink, but my parents don't even know about the prgm'ing.

Thanks, though.
Title: Re: KnightOS
Post by: jnesselr on January 15, 2011, 05:27:51 pm
Full 8XU, we have the signing keys after all :)

I thought I read somewhere that KOS couuld be installed from an app, I mean. I can't download .8xus directly, because I always transfer things through someone else's 84+, so I was wondering if the beta would have an .8xk installer.
I'm not sure how it would work...The installation time would be horrendous and it would take a lot of tricky coding.
Why can't you download .8xu's may I ask? (I'd be willing to give you some help with getting it to work if you want)

It's just what willranship said: I have a calc-to-calc cable and a USB cable, but no silverlink.
Okay, so I'm sure that we can still work that out.  Using the calc-calc cable, and an adapter, I bet I could write a program that would transfer stuff.  Maybe, I can't be certain on that. But I bet it could at least transfer an OS. Do you have an arduino?

Nope. I'd get a silverlink, but my parents don't even know about the prgm'ing.
Oh, okay.  Good luck then.
Title: Re: KnightOS
Post by: Binder News on January 15, 2011, 05:28:00 pm
lol
Title: Re: KnightOS
Post by: willrandship on January 15, 2011, 06:50:55 pm
If you're hardware handy you could make your own serial or parallel linker :P
Title: Re: KnightOS
Post by: DJ Omnimaga on January 16, 2011, 03:09:09 pm
If there's a 8xk installer, I assume it will copy itself in the appropriate area of the Flash ROM then overwrite the entire OS before deleting itself, right? Does the VAT work the same way for flash apps? I wonder if that could be a problem? (the app being at a variable location)
Title: Re: KnightOS
Post by: jnesselr on January 16, 2011, 03:34:25 pm
If there's a 8xk installer, I assume it will copy itself in the appropriate area of the Flash ROM then overwrite the entire OS before deleting itself, right? Does the VAT work the same way for flash apps? I wonder if that could be a problem? (the app being at a variable location)
The app isn't variable at all.  Let's see, the best way I can think to do it would be to call the app which is always located at 0x4000.  Then, delete page 0, change execution so that it can run anywhere in memory, and then swap the other pages of the apps out so that they can overwrite stuff wherever they need to.  Technically, he could make it where booting of KOS made the filesystem if it wasn't there before.
Title: Re: KnightOS
Post by: SirCmpwn on January 16, 2011, 04:55:50 pm
graphmastur is right.  Because KnightOS is so small, the app installer would only be a few pages, I predict no more than three.  It would clear out the appropriate sectors, and copy KnightOS to each one.  Then it would reboot, KnightOS would run the installer, and viola, you have KOS.
Title: Re: KnightOS
Post by: Eeems on January 16, 2011, 07:24:08 pm
I'm thinking we should also compress the installer app a bunch to save room, so maybe possibly we could get it down to two pages?
Title: Re: KnightOS
Post by: SirCmpwn on January 16, 2011, 07:25:32 pm
I can definitely get the current version of KnightOS to fit in one page.  Two pages could be feasible down the line, without compression.
Title: Re: KnightOS
Post by: Eeems on January 16, 2011, 07:34:51 pm
Ok :) Still thinking that compressing it down a page would be nice though.
Also, any more thought about compressing the actual OS stuff?
Title: Re: KnightOS
Post by: SirCmpwn on January 16, 2011, 07:35:37 pm
Compression might happen, but it will be slow already.  And it will be the last app you will ever install on your calculator under TIOS, so I'm not too worried about size.
Title: Re: KnightOS
Post by: Binder News on January 16, 2011, 07:41:10 pm
Will there be a way to put TiOS back on? My parents might be mad if I had a different OS on my calc.
Title: Re: KnightOS
Post by: SirCmpwn on January 16, 2011, 07:43:44 pm
Yes, there will be a way.  You can always pull a battery and put it back in with DEL held down.
Title: Re: KnightOS
Post by: Binder News on January 16, 2011, 07:45:17 pm
What will that do?
Title: Re: KnightOS
Post by: willrandship on January 16, 2011, 07:46:29 pm
Reinstall TI-OS with a ROM copy, right sir?
Title: Re: KnightOS
Post by: SirCmpwn on January 16, 2011, 07:46:56 pm
What?
You can install any OS you have the 8xu file for.  No OS can stop you from doing so.
Title: Re: KnightOS
Post by: Binder News on January 16, 2011, 07:48:14 pm
Cool. I'm happy then.
Title: Re: KnightOS
Post by: willrandship on January 16, 2011, 07:49:22 pm
Oh, I was talking about on+DEL
Title: Re: KnightOS
Post by: jnesselr on January 16, 2011, 09:36:58 pm
Oh, I was talking about on+DEL
Yeah, that's because all the code to do that is apparently on the boot page, which can't be erased by software means.
Title: Re: KnightOS
Post by: Deep Toaster on January 16, 2011, 10:41:40 pm
It just basically forces the calc to receive what you send, no matter what it is.
Title: Re: KnightOS
Post by: JosJuice on January 17, 2011, 01:33:42 am
It just basically forces the calc to receive what you send, no matter what it is.
Well, it can only receive OSes AFAIK. It can't handle variables, programs, taking screenshots and such.
Title: Re: KnightOS
Post by: z80man on January 17, 2011, 01:57:30 am
So parts of the TIOS can never be removed by convential methods. Does it do anything else other than download the OS.
Title: Re: KnightOS
Post by: Builderboy on January 17, 2011, 02:04:39 am
I don't think it does anything else, but it certainly is useful :D This is progressing awesomely, you really are working hard on it!  The app installer is a brilliant idea and also very cool as well ^^ i can't wait to see this in action!
Title: Re: KnightOS
Post by: JosJuice on January 17, 2011, 08:46:45 am
I don't think it does anything else, but it certainly is useful :D
It can perform some kind of test on your calc if a certain button combination is used. The test erases most of the flash memory, and does a bunch of other normally useless stuff.

There's really no reason to want to remove the boot page. It offers a great way to recover when the OS is corrupt.
Title: Re: KnightOS
Post by: jnesselr on January 17, 2011, 10:36:59 am
I don't think it does anything else, but it certainly is useful :D
It can perform some kind of test on your calc if a certain button combination is used. The test erases most of the flash memory, and does a bunch of other normally useless stuff.

There's really no reason to want to remove the boot page. It offers a great way to recover when the OS is corrupt.
And on that note, it tests like 2 bytes to see if there is a "valid" OS.  Which brings up the question, will KOS auto-validate itself?
Title: Re: KnightOS
Post by: SirCmpwn on January 17, 2011, 11:44:36 am
No, the boot page validates an OS when receiving it.  KnightOS validates fine.
Title: Re: KnightOS
Post by: Deep Toaster on January 17, 2011, 11:47:30 am
I don't think it does anything else, but it certainly is useful :D
It can perform some kind of test on your calc if a certain button combination is used. The test erases most of the flash memory, and does a bunch of other normally useless stuff.

Yep, MODE. (Don't actually do this :P)
Title: Re: KnightOS
Post by: SirCmpwn on January 17, 2011, 04:14:17 pm
Hey guys.
Sorry to continuously disappoint, but I may have to push this back again.  I'm grounded once more.  I'll try to sort this out quickly, but if I can't, then I will release the developer preview 15 days from when I am no longer grounded.  I cannot work on KnightOS outside of a very specific environment.  However, I can work on tiDE in many environments, and if that progresses fast enough, I will start using it for development, as it will run portably.
Title: Re: KnightOS
Post by: jnesselr on January 17, 2011, 05:02:40 pm
Hey guys.
Sorry to continuously disappoint, but I may have to push this back again.  I'm grounded once more.  I'll try to sort this out quickly, but if I can't, then I will release the developer preview 15 days from when I am no longer grounded.  I cannot work on KnightOS outside of a very specific environment.  However, I can work on tiDE in many environments, and if that progresses fast enough, I will start using it for development, as it will run portably.
I'm definitely not gonna ask what you did (however curious I am), but how on earth can you project stuff so accurately?  Also, I assume you are only grounded from calcs?
Title: Re: KnightOS
Post by: SirCmpwn on January 17, 2011, 05:05:17 pm
I project stuff because I have a good sense of how much needs to be done for things, and how long they'll take me to do.  I get a realistic estimate, then add 5 days as a buffer.
And I'm grounded from "personal computer use."
Title: Re: KnightOS
Post by: Eeems on January 17, 2011, 05:35:21 pm
D:
This sucks :/
At least it still wont be that much longer.
Title: Re: KnightOS
Post by: jnesselr on January 17, 2011, 05:35:37 pm
I project stuff because I have a good sense of how much needs to be done for things, and how long they'll take me to do.  I get a realistic estimate, then add 5 days as a buffer.
And I'm grounded from "personal computer use."
I see.  Good luck, then.  If you need anything, remember who KOS #1 fan is. ;-)
Title: Re: KnightOS
Post by: Eeems on January 17, 2011, 05:39:54 pm
ME!
Title: Re: KnightOS
Post by: jnesselr on January 17, 2011, 07:36:25 pm
ME!
Um, no. Definitely me.  How about we compromise and say #1 fan(s). ;-)
Title: Re: KnightOS
Post by: Michael_Lee on January 17, 2011, 07:38:49 pm
Compression might happen, but it will be slow already.  And it will be the last app you will ever install on your calculator under TIOS, so I'm not too worried about size.

/me would like to reference a post from two pages ago and say that he found this extremely funny for some reason.
Title: Re: KnightOS
Post by: Eeems on January 18, 2011, 01:30:23 am
Lol yes it kind of is isn't it :P

ME!
Um, no. Definitely me.  How about we compromise and say #1 fan(s). ;-)
Well I was the first #1 fan :P but sure, #1 fans :P
Title: Re: KnightOS
Post by: SirCmpwn on February 27, 2011, 01:08:46 pm
Just to get interest going in this again, I got KnightOS to show up on a TI-Presenter screen.  It wasn't difficult, and required only two extra bytes to get working.
Title: Re: KnightOS
Post by: Xeda112358 on February 27, 2011, 01:30:09 pm
All I can say is... wow this is going to be awesome!

EDIT: Also, are you now ungrounded?
Title: Re: KnightOS
Post by: SirCmpwn on February 27, 2011, 01:33:10 pm
No, I am not.  My parents and I will "talk" in a week.  The only reason I got this working is because it took about 10 seconds to implement.
Title: Re: KnightOS
Post by: Xeda112358 on February 27, 2011, 01:37:36 pm
Ah, okay... Still, what you are doing, it really is awesome.

[random]
As a random note, you have 16^2-10^2 total post ratings (or 13^2-13)
[/random]
Title: Re: KnightOS
Post by: SirCmpwn on February 27, 2011, 01:39:34 pm
Thanks for the encouragement.  You can probably expect the kernel to be released two weeks after I'm ungrounded, and the developer preview another two weeks after that.
Title: Re: KnightOS
Post by: Deep Toaster on February 27, 2011, 02:08:38 pm
Yay, progress! Even if it's quick, it's still pretty awesome.

No, I am not.  My parents and I will "talk" in a week.

Hope that goes well :)
Title: Re: KnightOS
Post by: jnesselr on February 27, 2011, 02:13:48 pm
Thanks for the encouragement.  You can probably expect the kernel to be released two weeks after I'm ungrounded, and the developer preview another two weeks after that.
But since you're grounded for infinity more years...  But seriously, when do I need to get the filesystem to work on USB?  I'm sure you kinda have your timeline, and I just wanted to know if you were going to have a way to send programs, or what.  Also, is tiDE ready enough to compile KOS for us?  I'm going to check out a book from my library to study about mass storage and USB for this.
Title: Re: KnightOS
Post by: SirCmpwn on February 27, 2011, 02:17:43 pm
tiDE cannot compile KnightOS at the moment, and I'm way to busy to fix it.
Title: Re: KnightOS
Post by: jnesselr on February 27, 2011, 02:35:00 pm
tiDE cannot compile KnightOS at the moment, and I'm way to busy to fix it.
mmk, that's fine.  Good luck with your "talk".  I wish you well!
Title: Re: KnightOS
Post by: Eeems on February 27, 2011, 06:00:22 pm
Good luck with the "talk".
Hope it goes well.
I'm excited about the release of the kernel, whenever it does end up happening :P
Title: Re: KnightOS
Post by: DJ Omnimaga on February 28, 2011, 08:56:26 pm
Good luck sir! Also all your projects are still intact, right?
Title: Re: KnightOS
Post by: SirCmpwn on February 28, 2011, 09:07:22 pm
Yes, they are.
Title: Re: KnightOS
Post by: Deep Toaster on February 28, 2011, 09:11:59 pm
/me is glad

If you were never grounded there would have been many more amazing projects floating around the community by now :D
Title: Re: KnightOS
Post by: jnesselr on February 28, 2011, 09:12:33 pm
I'm just hoping he gets ungrounded and goes to college soon.
Title: Re: KnightOS
Post by: SirCmpwn on February 28, 2011, 09:13:16 pm
I'll be going to Arizona State University in August.
Title: Re: KnightOS
Post by: jnesselr on February 28, 2011, 09:14:24 pm
I'll be going to Arizona State University in August.
Yays.  So I assume you'll have more time over the summer/spring break?
Title: Re: KnightOS
Post by: SirCmpwn on February 28, 2011, 09:16:02 pm
So I assume you'll have more time over the summer/spring break?
Not sure.  I'll still be living with the rents until then.
Title: Re: KnightOS
Post by: z80man on February 28, 2011, 09:17:31 pm
I'll be going to Arizona State University in August.
That is a possible consideration for me now. I heard it was a party school though.  :w00t:

but my top choice is either the US Naval Academy or MIT. Both provide unlimited access to a supercomputer and the Naval Academy has a nuclear reactor I can mess around with.  :evillaugh:
Title: Re: KnightOS
Post by: SirCmpwn on February 28, 2011, 09:18:55 pm
Come to ASU pl0x :) I know no one there.  They have a great CS program, though.  It is a party school, though, but I'm sure you can ignore it (I know I can ;))
Title: Re: KnightOS
Post by: DJ Omnimaga on February 28, 2011, 09:27:08 pm
I'll be going to Arizona State University in August.
Nice to hear. What does party school means? Is it just that there are always parties with beer and all and if you don't participate you're mocked?
Title: Re: KnightOS
Post by: z80man on February 28, 2011, 09:28:29 pm
According to this chart from my school, it shouldn't be too hard for me to get in, but I'm only a sophomore  :(

(http://img.removedfromgame.com/imgs/download.png)
Title: Re: KnightOS
Post by: SirCmpwn on February 28, 2011, 09:28:45 pm
It means that there are a lot of parties there.  I'm not sure beyond that point.
Title: Re: KnightOS
Post by: DJ Omnimaga on February 28, 2011, 09:43:45 pm
I see. ANd I don't understand that graph much because when I went to hi-school, everything score-related was in percentage format. X.x
Title: Re: KnightOS
Post by: SirCmpwn on February 28, 2011, 09:44:32 pm
annnnnd...this thread is back on topic
Title: Re: KnightOS
Post by: jnesselr on February 28, 2011, 09:45:28 pm
So what is left to implement before the developer's release?
Title: Re: KnightOS
Post by: SirCmpwn on February 28, 2011, 09:46:17 pm
Kernel: Filesystem
Dev Release:
*Castle
*File Explorer
*Basic Linking
Title: Re: KnightOS
Post by: jnesselr on February 28, 2011, 09:47:16 pm
Kernel: Filesystem
Dev Release:
*Castle
*File Explorer
*Basic Linking
Basic linking as in USB linking? I could use my arduino to send programs, but that doesn't work for those who are arduino-less.

Also, what is castle?
Title: Re: KnightOS
Post by: Eeems on February 28, 2011, 09:47:56 pm
How far along is the filesystem currently?
Also, I was wondering, are you going to allow for symbolic links?
Title: Re: KnightOS
Post by: SirCmpwn on February 28, 2011, 09:49:19 pm
Basic linking = some way of getting files onto it
Filesystem is barely there.  A functional test filesystem is in place, but the actual KFS is not.  Flash writing is mostly done, though.  And what are symbolic links?
Title: Re: KnightOS
Post by: Eeems on February 28, 2011, 09:52:02 pm
Ah ok.
http://en.wikipedia.org/wiki/Symbolic_link or in other words, a file that represents another file. So with symbolic linking you can have the file /home/eeems/some_folder/this_file but with a symbolic link to it located at /link_to_file you can just reference /link_to_file to access it. Symbolic links to directories are also nice :P
Title: Re: KnightOS
Post by: SirCmpwn on February 28, 2011, 09:52:54 pm
Nope, I won't support that.  But someone could probably write a program that does it.
Title: Re: KnightOS
Post by: Eeems on February 28, 2011, 09:54:10 pm
I think I'll try to implement that in Rogue whenever I get the chance to actually do something with it :P
Title: Re: KnightOS
Post by: SirCmpwn on February 28, 2011, 09:56:04 pm
Well, the filesystem is relatively basic.  However, programs will be able to associate themselves with extensions, and symbolic linking could easily be done through such a thing.
Title: Re: KnightOS
Post by: Eeems on February 28, 2011, 09:56:47 pm
Sounds good :)
Title: Re: KnightOS
Post by: jnesselr on February 28, 2011, 10:44:28 pm
Yeah, You could just have a .lnk file.  What happens if two programs use the same extension?  This is getting exciting!
Title: Re: KnightOS
Post by: z80man on February 28, 2011, 11:50:42 pm
Ah ok.
http://en.wikipedia.org/wiki/Symbolic_link or in other words, a file that represents another file. So with symbolic linking you can have the file /home/eeems/some_folder/this_file but with a symbolic link to it located at /link_to_file you can just reference /link_to_file to access it. Symbolic links to directories are also nice :P
Is that basically a shortcut on windows systems?
Title: Re: KnightOS
Post by: Eeems on March 01, 2011, 12:49:43 am
In the most basic sense, yes, but instead of just being a file, you can actually reference the original file with it, symbolic links are much more complex then shortcuts.
i.e: /home/eeems/Desktop/ha/ has a symbolic link located at /home/ha so instead of having to type out /home/eeems/Desktop/ha/ all the time to access that folder you can now use the shortcut of /home/ha/. Having a symbolic link to a file makes it seem like it is there, so symbolically linking a settings file in one location to another will make it editable by whatever accesses both locations, and unlike a .lnk which when you try to open it you open the shortcut file, symbolic links are followed when you edit them, so instead of the symbolic link file, you open the file it is pointed to.
In short, I much prefer the symbolic link method over the .lnk method due to the limitations that are not in place over symbolic links that are over .lnk files.
Title: Re: KnightOS
Post by: jnesselr on March 01, 2011, 09:49:12 pm
Well, he could make certain functions be for certain programs.  So you could claim the edit function and return the original file as well.
Title: Re: KnightOS
Post by: SirCmpwn on March 02, 2011, 01:10:52 am
Two programs cannot register the same extension.  Any program can use any file, but if Program B registers .txt after Program A, it will overwrite the registry.
Title: Re: KnightOS
Post by: z80man on March 02, 2011, 01:36:04 am
So how this works is if I try to open a .txt file, the kernel will then check the registry to see which program is registered to open .txt files. And if there is no program available will it give me options to open it?
Title: Re: KnightOS
Post by: willrandship on March 02, 2011, 01:45:09 am
I think it would be like that, from his post, or throw an error "No Program Set to Open This"
Title: Re: KnightOS
Post by: SirCmpwn on March 02, 2011, 09:01:40 am
You open the file, and it checks the registry.  If it is registered, KnightOS runs that program with the name of the file passed in the arguments.  If not, it lets the user browse to a program to open it with, or choose from common programs.
Title: Re: KnightOS
Post by: jnesselr on March 02, 2011, 10:36:17 pm
How many letters to an extension? only 3?
Title: Re: KnightOS
Post by: SirCmpwn on March 02, 2011, 10:36:55 pm
As many as you like.  If you want to fill all of ROM with your filename, you can go for it.
Title: Re: KnightOS
Post by: jnesselr on March 02, 2011, 10:37:43 pm
As many as you like.  If you want to fill all of ROM with your filename, you can go for it.
Lol, so can it go across sector boundaries, or is that just an issue with TIOS?
Title: Re: KnightOS
Post by: SirCmpwn on March 02, 2011, 10:39:32 pm
Yes, you can cross sector boundaries.
Title: Re: KnightOS
Post by: Eeems on March 02, 2011, 10:40:16 pm
So I'm guessing you aren't going to think about using magic bits?
Title: Re: KnightOS
Post by: jnesselr on March 02, 2011, 10:40:40 pm
Yes, you can cross sector boundaries.
Sweet! Okay, I'm out of questions atm.  I'm still thinking about counting down the days until we get sircmpwn's awesome projects every day!
Title: Re: KnightOS
Post by: SirCmpwn on March 02, 2011, 10:40:50 pm
And that is...?
EDIT: @Eeems
Title: Re: KnightOS
Post by: Eeems on March 02, 2011, 10:43:19 pm
http://en.wikipedia.org/wiki/Magic_number_%28programming%29
Title: Re: KnightOS
Post by: jnesselr on March 02, 2011, 10:43:54 pm
Oh, so sorta like what DCS uses.
Title: Re: KnightOS
Post by: SirCmpwn on March 02, 2011, 10:44:21 pm
Ah, magic numbers.  I suspectd that's what you were talking about.  And magic numbers hasn't been a good system for years and years.  And it's totally incompatible with every other OS.  I want cross-compatability with Linux, Windows, Mac, etc.
Title: Re: KnightOS
Post by: Eeems on March 02, 2011, 10:46:37 pm
Ah, magic numbers.  I suspectd that's what you were talking about.  And magic numbers hasn't been a good system for years and years.  And it's totally incompatible with every other OS.  I want cross-compatability with Linux, Windows, Mac, etc.
Well most operating systems that use it also use extensions for cross compatibility, but it would be helpful for files without extensions. But anywho, it's your choice :)
Title: Re: KnightOS
Post by: jnesselr on March 02, 2011, 10:47:06 pm
Ah, magic numbers.  I suspectd that's what you were talking about.  And magic numbers hasn't been a good system for years and years.  And it's totally incompatible with every other OS.  I want cross-compatability with Linux, Windows, Mac, etc.
Well most operating systems that use it also use extensions for cross compatibility, but it would be helpful for files without extensions. But anywho, it's your choice :)
It would be useful if your extension was removed or something.
Title: Re: KnightOS
Post by: SirCmpwn on March 02, 2011, 10:48:14 pm
Magic numbers is an intersting idea, but I will not be using it.
Title: Re: KnightOS
Post by: Eeems on March 04, 2011, 12:03:10 am
Fair enough :)
it was just an idea, maybe someone will implement it later or something in their own OS using the KnightKernel
Title: Re: KnightOS
Post by: SirCmpwn on March 04, 2011, 12:03:50 am
Perhaps :)
Title: Re: KnightOS
Post by: SirCmpwn on March 26, 2011, 09:37:44 pm
GAAAAH I'm going to explode if I don't work on this soon!
Title: Re: KnightOS
Post by: yunhua98 on March 26, 2011, 09:38:45 pm
GAAAAH I'm going to explode if I don't work on this soon!
same with me for my projects.  XD  Progress is slow.  But yeah, it'll be awesome when this gets finished.  ;)
Title: Re: KnightOS
Post by: DJ Omnimaga on March 26, 2011, 09:45:41 pm
I assume you do not have access to your dev environment due to grounding? D:
Title: Re: KnightOS
Post by: SirCmpwn on March 26, 2011, 09:56:53 pm
That's right, DJ_O.  I'm working on fixing that, though.
Title: Re: KnightOS
Post by: DJ Omnimaga on March 26, 2011, 10:04:50 pm
Good luck X.x
Title: Re: KnightOS
Post by: Eeems on March 26, 2011, 10:06:36 pm
Good luck SirCmpwn, if you need anything just let me know :) (help, resources, whatever you need)
Title: Re: KnightOS
Post by: jnesselr on March 26, 2011, 10:24:26 pm
GAAAAH I'm going to explode if I don't work on this soon!
I'm going to explode if you don't work on it too. :D

But in all seriousness, I agree with Eeems here.  If you need anything, like help, resources, parental abductions just let us know.
Title: Re: KnightOS
Post by: SirCmpwn on April 18, 2011, 05:53:27 pm
Update
Hi there!  Sorry it's been so long since I've posted an update, but I've spent more time grounded than not in the past few months.  Now to the important stuff:
I've gotten basic KFS support working.  In past builds of KnightKernel, a simple read-only filesystem has been used as a temporary fix.  My current aims with KnightKernel is to get the real KnightOS Filesystem working on it, and in order to do this, I completely scrapped all existing filesystem related code and started fresh.  This means that I disabled multithreading and a lot of other features (including actually booting without crashing) that relied on reading from the filesystem.  Today, I re-enabled those features as basic support for reading from a KFS compliant filesystem has been added.
In addition to adding this support, RAM has been set aside for a file stream table, and I've also written several custom build tools for the kernel, as well as laid out the final structure of KnightOS itself.  I've written a tool that will take a ROM file and copy a directory on your hard drive to root on the ROM file, and one that will take the internal include file and generate an external include file based on it.  Next on my to-do list is to flesh out file reading a bit more, and add write support.  After that, I believe the kernel will be complete, and work on the OS itself may begin.
Title: Re: KnightOS
Post by: jnesselr on April 18, 2011, 06:46:55 pm
Hey, awesome to see you are working on it!
Title: Re: KnightOS
Post by: Eeems on April 18, 2011, 06:50:42 pm
Yay!
Title: Re: KnightOS
Post by: willrandship on April 18, 2011, 06:50:43 pm
So, quick question: When it reports itself as a flash drive, what format will it say it is to the PC involved? KFS isn't a PC Filesystem, right?

Also, awesome avatar :P
Title: Re: KnightOS
Post by: jnesselr on April 18, 2011, 06:55:45 pm
So, quick question: When it reports itself as a flash drive, what format will it say it is to the PC involved? KFS isn't a PC Filesystem, right?

Also, awesome avatar :P
I'm thinking Fat16 or Fat32.  I'd rather not write a driver PC-side for it, although that's doable.  I'm trying to figure out how to make the USB firmware controller have a layer between KFS and FAT.  (Fat as in 16 or 32)
Title: Re: KnightOS
Post by: willrandship on April 18, 2011, 07:00:36 pm
That would be nice, since that way I don't have to worry about cross-platform linux support :P

You guys rock :thumbsup: I wish I could start writing an OS for it.
Title: Re: KnightOS
Post by: jnesselr on April 18, 2011, 07:03:45 pm
That would be nice, since that way I don't have to worry about cross-platform linux support :P

You guys rock ;D(http://www.omnimaga.org/Themes/default/images/gpbp_arrow_up.gif) I wish I could start writing an OS for it.
Well, I still can't wait until I can see the OS and start writing for it.  But yeah, I'm reading books about USB and Mass Storage Devices, so it shouldn't be a problem.
Title: Re: KnightOS
Post by: Deep Toaster on April 18, 2011, 08:51:24 pm
Update

Hey, that's awesome! And welcome back to life, SirCmpwn! :D
Title: Re: KnightOS
Post by: Broseph Radson on April 18, 2011, 09:13:33 pm
Awesome! Glad to hear ;D
Title: Re: KnightOS
Post by: SirCmpwn on May 09, 2011, 07:47:06 pm
Update
I'm still grounded, but I've finally managed to do what I previously considered impossible - I have compiled KnightOS entirely from a Linux machine.  This means I can get back to work on it and finally, KnightOS is back on track.  I still have the filesystem implementation to do, and that's one of the last things to do for the kernel.  After that, I'll get to work on KnightOS itself and have a developer release out in no time.
Title: Re: KnightOS
Post by: ztrumpet on May 09, 2011, 07:51:02 pm
Great!  I'm glad to see things are going smoothly again. :)  Good luck! ;D
Title: Re: KnightOS
Post by: Juju on May 09, 2011, 08:17:49 pm
Awesome :D
Title: Re: KnightOS
Post by: jnesselr on May 09, 2011, 09:35:16 pm
Excellent, looking forward to it.  I assume this means that you can work via the server, or are you using your portable version?
Title: Re: KnightOS
Post by: DJ Omnimaga on May 09, 2011, 09:41:43 pm
This is awesome Sir.
Title: Re: KnightOS
Post by: Munchor on May 10, 2011, 07:21:20 am
Update
I'm still grounded, but I've finally managed to do what I previously considered impossible - I have compiled KnightOS entirely from a Linux machine.  This means I can get back to work on it and finally, KnightOS is back on track.  I still have the filesystem implementation to do, and that's one of the last things to do for the kernel.  After that, I'll get to work on KnightOS itself and have a developer release out in no time.

Great, this is back on :D
Title: Re: KnightOS
Post by: Broseph Radson on May 10, 2011, 08:24:02 am
Awesome!
Title: Re: KnightOS
Post by: aeTIos on May 10, 2011, 10:16:37 am
Hooray! Awesome Linux is awesome! Awesome KnightOS is even more awesome!
Title: Re: KnightOS
Post by: TIfanx1999 on May 11, 2011, 01:41:28 am
Update
I'm still grounded, but I've finally managed to do what I previously considered impossible - I have compiled KnightOS entirely from a Linux machine.  This means I can get back to work on it and finally, KnightOS is back on track.  I still have the filesystem implementation to do, and that's one of the last things to do for the kernel.  After that, I'll get to work on KnightOS itself and have a developer release out in no time.

It sucks that you're grounded, but I'm glad you are able to work on this again. I look forward to seeing some new progress. ^^
Title: Re: KnightOS
Post by: SirCmpwn on May 11, 2011, 05:22:43 pm
Excellent, looking forward to it.  I assume this means that you can work via the server, or are you using your portable version?
I'm working off an Ubuntu flash drive.
Title: Re: KnightOS
Post by: Deep Toaster on May 12, 2011, 09:41:14 am
w00t, that be awesome! Those live USBs really do come in handy, don't they? ==D

And slightly off-topic: How long does it take to start up? I know a way to get Ubuntu to boot in around five seconds off a live USB, without that annoying Install Now dialog.
Title: Re: KnightOS
Post by: SirCmpwn on May 12, 2011, 05:50:49 pm
w00t, that be awesome! Those live USBs really do come in handy, don't they? ==D

And slightly off-topic: How long does it take to start up? I know a way to get Ubuntu to boot in around five seconds off a live USB, without that annoying Install Now dialog.
It takes about a minute.
Title: Re: KnightOS
Post by: DJ Omnimaga on May 12, 2011, 10:46:40 pm
I was scared at first. I did not read the previous page and I thought you meant KOS took 1 minute to start up. O.O It would probably not be very good for math classes X.x
Title: Re: KnightOS
Post by: jnesselr on May 12, 2011, 11:12:55 pm
I was scared at first. I did not read the previous page and I thought you meant KOS took 1 minute to start up. O.O It would probably not be very good for math classes X.x
Of course not, DJ_O.  Well, technically KOS takes 5 minutes to start up, but due to that new time-warp feature, it seems instant.
Title: Re: KnightOS
Post by: DJ Omnimaga on May 12, 2011, 11:15:47 pm
Lol, is Sir working for TI now? ???
Title: Re: KnightOS
Post by: jnesselr on May 13, 2011, 11:13:08 am
Lol, is Sir working for TI now? ???
Well, I think he is looking for a job... But nah, I'm sure it's near instant.
Title: Re: KnightOS
Post by: BrownyTCat on May 13, 2011, 11:13:47 am
I was scared at first. I did not read the previous page and I thought you meant KOS took 1 minute to start up. O.O It would probably not be very good for math classes X.x
That's 29 minutes less than an Apple Lisa!
Title: Re: KnightOS
Post by: SirCmpwn on May 13, 2011, 03:58:37 pm
No, KnightOS boots instantly :P Ubuntu takes longer.
Title: Re: KnightOS
Post by: SirCmpwn on June 03, 2011, 08:48:57 pm
Time for complete rewrite #3!  KnightOS has become very disfigured in code, so I'm going to rewrite a lot of it and copy the rest into a new project.  The last two times I did this, it came out drastically better, so expect good things.
Title: Re: KnightOS
Post by: DJ Omnimaga on June 03, 2011, 09:04:22 pm
Nice to hear, but please do not fall into the endless rewrite loop curse either, though. I know some projects died because the author just kept rewriting it over and over during 3-4 years, only to never ever reach demo status. This is why for example Pokémon Purple has been in development for 6 years and is still only 15% complete.
Title: Re: KnightOS
Post by: SirCmpwn on June 03, 2011, 09:05:52 pm
I see.  No, I'll try to avoid that trap.
Title: Re: KnightOS
Post by: DJ Omnimaga on June 03, 2011, 09:06:49 pm
Ok good to hear. I just don't want this to end up being restarted from scratch every 6 month or so during 3 years X.x. On top of that most people would lose interest and you would barely get any reply anymore D:
Title: Re: KnightOS
Post by: Broseph Radson on June 04, 2011, 10:51:17 am
Best of luck, Sir! :)
Title: Re: KnightOS
Post by: Eeems on June 04, 2011, 07:04:43 pm
Good luck! I know the feeling of wanting to fix up your code :) I usually just start a new project or spend hours trying to fix the code and getting it working again instead of complete re-writes though :P
Lets hope this re-write makes it even better then the last was :)
Title: Re: KnightOS
Post by: SirCmpwn on June 04, 2011, 09:41:09 pm
It's already significantly better.  For instance, here's the new kernel internal include file:
Spoiler For KernelInternal.inc:
Code: [Select]
; KernelInternal.inc

; Kernel Internal Include File


 define TI83Plus
 ;define TI83PlusSE
 ;define TI84Plus
 ;define TI84PlusSE

 ifdef TI83Plus
 else
 ;define Debug
 endif

 ifdef TI83Plus
ProtectedAccessPage equ 1Ch
FlashPages equ 32
 endif
 
 ifdef TI83PlusSE
FlashPages equ 128
 endif
 
 ifdef TI84Plus
 define USBModel
FlashPages equ 64
 endif
 
 ifdef TI84PlusSE
 define USBModel
FlashPages equ 128
 endif

; Kernel Variables
MaxThreads equ 20
MaxLibs equ 20
MaxSemaphores equ 10

RAMStart equ 08000h
ThreadTable equ 08000h
; Thread Table Format:
; Offset | Description:
; 0x0000 | Executable address
; 0x0002 | Stack address
; 0x0004 | Stack size
; 0x0005 | Thread Flags
; 0x0006 | Pointer to file name   
ThreadEntrySize equ 8
ThreadTableSize equ MaxThreads * ThreadEntrySize

LibTable equ ThreadTable + ThreadTableSize
; Lib Table Format:
; Offset | Description:
; 0x0000 | Library ID
; 0x0002 | Executable Address
; 0x0003 | Number Of Programs In Use
; 0x0004 | Pointer to file name
LibEntrySize equ 5
LibTableSize equ MaxLibs * LibEntrySize

SemaphoreTable equ LibTable + LibTableSize
; Semaphore Table Format:
; Offset | Description:
; 0x0000 | Recipient ID
; 0x0001 | Sender ID
; 0x0002 | Message Address
SemaphoreSize equ 4
SemaphoreTableSize equ MaxSemaphores * SemaphoreSize

; Kernel Safe RAM
KernelSafeRAM equ SemaphoreTable + SemaphoreTableSize

NextThreadID equ KernelSafeRAM
CurrentThreadID equ NextThreadID + 1

NumberOfLibraries equ CurrentThreadID + 1

; Semaphores rotate and expire as they are created
CurrentSemaphoreID equ NumberOfLibraries + 1

UserRAM equ CurrentSemaphoreID + 1
UserRAMEnd equ 0FFFFh
Title: Re: KnightOS
Post by: SirCmpwn on June 05, 2011, 10:43:41 pm
Quick shout out to Runer112, who helped quite a bit with memory management.  Thanks!
Title: Re: KnightOS
Post by: Runer112 on June 05, 2011, 10:44:52 pm
No problem. If you need help with any other routines, just ask! :)
Title: Re: KnightOS
Post by: DJ Omnimaga on June 08, 2011, 02:12:09 am
Cool to hear :)
Title: Re: KnightOS
Post by: thepenguin77 on June 19, 2011, 03:46:53 pm
In preparation for the release of boot code 1.03, I was looking through the OS receiving code of the boot code. What I noticed, (I'm not claiming this is groundbreaking), is that the OS header and the signature are both stored at the start of page $3A/$7A.

Since knightOS uses the whole memory for variable storage, I was wondering, what have you done to protect against this? Because if someone receives an update to knightOS through the boot code, $4000-$41FF of page $3A/$7A will get destroyed.
Title: Re: KnightOS
Post by: SirCmpwn on June 19, 2011, 06:36:36 pm
Thats a great question.  Perhaps the installer could detect the boot code version and modify the kernel to leave those out of the  filesystem.
Title: Re: KnightOS
Post by: thepenguin77 on June 19, 2011, 07:05:11 pm
Yeah, you'll probably have to do something like that. And a quick little check shows that this also happens on the 83+BE on page $1A. So essentially, on every calculator, you can't use the first $200 bytes of the last $_A page.

I didn't know about this so I figured you didn't either. And it's a good thing I told you or else you would have some weird problems later on. :)
Title: Re: KnightOS
Post by: SirCmpwn on June 19, 2011, 08:04:53 pm
Thanks!
Title: Re: KnightOS
Post by: jnesselr on June 19, 2011, 10:12:06 pm
Are we sure this is only boot code 1.03 and the BE version?  Maybe have code to check for some specific signature of the area in question.
Title: Re: KnightOS
Post by: KnightOS on October 10, 2011, 12:35:04 pm
The thread list program has been added and integrated into libgui so that users can switch between active threads.  Several other bug fixes have been added to improve overall stability of the system.  Here's a screenshot of the latest version, including task management:
(http://img.removedfromgame.com/imgs/KnightOS-10-9-2011.gif)

The latest version is available for download here:
TI-73 (http://knightos.sf.net/downloads/KnightOS_73-DEBUG.73u)
TI-83+ (http://knightos.sf.net/downloads/KnightOS_83p-DEBUG.8xu)
TI-83+ SE (http://knightos.sf.net/downloads/KnightOS_83pSE-DEBUG.8xu)
TI-84+ (http://knightos.sf.net/downloads/KnightOS_84p-DEBUG.8xu)
TI-84+ SE (http://knightos.sf.net/downloads/KnightOS_84pSE-DEBUG.8xu)

Note that these may be unstable and cause crashes.  In the event that your calculator becomes irrevocably crashed, you can fix it by removing a single battery, holding down the DEL key, and replacing the battery.  This will enable you to send a new OS, such as the official TI OS.  Be aware that installing any of these OSes has a high risk of deleting items in your archive, should you choose to re-install TI OS.  It is highly unlikely that your calculator will be damaged to the point that it cannot be recovered, verging on the point of impossible.  Regardless, I am not responsible for damage incurred.
Title: Re: KnightOS
Post by: willrandship on October 10, 2011, 01:04:36 pm
Wow, that looks a lot farther along than I thought KnightOS was at this point! Is there a way to program inside KnightOS yet, like with mosaic, or even a form of basic? :P
Title: Re: KnightOS
Post by: KnightOS on October 10, 2011, 01:06:58 pm
Wow, that looks a lot farther along than I thought KnightOS was at this point! Is there a way to program inside KnightOS yet, like with mosaic, or even a form of basic? :P
No.  The kernel presently only supports read-only access to Knight File System (though KFS is fully implemented for read access), which means you would be unable to save any programs you wrote.  More important features include file system writing, generic text editing, file explorer, and USB connectivity.
Eventually, on-calc assembly support is planned, in addition to KBasic and TI-Basic.  A compatability layer called Compat8x is also planned to enable users to run a limited number of TI OS assembly programs within KnightOS.
Title: Re: KnightOS
Post by: Geekboy1011 on October 23, 2011, 10:25:02 pm
All updates regarding Knight OS can now be found on http://knightos.sf.net

SirC turned it into a blog for KOS so yeah enjoy the not dead project that KOS is ^_^
Title: Re: KnightOS
Post by: DJ Omnimaga on October 23, 2011, 10:28:13 pm
Ah ok thanks for the link. Hopefully it continues.
Title: Re: KnightOS
Post by: Juju on October 23, 2011, 11:43:17 pm
Yeah I saw on Twitter :P
Title: Re: KnightOS
Post by: Matrefeytontias on June 04, 2014, 02:27:31 pm
Okay so that becomes the official update thread again.

Lately, many things were added, including :

Screenshots of this progress (15 MHz) :

(http://www.knightos.org/img/fileman.gif)

(http://www.knightos.org/img/fx3dlib.gif)

Also, SirCmpwn started on a port of Phoenix - I don't need to tell you what is Phoenix right ? (6 MHz)

(http://img.ourl.ca/phoenix.gif)

EDIT : by the way, that should be moved out of the "Discontinued projects" board I think.
Title: Re: KnightOS
Post by: Streetwalrus on June 04, 2014, 03:37:47 pm
Holy necropost Batman ! *.*

Nah jk, KOS has gone a long way under the hood and the user space is really starting to be awesome.
Title: Re: KnightOS
Post by: Eiyeron on June 04, 2014, 03:39:23 pm
"Phoenix right"... is that intended?
BTW nice work on the port.
Title: Re: KnightOS
Post by: Streetwalrus on June 04, 2014, 03:41:07 pm
Nice catch Eiyeron. That game was epic. :D
Title: Re: KnightOS
Post by: Eiyeron on June 04, 2014, 03:41:58 pm
OBJECTION, I never played it.

Aaaand let's get back ontopic. I want to learn Z80 asm to give KOS a shot, to see if it's fun enough.
Title: Re: KnightOS
Post by: Matrefeytontias on June 04, 2014, 04:11:04 pm
"Phoenix right"... is that intended?
So you got it :P

Aaaand let's get back ontopic. I want to learn Z80 asm to give KOS a shot, to see if it's fun enough.
What do you mean, of course it is :P
Title: Re: KnightOS
Post by: Streetwalrus on June 04, 2014, 04:12:50 pm
If you contributed to KnightOS in any way, and aren't listed there (https://github.com/KnightOS/kernel/issues/124), please report it asap. ;)
Title: Re: KnightOS
Post by: DJ Omnimaga on June 04, 2014, 11:46:10 pm
The UI is really nice and good to see you got Phoenix working!

And yeah I agree. You might need to use ourl.ca/request, though, since admins only monitor that part.
Title: Re: KnightOS
Post by: Eeems on June 05, 2014, 12:06:36 am
The UI is really nice and good to see you got Phoenix working!

And yeah I agree. You might need to use ourl.ca/request, though, since admins only monitor that part.
he's talking about KOS bugs
Title: Re: KnightOS
Post by: DJ Omnimaga on June 05, 2014, 12:09:35 am
Oh whoops I forgot to quote the post on the previous page that suggested that this sub-forum be moved out of discontinued projects.
Title: Re: KnightOS
Post by: bb010g on June 05, 2014, 09:52:00 am
EDIT : by the way, that should be moved out of the "Discontinued projects" board I think.
+1
Title: Re: KnightOS
Post by: Matrefeytontias on November 16, 2014, 06:13:38 pm
Alright, time for an update, a lot of things happened to KnightOS lastly.

Of course, nothing of this would have been possible without the continuous help and devotion of those people to the whole KnightOS project : puckipedia, klange, Vijfhoek, dragontux, thirtythreeforty, SirCmpwn and myself (well, I'm not thanking myself, but you get the point).

We would also like to thank Patrick Davidson, Ben Ryves and Ahmed El-Helw for letting us port their software.

That's about it for this update, of course more will come ;)
Title: Re: KnightOS
Post by: bb010g on November 16, 2014, 06:30:26 pm
  • KnightOS now has C support ! Limited, but working C support ! KCC, a KnightOS-specific fork of SDCC, appeared to work well with SCAS, and while this is still in very early working stages, check out this small tutorial (http://www.knightos.org/documentation/c-support.html) and give it a try !
Why a custom compiler and not something like a LLVM backend?
Title: Re: KnightOS
Post by: Matrefeytontias on November 16, 2014, 06:31:57 pm
Well, it is kind of an SDCC backend. The thing is that the main SDCC team didn't want to do anything for nor accept anything from KnightOS, so we had to do a fork of SDCC. It's still SDCC though.
Title: Re: KnightOS
Post by: willrandship on November 16, 2014, 06:48:54 pm
LLVM is not particularly suited for z80. It assumes, among other things, the ability to do fast, stack-offset memory access. The z80 doesn't do that. The purpose for those accesses is to allow functions to exist once in code for arbitrary, stack-based memory locations.

SDCC on the other hand is designed with embedded CPUs like the z80 in mind. It uses a lot of RAM compared to assembly, and it's a fair amount slower, but still far above what LLVM would be able to produce without some miraculous IR conversions.

I'm glad to hear all that progress! Sounds like the ball's really rolling, especially with the C support. Maybe we could just port xcas and have working calculation software.

One question: Does the C compiler have a way to do text-based programs with the standard scanf/printf functions?
Title: Re: KnightOS
Post by: Matrefeytontias on November 16, 2014, 06:52:10 pm
Maybe we could just port xcas and have working calculation software.
For this, it would be better to wait until we have floating-point support built in the kernel. Then, once linked to SDCC, that will become a possibility.

One question: Does the C compiler have a way to do text-based programs with the standard scanf/printf functions?
As stated before, KnightOS isn't POSIX-compliant. Things like standard flows are not planned, as they don't really suit KnightOS in our opinion.
Title: Re: KnightOS
Post by: Juju on November 17, 2014, 07:58:52 am
Well, at least this is pretty nice to have a higher level language running on KnightOS. I'll probably check it out.
Title: Re: KnightOS
Post by: Eeems on November 17, 2014, 03:28:32 pm
Just tried playing around with the sdk on a fresh Arch VM and pulling the sdk from the AUR. I'm getting this error when I'm trying to create a new project to play around with:
(http://imgur.com/U6A2yI2.jpg)
I just installed Arch from the VM so everything is up to date. It looks like there is an issue with some of the python scripts. I'll also report this issue on the github, but since it's me, SirCmpwn probably will just ignore it.
Title: Re: KnightOS
Post by: Matrefeytontias on November 17, 2014, 04:58:49 pm
^ that's been fixed on GitHub with SirCmpwn.

By the way, http://try.knightos.org/ has been fixed ! Now you can actually try KnightOS programming in your browser without downloading anything !
Title: Re: KnightOS
Post by: DJ Omnimaga on November 17, 2014, 07:47:54 pm
Nice to see C support come up for KOS. Also, for CSE programs, will ports of 84+ programs run identically (graphical-wise) on the CSE?
Title: Re: KnightOS
Post by: Matrefeytontias on November 18, 2014, 01:16:56 am
Yeah, thanks to legacy mode. See Phoenix, for example, or simply the castle.
Title: Re: KnightOS
Post by: Aspiring on November 20, 2014, 06:26:26 pm
Really awesome!   :thumbsup:   I especially love that C is supported even if it is, at best, experimental.  I would try this on my calc but I need it for school too and I don't want to have to constantly change OS's...  if only dual booting was possible... but I understand that it would be difficult if at all possible and not worth the time.  Time would be best doing other things to help KnightOS.
Title: Re: KnightOS
Post by: Ovnize on December 22, 2014, 06:43:56 pm
I've just installed KOS on my TI-83+, but when I press [ON], the screen becomes black and turns back white very quickly, and then nothing happens. Does anyone knows what would be the issue?
Title: Re: KnightOS
Post by: Matrefeytontias on December 22, 2014, 07:11:40 pm
This is probably that the current build is broken. Sadly I do not have an 83+ to test KnightOS on, so I can't really say, but since there are not many other things that could go wrong, I think that's about it. You should probably wait a few days, I'll post here what I find and if it gets fixed.
Title: Re: KnightOS
Post by: Matrefeytontias on December 23, 2014, 03:56:04 am
Bump,

After testing on Wabbitemu, I couldn't reproduce the bug, so I guess it's only on the hardware that it happens. Can you give some context ? Where did you download the OS, how was the file named, can you test it on an emulator to see if it causes the same errors ?
Title: Re: KnightOS
Post by: Ovnize on December 23, 2014, 10:44:04 am
I downloaded the OS from knightos.org (latest version, 0.3.0-19-g9703c68), I installed the KnightOS-TI83p.8xu file. I just tested it on an emulator, I got no problem using it.
>Installed some older versions (0.3.0-14-g80dc610 and 0.3.0-12-g3756767), it did the same thing again.
Title: Re: KnightOS
Post by: ben_g on December 23, 2014, 01:00:16 pm
Maybe there's something in the RAM of the calculator that KnightOS doesn't expect? You can try removing a battery and reinseting it while holding the DEL key. This will ask you to install a new OS, but you can cancel this by pressing the on key. Then when you turn off your calculator and turn it back on, it should start normally with the RAM cleared (at least it does that on the official OS, I don't know if it does the same in KnightOS, but iirc it's the boot code that does this so KnightOS shouldn't affect it)

I can't promise that it'll work, but from personal experience I noticed that when programs get unstable on a calculator, a RAM clear fixes it 99% of the time.
Title: Re: KnightOS
Post by: Ovnize on December 23, 2014, 01:54:36 pm
It doesn't work, I don't really get why it is doing this anyway... Maybe I've got a problem with my hardware? (even if I think the chances that this is the problem are very low...)
Title: Re: KnightOS
Post by: Matrefeytontias on December 23, 2014, 06:48:43 pm
It's not your hardware, another user had the same issue. I'm sorry, but I have no idea what it could be. One last thing though: on the TI-OS, can you press [mode], then [alpha], then [ln] and tell me what the base and boot code versions are ?
Title: Re: KnightOS
Post by: Ovnize on December 23, 2014, 07:24:08 pm
Boot code 1.01 and base code 1.18.
Title: Re: KnightOS
Post by: Vijfhoek on March 22, 2015, 06:47:23 pm
This post has originally been posted by SirCmpwn on TI-Planet (http://tiplanet.org/forum/viewtopic.php?f=10&t=14349&p=179546#p179546) and has been crossposted with his permission.

Hello again! We haven't posted any updates since November so there is a lot of news for you:
Pretty pictures:

(http://a.pomf.se/citcah.gif) (http://a.pomf.se/mfrxgl.gif) (http://a.pomf.se/ebmccu.gif)

(http://a.pomf.se/mcyiau.gif) (http://a.pomf.se/qckpug.gif) (http://a.pomf.se/rsaelj.gif)

Quote from: SirCmpwn
This time around, I'm pretty sure most of the work was NOT done by me, which is a first :) Thanks everyone!
Title: Re: KnightOS
Post by: Digital on March 25, 2015, 05:45:21 am
pretty awesome. I'll try this on my ti83 when i am on a better pc.
but i need to know what math functions and programing languages are aviable.
Title: Re: KnightOS
Post by: Vijfhoek on March 26, 2015, 05:40:55 pm
Math functions, none. It is on our to do list, and we do already have a basic calculator in our community repositories, but KnightOS won't be suitable for real maths any time soon. Of course you're free to do something about that if you know how to - we would be more than grateful for your help!

On programming languages, we have a great assembly runtime at the moment, and we're working on supporting C, which is mostly working at the moment. Also, we have plans for brainfuck and kpy (which is a language we are designing, based on Python), and potentially Lisp and Lua.

It is possible to install it on your calculator if you want, but I personally wouldn't recommend doing that on your main calculator if you need it for school or university. It won't break your calculator or anything, but it just isn't that suitable for real mathematics at the moment. However, you can give it a shot in an emulator if you want, of course!

You can find more information on our site, knightos.org (http://knightos.org), or our wiki, which is linked on there.
Title: Re: KnightOS
Post by: Xeda112358 on April 04, 2015, 10:01:38 am
I feel bad for not bheing more active in the project. I have been writing the floating point routines (significantly higher precision than the TI-OS, by the way) and while they are working, I've been stuck on converting floats to displayable strings.
Title: Re: KnightOS
Post by: Ivoah on April 04, 2015, 09:12:48 pm
Why is this in discontinued projects?
Title: Re: KnightOS
Post by: Matrefeytontias on April 05, 2015, 03:45:47 am
Don't ask. I've said countless times that it had to be moved to community projects.