Skip to content

Releases: mrgian/felix

Felix 0.4.0

14 Jun 15:41
188d627
Compare
Choose a tag to compare

Bootloader

  • boots (you don't say!)
  • BIOS compatible (also works on UEFI with CSM enabled)
  • Global Descriptor Table loading
  • Unreal Mode switching (to use 32bit addresses in 16bit Real Mode)
  • kernel copying from disk to protected memory
  • 32bit Protected Mode switching
  • kernel jumping

Kernel

  • Interrupt Descriptor Table loading
  • CPU exceptions handler
  • Programmable Interrupt Controller driver
  • keyboard driver
  • ATA disk driver
  • FAT16 filesystem file read
  • timer interrupt driven CPU scheduler
  • prints system call that writes to VGA text buffer
  • task manager
  • round robin CPU scheduler

Shell

Available commands:

  • help shows available commands
  • ls lists root directory entries
  • cat displays content of a file
  • test tests CPU scheduler with dummy tasks
  • run loads file as task and adds it to the task list
  • ps lists running tasks
  • rt removes specified task

libfelix (standard library)

  • print! macro able to print formatted text to screen

How to run

Run it in QEMU using qemu-system-i386 -drive file=disk.img,index=0,media=disk,format=raw,if=ide

Felix 0.3.1

09 Apr 21:44
Compare
Choose a tag to compare

Bootloader

  • boots (you don't say!)
  • BIOS compatible (also works on UEFI with CSM enabled)
  • Global Descriptor Table loading
  • Unreal Mode switching (to use 32bit addresses in 16bit Real Mode)
  • kernel copying from disk to protected memory
  • 32bit Protected Mode switching
  • kernel jumping

Kernel

  • print! macro able to write formatted text to VGA text buffer
  • Interrupt Descriptor Table loading
  • CPU exceptions handler
  • Programmable Interrupt Controller driver
  • keyboard driver
  • shell
  • ATA disk driver
  • FAT16 filesystem file read

Run it in QEMU using qemu-system-i386 -drive file=build/disk.img,index=0,media=disk,format=raw,if=ide

Felix 0.2.0

30 Mar 07:56
Compare
Choose a tag to compare

Bootloader

  • boots (you don't say!)
  • BIOS compatible (also works on UEFI with CSM enabled)
  • loads a basic Global Descriptor Table
  • switches to Unreal Mode (to use 32bit addresses in 16bit Real Mode)
  • copies kernel from disk to protected memory
  • switches to 32bit Protected Mode
  • jumps to kernel

Kernel

  • prints formatted text to screen by writing to VGA text buffer
  • loads a basic Interrupt Descriptor Table
  • has a basic handler for CPU exceptions

Run it in QEMU using qemu-system-i386 -drive id=disk,file=build/disk.img,if=none,format=raw -device ahci,id=ahci -device ide-hd,drive=disk,bus=ahci.0

Felix 0.1.0

09 Mar 08:59
Compare
Choose a tag to compare

Bootloader:

  • BIOS compatible (also works on UEFI with emulated BIOS)
  • can boot
  • can load kernel to memory
  • can execute kernel

Kernel:

  • has a println macro able to format any type of data

It doesn't do much but if you want to try it download the release and run it with QEMU:
qemu-system-i386 -drive file=disk.img,index=0,if=floppy,format=raw