forked from jdinunzio/forthos
-
Notifications
You must be signed in to change notification settings - Fork 3
x386 OS developed in Forth
License
august0815/forthos
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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 [email protected]:jdinuncio/forthos.git. In linux you can type: $ git clone [email protected]: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
About
x386 OS developed in Forth
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Forth 39.0%
- Assembly 38.9%
- Fortran 14.0%
- Python 7.6%
- Other 0.5%