Okay, This page covers the actual implementation on various platforms/hardware,
as well as ideas for implementation, and how far these have been carried.
I've just decided that the best idea is to write it in as portable C as is
possible (Ansi standard, or something) and possibly pre-write it in Turbo
pascal (which I am familiar with, both the language, and the environment),
which means I can get the concepts right and working with VMS's, and then
port it to C, where it can be ported across to other environments. Once
I have a working VMS assembler, I can write it again, in itself, and from
then on, unless there are major changes, all work will be done in the VMS
language.
Okay, so here is the plan ;
(a) Write a pascal VMS assembler in its most basic form, which compiles a simple32 bit, non-protected mode assembly language into 386 assembler.
(b) Write the VMS assembler in itself, running it under the pascal environment.
(c) Port the pascal program to C, and run the VMS assembler under it, making sure that it, can compile itself.
(c) Make incremental advancements to the VMS assembler in its own language.
(d) Make a VMS for protected mode 386 assembly.
(e) Compile the C program in protected mode, then run the VMS assembler in pmode.
(f) Program should run the same with no changes by this point.
(g) write basic disk and screen device drivers (_basic_) or VMS's -whats apt.
(h) write startup task manager.
(i) C program gives task manager control after compiling VMS assembler - and
then using it to compile rest of programs.
(j) OOAS is ready to run. Next to write is a protection mechanism, then
a pre-emptive scheduler.
_Then_ a boot loader, and _Then_ the operating
system is ready to become real.
Next is a Filesystem, proper device drivers,windowing system, OverView, and finally ... who knows ... the graphic
program developers, and then some apps, and we're there.
Details of Implementation ;
DATE
30-1-97 I've decided to write the whole thing in DJGPP. I just got the
Basic development set down, plus some sample programs. I'm not
familiar with DJGPP, but C was practically my first programming
language after Basic, a long time ago, so it shouldn't take me
long to master it again. The good thing is there is a lot of
source code for DJGPP out there, and the compiler is free, as well
as very portable (isn't it a port of GCC ?)
I'm thinking also about starting work on a gui system in interpreted
mode - this should be easily ported to the system when its up and
running, giving me a nice head start on the graphical development
environment thingy !