Hello,
I'm announcing the first project for KnightOS. When it's done, I'll get started on Compat8x. Like Wine for Linux, Compat8x will be a compatibility layer allowing TIOS programs to run under KnightOS. I will support PartesOS as well when it's released, and the reverse (KOS on TIOS) could also be possible. How it works is this (for TIOS on KOS):
The program is copied to RAM twice. Compat8x looks through the first copy for CALL, JP, and LD. I'll talk about that in a moment. It needs to know if a given address lies within the program, and that can be calculated like so:
TIOS programs run from $9D95
If a program is $200 bytes, all addresses between $9D95 and $9F95 are internal.
Compat8x will set aside RAM that will mock SafeRAM from TIOS. When it encounters a load, if it is external, it changes the address to the corresponding mocked SafeRAM. If it's internal, it changes to the second copy in RAM.
Compat8x will also keep a jump table that leads to the KnightOS equivalent routines to commonly used bcalls. All external cals/jps/bcalls/bjumps are changed to their corrponding values in the jump table.

I know it wouldn't be perfect, but it could allow few programs to run.
What about that other OS, Azylus or something, will there be compatibility for that one?

This is a great idea, so we can support all files in the calculator, KOS, Ti-OS and PartesOS
ScoutDavid wrote:
What about that other OS, Azylus or something, will there be compatibility for that one?

This is a great idea, so we can support all files in the calculator, KOS, Ti-OS and PartesOS

*Asylum OS

SirCmpwn, this seems like a very cool project. How would TIOS programs that search the VAT work with this though? Would those types of programs not be compatible?
I was thinking of setting up a fake VAT that mimics the .8x* files in the current directory.
I'll support as many 3rd party OSes as possible.
SirCmpwn wrote:
I was thinking of setting up a fake VAT that mimics the .8x* files in the current directory.
I'll support as many 3rd party OSes as possible.


That's great, I think everybody's making an OS now XD
I implied elsewhere, I think, that I will be writing a similar program using the double-copy idea.
SirCmpwn, another idea: for what is probably a good number of programs, they can be divided into code and data sections. We could compile a table of where the split(s) are located for common programs, and having this knowledge would make it possible to need only one copy.
I can think of miles of corner cases that won't work, like certain type of jump tables and lookup tables, any kind of double- or higher indirection, etc, but instead I'll be encouraging. Rolling Eyes Good luck with this; if you complete it, it could be quite interesting. I assume it also has to replicate massive swaths of TI-OS bcalls and memory structures like the FPS and the OPStack, right?
Yes, it will have to replicate quite a bit. Perfect compatibility is impossible, and is not a goal of mine. It will also get better over time. Only a handful of programs will work on the first release.
SirCmpwn wrote:
Yes, it will have to replicate quite a bit. Perfect compatibility is impossible, and is not a goal of mine. It will also get better over time. Only a handful of programs will work on the first release.
That makes sense, good luck with this. I of course must play devil's advocate and ask why it wouldn't just be easier to port those few programs over.
Because eventually, the list will expand to not include just a few.
SirCmpwn wrote:
Because eventually, the list will expand to not include just a few.
To continue to play Devil's Advocate, don't you worry that all of the little tiny compatibility pieces that would be necessary to make each additional program work would just be harder or more frustration-inducing than simply porting each desired program one at a time?
souvik1997 wrote:
ScoutDavid wrote:
What about that other OS, Azylus or something, will there be compatibility for that one?

This is a great idea, so we can support all files in the calculator, KOS, Ti-OS and PartesOS

*Asylum OS


I actually think that project will be abandoned, if it hasn't to be quite honest.
If you want to be truly, brutally honest, I don't feel like any of the third-party OS projects are going to ever be finished, let alone gain any significant traction, but that's just my own extremely pessimistic view.
KnightOS has a good chance, I think, and I can't pass judgment on PatesOS yet. However, I do not think any other OS projects will be finished.
SirCmpwn wrote:
KnightOS has a good chance, I think, and I can't pass judgment on PatesOS yet. However, I do not think any other OS projects will be finished.
What's PatesOS? Is that something about which I haven't previously heard, or is it a typo of PartesOS, of which I have heard? Let me clarify what I mean by "finished": usable as something more than a novelty. Pong OS and many others have been "finished" to the point where they load and do things, but no one would keep such OSes on their calculators for a long time because there's no point.
It was a typo, I'm using my phone.
And I understand and agree with your definition of finished, and my statement still stands.
SirCmpwn wrote:
It was a typo, I'm using my phone.
And I understand and agree with your definition of finished, and my statement still stands.
Fair enough. I have some questions about KnightOS and some deadlines I saw tossed around, but I'll ask in the appropriate thread.
The deadlines may have to be postponed again, as I am grounded once more Sad
I'm sorry to disappoint again. I'll try to get things under control with my rents as soon as possible.
SirCmpwn wrote:
The deadlines may have to be postponed again, as I am grounded once more Sad
I'm sorry to disappoint again. I'll try to get things under control with my rents as soon as possible.
Ah, sorry to hear. So to where will this push the deadline, and at that point what will be complete?
I can't give a new deadline until I know when I will no longer be grounded, but the new deadline will be 15 days after that date.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 2
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement