Manux is an open-source, single-tasking and minimalist hobby kernel written in Z80 assembly and C. Currently, the kernel supports basic IO, monotasking and has a simple filesystem, but new features will be added in the future. The kernel is designed to be loadable to memory via BASIC "bootloader".
The kernel is written in a combination of Z80 assembly and C, and can be built with the z88dk toolchain.
Manux can run very simple POSIX programs. However, it's not fully POSIX-compliant, so it may not work with some programs. Currently the supported features are input/output and fork.
I'm announcing a new update for Manux. Here are the core changes:
- Updated process creation logic in proc.asm to include process count checks. - Enhanced syscall handling in system_call.asm with new syscalls for file operations (open, close, create, execs). - Modified shell.c to integrate new file handling commands and improved terminal interaction. - Introduced file descriptor management in fd.cfor better resource handling. - Implemented device filesystem in devfs.c to manage device interactions. - Developed memory filesystem(MFS) in mfs.c. - Added bootloader in BOOT.bas and kernel initialization in kernel.c. - Created upload script upload.sh for automated kernel uploading via serial. - Updated syscall interface in syscall.c to support new functionalities. - Added debugging capabilities.