
TEST kernel demo (Tom's Extremely Simple Tasker)
Feb. 17, 2004 snapshot

	Copyright (c) 2004 by Tom Novelli
	NO WARRANTY. USE AT YOUR OWN RISK.

This is just example code.  You're welcome to use it in your own projects,
and I don't even care if you give credit because it's not particularly
useful!  It is not, and never will be, a "real" operating system.  Hopefully
it will become a fun & useful programmer's OS, but it will never replace
Linux or Windows.  My intention is to demonstrate how simple an OS can be
when it's not written for other people - if it was, it would just be another
complicated OS that can't compete with Windows!  Please don't go there!

For further information, check tom.bespin.org or retroforth.org


OVERVIEW

The kernel is a single ELF relocatable object compiled from all the .S and
.C source files, and the whole thing is tacked onto the end of HEAD.ASM,
which is a minimal ELF relocator (allowing the kernel to be loaded at any
address).  DOS.ASM handles real/protected mode switching.

Text mode selection (disabled by default): You set the BIOS video mode in
DOS.ASM, and the resolution is detected in TT.S.  Mode numbers are 0x100
less than those used by Linux (see linux/Documentation/svga.txt).


COMPILING & RUNNING

It hardly does anything, but if you want to see if it works, boot DOS or
Win9x in clean mode (i.e., press Shift-F5 when DOS is starting) and run
K.COM.

To rebuild the kernel under Linux, you need NASM 0.98.36 and TCC 0.9.20
(your mileage may vary with other versions).  Just type './build'.

To compile with GCC, try './gccbuild'.  This doesn't quite work for me - the
kernel starts up, displays the text in file 2.C, then reboots.  Let me
know if you fix this, because I'd like to have GCC as an option for
'bootstrapping' this kernel, even though I prefer TCC.


THANKS

Fabrice Bellard, for TCC
Shawn Hargreaves, for Allegro (a major design influence here)
John S. Fine, for his excellent example OS code
Chris Giese, for picking up where John Fine left off
Charles Childers, for continuing RetroForth when I gave up on it
Paul Dufresne, for the original serial & mouse drivers in Retro 2
The NASM team
Linus Torvalds
Ken Thompson, Dennis Ritchie, Brian Kernighan, for C and Unix
Chuck Moore, Jeff Fox, Leo Brodie, Mark Manning IV, for Forth stuff
