FYSOS Loader Screenshots
The following screenshots are images of the FYSOS loader progressing through the loading stage.
This first one above, is simply loading a list of files, the kernel file being the first of the list.
This one shows that it decompressed the file, using the indicated technique, BZ2 for this file, and now is checking the result via a CRC check. All processes have a progress bar at the bottom of the screen. (Notice the Video Mode status has changed and is shown below)
At any time, the user can press one of the function keys to set a flag. One of these functions is to display the Help screen, shown above. The user previously pressed or displayed the help screen, then has pressed the F8 key, which is indicated on the status line. If the Help screen is not displayed, a function can only be set. If the Help screen is displayed, a function can be toggled on or off using the function's cooresponding key.
One of those functions is to allow the user to select the video mode to start FYSOS in. The above image also shows that it loaded a second file, using no compression, and its CRC check passed as well.
There is a little work to do. For example, I would like the user to be able to scroll through the pages of information printed, hence the scroll bar on the right. The text is saved in a buffer and has a start and end pointer, so the function is present. The only thing is the function of the actual scroll bar. I either need to have a key combination to scroll through, or write a small PS/2 mouse driver.
Windows are non-movable, even if I had a mouse driver. They are fixed in size and location. However, the functionality to move them is present if, again, I had a way to move them. :-)
The F9 function is to not change to the graphics mode selected, or if none selected, the one the loader chooses. This is so that if the kernel prints anything to the (text) screen before its graphic console is initialized, I can see it while debugging. The kernel has a text only console too. Pressing F9 will tell the kernel to use this text console and print directly to the screen video hardware. (Requires Legacy BIOS and Legacy VGA support).
Anyway, I show this to show that my loader works, which is built with Alex's SmallerC Compiler using unreal mode. The loader file is greater than 64k in size and works great.
Here is a 1.44m floppy image (uncompressed) showing it in action. Only the loader, kernel, and system file is included, so the kernel may only get so far. However, this will at least let you see the loader in action.
For what it is worth, the a.img is formated with the LeanFS file system.
More information on the whole FYSOS Operating System.