FORTHOS: ======== A forth operative system (and, in the future, interpreter). This is based on : "A FORTH compiler and tutorial - a step-by-step implementation of a FORTH language system." on http://annexia.org/forth which is in public domain, and in Bran's Kernel Development Tutorial, by Brandon Friesen at http://www.osdever.net/bkerndev/Docs/title.htm Important: ROT and -ROT are swaped!! meens ROT used in "http://annexia.org/forth" is now -ROT (see also http://lambda-the-ultimate.org/node/2452 >> "ROT reversed?" "Am I crazy, or is ROT/-ROT swapped compared to the standard (as in Starting Forth)? By kotlinski at Thu, 2009-01-15 10:38 ") Port to nasm started by jdinuncio (José Dinuncio) August (augustulus@freenet) tested the kernel with qemu. CURRENT STATUS: =============== In this point, forthos initialize the GDT, IDT and PIT. It has drivers for text video and keyboard. Grub is used to load an simple text file as an 'module' to ram. (see http://lowlevel.brainsware.org/wiki/index.php/Multiboot) So at the time grub passes the control to main, in ebx the pointer to Multiboot-header is stored in var > module. The var_GRUB holds the adress of the header simply adding 0x18 we get pointer to 'mbs_mods_addr '. There is the beginning and end of the "module". Now simply show it ! REQUIREMENTS: ============= *) nasm *) GNU make *) python >= 2.4 *) qemu >= 0.11 GETTING FORTHOS: ================ To get forthos, you'll need git. You can get a copy from git@github.com:jdinuncio/forthos.git. In linux you can type: $ git clone git@github.com:jdinuncio/forthos.git COMPILATION: ============ $ cd forthos $ make clean $ make kernel $ make image INSTALATION AND RUNNING: ======================== forthos runs as a virtual machine inside qemu. It doesn't need to be installed and it doesn't touch any file outside its directory. To run it, type: $ make run