I have been slightly curious about OS-9 for years. I
wonder if I can
It's a very nice OS given the sort of machines it ran on.
It'smultitalksing and even multiuser, it's device-independant (like unix,
oyu can direct progam output to any device or to a file), it has a
directory tree structure (a lot of the OSes for 8 bit micros didn't have
subdirectories at all), and it's very modular (you can load new modules,
decvice drivers, etc even when the system is running). And that would run
on a 1MHz 680 with 64K RAM.
[..]
I've been Googling and reading up on BASIC09. It
certainly does sound
impressive, although a bit more primitive than BBC BASIC.
Did it have any graphics or sound facilities?
THe simple answer is 'no', but there's rather more to it that that.
Does C have grapgics or sound facilites? The only mentions of graphics I
can find in K&R is defining structs for points, rectangles, etc. The only
mention of sound I can fidn is that \a produces a bell character.
But of course we all know you can write graphics and sound programs in C.
There will generally be libraries of functions to perform particular
operations (plot a point, draw a line, fill an area, etc). You call those
from your C program.
One advantage of languages like C is thst there are extendable. You can
have libraries of extra functuions that cna be used like hte built-in
functions of the language. The same applies to to many other languages
(forth being an obvious example).
In genral, BASICs were not extendable like that. It is very difficult to
add new keywords ot a BASIC interpretter, and the way to do it is not
often docuemnted. Suppose you took a typicval 8 bit micro (say a C64 or a
Spectrum) and interfaced it to a high-resuloution grapgics unit. There's
no easy way to add or rewrite commands line LINE or SET.
BBC BASIC is a better. You can write soem PROGs to call machine language
routines (if necessary) to talk to your hardware. Even so, you have to
write some part of it in BASIC (the definitions of the PROCs), and the
names of the added commadns all start with PROC. But it's certianly a lot
nicer than most other BASICs.
But BASIC-09 lets you call add-on routines. They're essentially OS-9
modules. You could write hte graphics routines in any language you like
and call them from a BASIC-09 program. Adding graphics and sound routines
is entirely possible, just as it is in C.
-tony