• Stars
    star
    614
  • Rank 73,061 (Top 2 %)
  • Language
    C
  • Created about 6 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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