(Whether I'm referring to KnightOS, to the embedded rickroll or both is up to you to decide).lol
@SirCmpwn: I want teh U171M473 3D1710N!!!!Me too! This sounds really cool! How much MEM do you think it will take? :D
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.Oh, okay. I think that's small enough to not make changing between the TIOS and KnightOS very hard. Cool! ;D
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.
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)(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...
*sigh*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.
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.
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. :)
It's completely fine, I understand where you are coming from.Thanks!
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
(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 like the new update. I saw the screenshot yesterday and it was epic so far. I wonder what kind of music will be supported?
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
Oh. Well, programs will have as much RAM as the calculator can provide, minus a few hundred for the OS.
O_o you believe what?x.x ninja'd
Update
Program loading now works almost completely, I'm going to work on the tasker later today, after band camp.
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
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.
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
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?
So the start of an asm program will be .org 0000?
UpdateNice, 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)
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.
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.
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.
ld bc, 768
call AllocateMem ; BC = amount, HL = pointer to allocated data
; Use the memory here
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.
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?
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.
you can now run up to 20 programs at once under KnightOS.
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.
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?
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
Okay, before I get too confused...Nope, you can't erase or modify the boot page through software.
Is the boot page just sector-protected? That means you actually can brick an 83+(SE)/84+(SE), then... :(
Good luck, SirCmpwn!
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...).
Wow I always thought that part of the memory could be overwritten/erased like the OS certificate page.Okay, before I get too confused...Nope, you can't erase or modify the boot page through software.
Is the boot page just sector-protected? That means you actually can brick an 83+(SE)/84+(SE), then... :(
Good luck, SirCmpwn!
Matthias, RETI is the same as RET, it just takes longer.My bad, I was doing this from memory and I am still a learning asm programmer...
Calc84, awesome.
Sounds useful :) what if the library is already loaded by another program? Does it check to make sure the library isn't loaded?^that
Eeems, it checks that now :)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?
Cool! Tested thoroughly and all?Tested thoroughly, not really. As for Axe stuff with apps, I'm not entirely sure how this applies...
I have a concern about compatibility with my 83+, though... as it doesn't support app compiling in Axe...
Well, you have to get the Semaphore object across threads, which is harder :PA 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:
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.
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.
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 :)Ah ok I see. Keep up the good work on this project :)
EDIT: here is the hardware command in action :D
(http://img.removedfromgame.com/imgs/1287981838-wabbitemu9.gif)
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 :)
RougeRouge?
I like this OS SO much!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.
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.I'll install it too. No question.
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.I like this OS SO much!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.
First I didnt realize that it was a real OS, but it is! going to install this when it is finished!
I like this OS SO much!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.
First I didnt realize that it was a real OS, but it is! going to install this when it is finished!
That's weird, it should be working fine. Did you try it on hardware or something? Because it works fine in WabbitEmuNo it doesn't work with WabbitEmu... I don't even want to test on hardware
;call UnlockFlash
;ld a, 0h
;ld hl, 0h
;call WriteFlashByte
;call LockFlash
It's already commented out
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 :)I like this OS SO much!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.
First I didnt realize that it was a real OS, but it is! going to install this when it is finished!
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. :Pinb4 school ban due to pr0n
isnt a math suite implented?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 :)I like this OS SO much!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.
First I didnt realize that it was a real OS, but it is! going to install this when it is finished!
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
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. :Pisnt a math suite implented?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 :)I like this OS SO much!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.
First I didnt realize that it was a real OS, but it is! going to install this when it is finished!
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!
November 15th, 2010Fixed.
Err. what? I wish so, but perfection takes patience I guess.November 15th, 2010Fixed.
O_O I could never get it done in that much timeNovember 15th, 2010Fixed.
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.
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
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.
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.
The OS is filled with unused crap, apparently.
We might be able to fake it, as in run a program that acts like an OS, but is really running under Ndless.
Can we even fit two Nspire OSes on one calc?
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. :(
Did you honestly think that it would be done in less time?Yup. :)
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
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 Ä)
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
Are the more obscure characters (such as Å and Ø) also included?
Ooh, how big is the charset?Full ASCII.
Great!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.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
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.
What is cpdebc? Looks awesome so far!
and now I feel like an idiot... Should have known that.What is cpdebc? Looks awesome so far!
Compare DE and BC?
and now I feel like an idiot... Should have known that.What is cpdebc? Looks awesome so far!
Compare DE and BC?
I'm guessing there is no 16-bit Cp then. What about hl?and now I feel like an idiot... Should have known that.What is cpdebc? Looks awesome so far!
Compare DE and BC?
Well, that's what happens when some letters stand out more. Like CpDebC :D
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.
I'm guessing there is no 16-bit Cp then. What about hl?and now I feel like an idiot... Should have known that.What is cpdebc? Looks awesome so far!
Compare DE and BC?
Well, that's what happens when some letters stand out more. Like CpDebC :D
I added it a while ago but you never followed suite :pHey 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.
would the contrast be thread-specific?No.
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.
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.
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.
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?
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?
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.
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...
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
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?
Epic.
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..."
In my country, teachers tell us: "PUT ALL IN YOUR CALCULATOR". Really, they almost force us to put things there to make it easier.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.
Oh and they never reset calculators, since it's illegal.
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!)
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.
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.
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
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? ;)
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
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
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.
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.
Oh, yes, I know SirCmpwn talked about having the calc basically be a flash drive.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...
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!Let's see, yeah, we could write a powerpoint like thing.
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)
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.
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.
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...
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
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
^ This.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...
Well, you might be able to switch with a flash drive, but no, KOS and TIOS cannot coexist on the same calc.^ This.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...
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.
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.I know I suggested adding that when I got the dev version, though.
SirCmpwn did not plan on making such a thing, though.
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.
With KnightOS, users will have just under 4MB of storage on a TI-84+SE.2MB*
FFFF I always screw that up. 2MB is correct.
That would be cool. Maybe a built-in compressor?
Yeah, it actually expands your flash chip beyond its actual capacity.
umm, someone missed the sarcasm bb codes XD
umm, someone missed the sarcasm bb codes XD
I'll consider it.That would be cool. Maybe a built-in compressor?
Hmm, how about OS support for compressed prgms?
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
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 thisProbably want to put a C9 (ret) on the end there ;D
PrgmA
:AsmPrgm
:FFFFFFFFFFFFFFFFFFFF
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 thisProbably want to put a C9 (ret) on the end there ;D
PrgmA
:AsmPrgm
:FFFFFFFFFFFFFFFFFFFF
Otherwise you'll be executing who-knows-what. :P
You back up and use an emulator ;)
That way, RAM clears are not a problem (nor is anything else except the rare archive corruption)
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.
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.
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.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?
C] Same as a flash drive. It will be absurdly easy, no special software required.
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?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.
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.
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.
Unfortunately, that's still about 5x to big.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.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.
Maybe if a Linux distro was written specially for TI 83+/84+'s instead of being ported....
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.
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?
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 wonder how large the kernel alone is. I fear that the hardware restrictions may be our downfall in porting Linux to the Nspire.
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
My bad.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
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.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".
Anyway what worries me is that KOS clears RAM every time the OS startsYou 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
And so does KnightOS.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".
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...
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.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.
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.
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?
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?
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.
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?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.
Also, how many threads will KOS support eventually or is it basically unlimited (despite significant slowdown)
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?
*BLODBSOD on the 83+SE. Instead of a few blue lines, the entire screen turns blue in test mode. :P
*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.
BSOD on the 83+SE. Instead of a few blue lines, the entire screen turns blue in test mode. :POn my 84+SE the whole screen turns blue as well :P
*BLODBrings up another question. Can a program consume more then one thread? or will threads only be initiaded when a other task comes in?
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?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.
Also, how many threads will KOS support eventually or is it basically unlimited (despite significant slowdown)
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.
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.)
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 :))
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.
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?
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.
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 :-[
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. :PFixed.
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. :PFixed.
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 thereI'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.
Lol. Hey, just giving you that positive encouragement!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.
Multithreading is your fault. So is flash control. You bug me too much :PAn 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)
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.
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).
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.
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?
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).
The axe version did :P It crashed my nspire bad enough to need a battery pull. It crashed outside the emu.It would, because the ROM would not contain any code from TI.
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?
Aren't the boot pages and such unable to be replaced?The axe version did :P It crashed my nspire bad enough to need a battery pull. It crashed outside the emu.It would, because the ROM would not contain any code from TI.
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?
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.
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.
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
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.
UpdateI don't really get it, but nice to see this is progressing.
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)
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?
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.
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.
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.
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.
I know he'll be able to launch the version by 1 January for a fact.you mean you don't know?
Will that release be publicly available or only for certain people?
Right. Well, I will probably still check it out anyway, just to see how it looks like on-calc. :PI'm not sure if it will be bootable. I'm guessing not, since I'm pretty sure he's releasing the kernel.
Right. Well, I will probably still check it out anyway, just to see how it looks like on-calc. :PI'm not sure if it will be bootable. I'm guessing not, since I'm pretty sure he's releasing the kernel.
I'm pretty sure it was to develop things for the OS, like the y= thing, etc. Like utilities, not programs. Not sure, though.Right. Well, I will probably still check it out anyway, just to see how it looks like on-calc. :PI'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.
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 :PI thought you finished that part? What still needs to be done for it?
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.
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 :PAh 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?
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.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 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
Still fits on one page, although it is spread out on three atm.
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?
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?
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.
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.
Well, there will be stuff in place to ensure that apps play nice with each other.
What do you mean? Like switching out programs? That has been partially implemented and planned for some time now.
Similar to phones, but different from the Nspire.
*facepalm*
Ah, important areas in flash are not accessible through the filesystem.
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.
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 wonder if calc84 will be done with his 83+ emu by then.:evillaugh:
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.
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.
UpdateCool, this means KnightOS will be completely finished tomorrow? ;D
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.
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.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 ._.
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)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.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 ._.
Graphmastur, don't worry, I have backups galore.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)
The file format for executables is .kxe, although you can always put a .8xp on your calculator.
Sweet!! :w00t: <--This smiley rules BTWThx, I suggested it to DJ ;)
graphmastur, I did read your entire post :Poh, 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...
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
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?
di
halt
inc hl
break
dec hl
inc hl
di
halt
dec hl
Sir, will you keep working on this even without no calculator?True, I guess you could use Wabbit or something.
Sir, will you keep working on this even without no calculator?True, I guess you could use Wabbit or something.
That would be me and one other person.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.
UpdateThis is excellent news! I'm very happy to hear that the kernel is completed. Congratulations Sir! =)
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.
UpdateThis is excellent news! I'm very happy to hear that the kernel is completed. Congratulations Sir! =)
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.
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.
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.
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.)
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.
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.
Go for it :)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?
How about writing a ROM utility that allows you to swap in/out different pages in the ROM file?
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?Done
Thanks!
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.
Full 8XU, we have the signing keys after all :)
I'm not sure how it would work...The installation time would be horrendous and it would take a lot of tricky coding.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 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.I'm not sure how it would work...The installation time would be horrendous and it would take a lot of tricky coding.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.
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'm not sure how it would work...The installation time would be horrendous and it would take a lot of tricky coding.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.
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)
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?I'm not sure how it would work...The installation time would be horrendous and it would take a lot of tricky coding.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.
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?I'm not sure how it would work...The installation time would be horrendous and it would take a lot of tricky coding.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.
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.
Oh, okay. Good luck then.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?I'm not sure how it would work...The installation time would be horrendous and it would take a lot of tricky coding.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.
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.
Nope. I'd get a silverlink, but my parents don't even know about the prgm'ing.
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.
Oh, I was talking about on+DELYeah, that's because all the code to do that is apparently on the boot page, which can't be erased by software means.
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.
I don't think it does anything else, but it certainly is useful :DIt 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.
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?I don't think it does anything else, but it certainly is useful :DIt 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.
I don't think it does anything else, but it certainly is useful :DIt 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.
Hey guys.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?
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 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.I see. Good luck, then. If you need anything, remember who KOS #1 fan is. ;-)
And I'm grounded from "personal computer use."
ME!Um, no. Definitely me. How about we compromise and say #1 fan(s). ;-)
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.
Well I was the first #1 fan :P but sure, #1 fans :PME!Um, no. Definitely me. How about we compromise and say #1 fan(s). ;-)
No, I am not. My parents and I will "talk" in a week.
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.
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!
I'll be going to Arizona State University in August.Yays. So I assume you'll have more time over the summer/spring break?
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.
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:
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?
Kernel: FilesystemBasic linking as in USB linking? I could use my arduino to send programs, but that doesn't work for those who are arduino-less.
Dev Release:
*Castle
*File Explorer
*Basic Linking
Ah ok.Is that basically a shortcut on windows systems?
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
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?
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!
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.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 :)
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. ;)
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
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?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)
Also, awesome avatar :P
That would be nice, since that way I don't have to worry about cross-platform linux support :PWell, 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.
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.
Update
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.
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.
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.
w00t, that be awesome! Those live USBs really do come in handy, don't they? ==DIt takes about a minute.
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.
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.xOf course not, DJ_O. Well, technically KOS takes 5 minutes to start up, but due to that new time-warp feature, it seems instant.
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.
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.xThat's 29 minutes less than an Apple Lisa!
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? :PNo. 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.
"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
The UI is really nice and good to see you got Phoenix working!he's talking about KOS bugs
And yeah I agree. You might need to use ourl.ca/request, though, since admins only monitor that part.
EDIT : by the way, that should be moved out of the "Discontinued projects" board I think.+1
Why a custom compiler and not something like a LLVM backend?
- 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 !
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.
This time around, I'm pretty sure most of the work was NOT done by me, which is a first :) Thanks everyone!