################################################################################
##                                                                            ##
##                 Sample Minimal Graphical Operating System                  ##
##                                                                            ##
################################################################################


## Presentation

This is a minimal Operating System, with minimal graphical abilities.
It consists of two parts:
 - A bootsector, which is placed on the first sector of a 1.44MB floppy disk.
   It attempts to load the kernel image from a file named SAMPLEOS.IMG in the
   FAT12 filesystem on the floppy by using the BIOS. It then enables a video
   mode using the VGA BIOS, and switches to protected mode before giving control
   to the loaded kernel image. (bootsect.S)
 - A kernel image. It is just a flat binary file containing 32-bit code which is
   executed as a kernel. It contains startup code (startup.S) to setup an
   environment for the kernel to execute, and a C file (kernel.c) which contains
   the code and data for the kernel proper.

The graphical abilities of the kernel are limited to 3 functions:
	* clear() : Clears the screen with the given color
	* point() : Draws a point at given x and y coordinates, of a given color
	* box()   : Draws a box given a starting point, dimensions, and a fill color

NOTE: Constants for common colors are also provided, to simplify programming.


## Prerequesites

Building this program requires the following:
 * A GCC Cross-Compiler (recommended target is i586-elf, libgcc is not required)
   See http://wiki.osdev.org/GCC_Cross-Compiler
 * A Bourne Shell (GNU Bash/MSYS/Cygwin)

NOTE: The build script uses imdisk under Windows. If your tools are different, 
you will need to adapt it to use the software you're using.


## Building

First edit the build.sh shell script to match your system configuration, and
tools for building the floppy image.

Then, just run it as usual (./build.sh from the distribution directory) to build
the actual Operating System.


## Included pre-built files

The distribution includes a pre-built disk image (floppy.img) as well as a Bochs
configuration script to use the Bochs x86 emulator to run the system.


## Licensing

This material is not licensed, and placed in the public domain. No guarantee of
any kind is provided with it.

