A DOS-like operating system for the x86 CPU architecture. Has support for multiple IDE drives (IDE primary master is always the boot/system drive). Input is recieved from a PS/2 keyboard and output is given through 16-color 80x25 character VGA. A series of programs come with the operating system, they can also be loaded onto the virtual drive by the automake macro if you desire to run SystemZero inside a virtual machine.
SystemZero is licensed under the glorious GPLv3 and can be cloned from here:https://github.com/z3r0flag/SystemZero.git
Main features of SystemZero:
- 80x25 character 16-color VGA display with support for color changing via the color command. TTY speed varies with computer so the keyboard character printing speed gets auto-calibrated at boot.
- PS/2 keyboard support with advanced features like shifting characters during erasing or inserting text where text already exists in front.
- Single processing with subprocess support (requires manual memory allocation but that gives the programmer a greater degree of power over how programs behave). All processes run in ring-0 or kernel mode.
- Filesystem also built from scratch (named ESFS or Even Simpler Filesystem). The maximum filesize is 896kb. No support for directories.
- Support for multiple IDE drives in ATA PIO mode. Commands are automatically ran from the system drive so that it it possible to switch drives in case a drive command is not present on the selected drive.
Basic usage of built-in shell utilities:
chain - (chain together commands) Syntax: chain $command1$command2$command3
cls - (clear the screen) Syntax: cls
color - (set the text console color scheme) Syntax: color [0 - 15 (bg)] [0 - 15 (fg)]
del - (delete a file) Syntax: del file.ext
drive - (select a drive) Syntax: drive [0 - 3 (drive code)]
drives - (list avaliable drives) Syntax: drives
edit - (edit a text file) Syntax: edit file.ext
hexedit - (edit a file in hex mode) Syntax: hexedit file.ext
format - (format selected drive) Syntax: format
copy - (copy a file) Syntax: src_drive_code:src_file dest_drive_code:dest_file
list - (list files on selected drive) Syntax: list
read - (dump text data from file onto console) Syntax: read file.ext [0 - ... (optional: read 512 byte chunk at given index)]
touch - (create a file) Syntax: touch file.ext
view - (view a file with the ability to scroll forward and back) Syntax: view file.ext
If you want to know details about building SystemZero from source, please take a look at this README document