A small x86 operating system written in Assembly and C++.
Fun fact: The name comes from my orange cat!
- FAT32 File System - Full read/write support for FAT32 formatted disks
- Shell Interface - Command-line shell with essential utilities
- Text Editor - Built-in vi-like editor for file creation and editing
- Memory Management - Custom heap allocator and paging implementation
- Hardware Drivers - ATA disk controller, VGA text mode, keyboard, timer
Requirements:
nasm- Netwide Assembleri686-elf-gcc- Cross compiler for x86make- Build automationqemu-system-i386- For testing (optional)
Build the OS image:
makeRun in QEMU:
make runhelp- Display available commandsls- List files in current directorycat <file>- Display file contentsvi <file>- Edit or create a filemkdir <dir>- Create a directoryecho <text>- Print text to screenclear- Clear the screenmeminfo- Show memory usagereboot- Restart the systemhalt- Shutdown the system
Development happens on the v1.2 branch with incremental updates. Once all features are complete and stable, it will be merged to main as the official v1.2 release.
Planned features:
- Shell refactoring - Better command parsing and modular structure
- Vi editor improvements - Search/replace, syntax highlighting, undo/redo
- PC Speaker support - Basic beep and sound effects
- Code quality improvements - Better structure, documentation, and maintainability
- Networking stack - Initial TCP/IP implementation
See CHANGELOG.md for version history.
This project is licensed under the MIT License - see the LICENSE file for details.