Last Edit: 22.07.2006 (DD.MM.YYYY)
If you are looking for install instructions, please see the file "INSTALL".
Ryu-x86 aims to act an awful lot like linux, without actually copying any code from linux. It is planned to be a hand written, stripped-down version of unix that is extensively documented and can be easily extended to other's needs.
People that helped me, whether they know it or not:
Defines:
- __CSYS_COLORS_
- If defined, supply your own system colors or template...
- __MATRIX_
- Matrix-ed Colors (yay).
- __MSDOS_
- Microsoft style.
- __CUSTOM_
- Define your own (see below).
- _CSYS_HEAD
- Ryu-x86 OS logo color.
- _CSYS_PROG
- Std program output color.
- _CSYS_SYS
- System output color.
- _CSYS_USER
- User Text color.
- _CSYS_ERR
- Error color.
- _CSYS_DEBUG
- Debugmode color.
- _CSYS_HDUMP
- Hex Dump color.
- _CSYS_DDUMP
- Raw Device Dump color.
- _CSYS_DTEST
- Device Testing Repeater/direct out Color.
- _CSYS_DHEAD
- Device Header Colors.
- _CSYS_DPASS
- PASS, or ON colors.
- _CSYS_DFAIL
- FAIL, or OFF colors.
- _CSYS_DINFO
- Info about a specific Device.
- _CSYS_DCHAR
- Repeating Character.
- _CSYS_STYLE
- Style Name.
- _CSYS_AUTH
- Style Author.
- __FAKE_MM_
- Do "Fake Memory Management" (aka a static array at compile time).
- __DEBUG_
- Displays a lot of extra info.
- __SLIM_
- Try to cut down kernel size. Mainly takes out the shell program stuff.
Currently Completed:
- Video "driver" (output).
- Keyboard driver.
- Multiboot header.
- PC speaker driver.
- Code to enable A20 gate. //thank you Mr. Xsism for your excellent tutorials!
- Working IDT. //again, thanks Mr. Xsism
- A working (not to be confused with good) Memory Manager.
- Interrupts, hardware and software.
- CPU detection.
Short Term Todo:
- Mouse Driver.
- Memory Manager. (kernel_malloc, krealloc, kernel_free, etc)
- Task Switching.
- File System (possibly FAT[12/16/32], definitely ext[2/3]).
- Documentation of the API.
- Write a GDT to boot from other (custom) loaders.
Long Term Todo:
- Dynamic library loading.
- X window system port would be awesome -- and awesomely difficult.
- aalib and curses port.
- GNU tools port is a must.
Thanks to: