pritamzope / OS

Writing & Making Operating System and Kernel parts so simple like Hello World Programs, Starting from writing Bootloaders, Hello World Kernel, GDT, IDT, Terminal, Keyboard/Mouse, Memory Manager, HDD ATA R/W, VGA/VESA Graphics
http://createyourownos.blogspot.com
663 stars 103 forks source link
assembly bootloader graphics hello-world kernel kernel-development kernel-driver operating-system os osdev x86-assembly x86-nasm

OS

Simple Operating System programs starting from Bootloader in assembly to Kernel in C, and other programs like OS Calculator, Low Level Graphics etc.

Kernel contains C programs for Simple HelloWorld, Keyboard I/O etc... and little bit assembly programs for low level operations.

VGA contains C kernel and assembly program for seeting up Video Graphics Array(VGA) and drawing some basic shapes by ploting pixels.

Tic-Tac-Toe a simple tic-tac-toe DOS game with boxes, Pong-Game using graphics

Requirements :-

(install following packages using apt-get)
1) GNU/Linux :- Any distribution
2) make :- make utility
3) Nasm :- NASM Assembler(nasm)
4) GCC :- GNU Compiler Collection, C compiler
5) xorriso :- A package that creates, loads, manipulates ISO 9660 filesystem images.(man xorriso)
6) grub-pc-bin: GRUB binaries and modules
7) mtools: utilities to access DOS disks in Unix
8) grub-mkrescue :- utility to make ISO image
9) QEMU :- Quick EMUlator to boot our kernel
10) VirtualBox :- A full graphical virtual environment

$ sudo apt-get install make nasm gcc grub-pc-bin mtools xorriso qemu qemu-system virtualbox

NEW KERNEL

A new modified source code has been added to "NEW KERNEL" directory. Compilation scripts are replaced with Makefile. Assembly code is replaced with NASM assembly rathen than GNU AS.

Order

  1]   Console
  2]   GDT
  3]   IDT
  4]   TSS
  5]   Keyboard
  6]   Terminal
  7]   Timer
  8]   Mouse
  9]   FPU
10]   Memory Info
11]   Physical Memory Manager
12]   KHeap
13]   Paging
14]   ATA read/write
15]   BIOS 32
16]   VGA
17]   VESA VBE
18]   Bitmap Text