On Mon, 2 Jan 2017, Nick Downing wrote:
Yes, I agree, I want to do exactly that. And, I know
my ideas are
probably also perceived as daft. But it's OK :)
Unfortunately a C interpreter does not really work in principle,
because of the fact you can jump into loops and other kinds of abuse.
So the correct execution model is a bytecode.
I was mainly looking at UCSD Pascal as a model, which iirc uses a bytecode
optimized for Pascal. C isn't too different so the major difference is
probably its implementation of pseudothreads/multitasking, which I don't
think UCSD Pascal supported (at least on the Apple ][ where it was
actually somewhat common).
Well, there's also the issue of UCSD Pascal having a really braindead
filesystem (even MS-DOS 1.25 was more advanced).
I guess the question would be, what precisely would be needed for a
reasonably simple Unix-alike (I suppose V7 would be a good initial
target?) to be run on such, and then I'd have to figure out how to come up
with the system from that. Not exactly my strong point =P
That said, it would perhaps result in being able to run a (slow)
Unix-alike on smaller systems which might not otherwise be able to run
such an OS because of CPU limitations - like the Apple //e I have
collecting dust off in the back room. ;)
-uso.