[Coco] Possible OS-9 Project
James Ross
jr at webross.com
Wed Oct 15 00:40:01 EDT 2003
As stated in my bio, I have wanted to contribute something to the CoCo
community for quite a while. I've been throwing around an idea for
some time, that's not really a new idea. Actually, since around the
time of a thread in bit.listserv.coco "The future of OS-9" last year.
The thread was about an open sourced OS-9 clone. From what I
understand, we have that today in the form of The NitrOS-9 Project.
Which is very cool by the way. I am not sure if the code is GPL'd or
not, but the source was available on SourceForge for quite some time,
and appears will soon be available on the NitrOS9.org site. However,
of course, this is for the CoCo. In the thread, I made the suggestion
for an OS-9 clone for the PC platform. After all, since the CoCo is
... Oh, no, no, don't say it :)
I realize that RadiSys offers an OS-9 version for the PC platform
already. It used to be called OS-9 / 9000, I don't know if it still
is. And that they have a free evaluation CD. However, I am guessing
there is a time limit on the evaluation license, and the real license
costs big bucks? Also, is this version of OS-9 a lot like the OS-9
versions available for the CoCo from a users standpoint or not? And
of course it is closed, proprietary source. Can't base the next Linux
competitor on that now can we?
Also, I am posting this here and not the comp.os.os9 because I believe
that many CoCo enthusiasts, including myself, were just as passionate
about OS-9 as the CoCo itself. Therefore, I would appreciate any
comments you all might have.
Here is what I envision:
- A free OS-9 Level I/II (work alike) that runs native in protected
mode on a Pentium Classic / PCI bus or better machine.
- It would be an open source GPL'd project. Hopefully, a community
project.
- It would be written in 100% Intel Assembly Language. Ok, I know,
this is heresy, but ... hey, assembly is assembly isn't it? Anyway,
when Motorola dropped the 6809 like syntax in the 680x0 series, I
thought that was heresy too! At that point I didn't feel like I needed
to stay loyal to Motorola anymore :) There will never be an assembly
language syntax we liked as much as the 6809!
- And here is where is applies to this group. It would have a binary
/ emulation compatibility mode that could run original CoCo OS-9 Level
I/II applications. Yet the file system, screen, and keyboard calls
would use the real physical devices and not emulated ones. Hence,
you could share the screen and data files amongst native 32 bit apps
and original CoCo OS-9 programs.
- It would be written in the same spirit that OS-9 was back in '80,
'82. Small, fast, and efficient. Absolutely no bloat. It would follow
the original principles as described in the "History and Design
Philosophy" paragraph in the System's Programmer's Manual. I think the
kernel might fit in 256K of RAM / ROM (I know that is a far cry from
8k but hey!).
- The design would match that of the System User's Guides and System's
Programmer's Manual as closely as possible. No more and no less (at
least for the final first version), but on an Intel, full 32bit
address space. The only feature not available on the 6809 that would
be added is task memory protection. So that the OS itself or other
programs would not be clobbered by a rogue app. Also the ticks could
probably be 1000 per second instead of 10.
- A clean room approach would be taken so that no one's copywrite
would be infringed upon. I personally have never scoured the OS-9
code available on SourceForge other than a casual look. If anyone
participated in this and was very familiar with the OS-9 source then
they would have to abstain from just translating the algorithms.
- I realize this might be a daunting project to get going. But once
past the steep learning curve of protected mode and the tasking model,
I think it would be fairly easy sailing. I've counted 88 total OS
calls. (uh-oh, 88 is bad karma! too Intelish!) 29 User calls, 42
System calls, and 17 I/O calls. That is somewhat simple compared to
what, a billion API & DLL calls in Windows. I am not sure how many
calls are in UNIX / Linux.
So there you have it. So that is what I am thinking about starting.
Is it worth it? I am not sure. It would be fun to try and tinker
with. I've longed for a desktop replacement to Windows, other than
Linux. This could be the foundation for such an OS. I am not a big
Linux fan on the desktop, whole other topic though.
Better quit dreaming and go to bed!
JR
More information about the Coco
mailing list