Skip to content

Latest commit

 

History

History
17 lines (14 loc) · 989 Bytes

README.md

File metadata and controls

17 lines (14 loc) · 989 Bytes

Custom-OS

A custom, barebones 64-bit OS I'm learning to write from scratch using assembly and C++. So far it includes a simple bootloader and loads sectors from the disk into memory.

Tools and Software

  • Visual Studio 2019
  • Bochs for emulating a PC and x86 CPU for the OS to run on
  • NASM (Netwide Assembler)

To Run

To run, ensure Bochs is installed and run assemble.bat, which will generate an .flp floppy image usable in Bochs. Further configuration will be added later.

Current Features

Will add to this list as I flesh the project out.

  • Simple bootloader that displays a string in 16-bit real mode using interrupts
  • Loads sectors from the disk into memory to extend program space beyond the boot sector
  • Switches to 32-bit protected mode, including a GDT (flat model) and writes to video memory to display a simple string
  • Enables 64-bit long mode, implements simple identity paging and clears the video buffer