My third attempt at OSDev. The fourth attempt is https://github.com/AlexDev404/Sapphire
A simple DOS like OS made in Assembly and C with a ported version of Stephen Brennan's [LSH](https://github.com/brenns10/lsh) Shell.Run sudo ./build.sh
.
To run the OS, you can download VM software.
A pre-built ISO image is in the ./out/
directory.
- Virtualbox
- VMware
- QEMU
- BOCHS
- Hyper-V
To run with this, simply insert the iso image outputted in ./out/
, and make sure to choose the other
option.
Run with qemu-system-x86_64 iso/MyOS.iso
.
.
|-- OLDFILES
| |-- kernel.c
| |-- shell.c
| `-- shell.h
|-- boot
| |-- boot.s
| |-- grub.cfg
| `-- linker.ld
|-- build
|-- cpu
| `-- cpuid
| |-- cpuid.c
| `-- cpuid.h
|-- drivers
| |-- acpi
| | |-- acpi.c
| | `-- acpi.h
| |-- ata
| | |-- ata.c
| | `-- ata.h
| |-- keyboard
| | |-- keyboard.c
| | |-- keyboard.h
| | `-- keycodes.h
| |-- mouse
| | |-- mouse.c
| | `-- mouse.h
| |-- pci
| | |-- pci.c
| | `-- pci.h
| |-- ports
| | |-- ports.c
| | `-- ports.h
| |-- rtc
| | |-- rtc.c
| | `-- rtc.h
| |-- screen
| | |-- screen.c
| | `-- screen.h
| |-- serial
| | |-- serial.c
| | `-- serial.h
| |-- sound
| | `-- pcspeaker
| | |-- pcspeaker.c
| | `-- pcspeaker.h
| `-- timer
| |-- timer.c
| `-- timer.h
|-- fs
| |-- fs.c
| |-- fs.h
| |-- initrd
| | |-- initrd.c
| | `-- initrd.h
| |-- tar.c
| |-- tar.h
| |-- vfs.c
| `-- vfs.h
|-- gdt
| |-- gdt.c
| |-- gdt.h
| `-- load_gdt.s
|-- idt
| |-- idt.c
| |-- idt.h
| |-- isr.c
| |-- isr.h
| `-- load_idt.s
|-- include
| |-- exit.c
| |-- exit.h
| |-- limits.h
| |-- math
| | |-- math.c
| | `-- math.h
| |-- printf.c
| |-- printf.h
| |-- stdarg.h
| |-- types
| | `-- types.h
| |-- utils.c
| `-- utils.h
|-- kernel
| |-- apps
| | |-- apps.c
| | |-- apps.h
| | |-- calculator
| | | |-- calculator.c
| | | `-- calculator.h
| | |-- cowsay
| | | |-- cowsay.c
| | | `-- cowsay.h
| | |-- man
| | | |-- man.c
| | | `-- man.h
| | |-- serialapp
| | | |-- serialapp.c
| | | `-- serialapp.h
| | |-- slang
| | | |-- slang.c
| | | `-- slang.h
| | |-- textedit
| | | |-- textedit.c
| | | `-- textedit.h
| | |-- xander
| | | |-- xander.c
| | | `-- xander.h
| | `-- xgui
| | |-- xgui.c
| | `-- xgui.h
| |-- fonts
| | |-- ChunkyMonkey
| | | |-- Atari8
| | | | `-- Chunky\ Monkey.fnt
| | | |-- BBC
| | | | |-- Chunky\ Monkey.bbc
| | | | `-- Preview-DFS.ssd
| | | |-- C64
| | | | |-- Chunky\ Monkey.bin
| | | | |-- Chunky\ Monkey.both.64c
| | | | `-- Chunky\ Monkey.upper.64c
| | | |-- Chunky\ Monkey.png
| | | |-- PC
| | | | |-- Chunky\ Monkey.bdf
| | | | |-- Chunky\ Monkey.psf
| | | | |-- Chunky\ Monkey.ttf
| | | | |-- Chunky\ Monkey.woff
| | | | |-- Chunky\ Monkey.woff2
| | | | `-- font.o
| | | |-- README.md
| | | `-- Spectrum
| | | |-- Chunky\ Monkey.ch8
| | | |-- Chunky\ Monkey.fzx
| | | |-- Chunky\ Monkey.tap
| | | `-- Chunky\ Monkey.z80.asm
| | |-- font.h
| | |-- fontdriver
| | | |-- fontdriver.c
| | | `-- fontdriver.h
| | `-- ibmfont.h
| |-- kernel.c
| |-- multiboot.h
| |-- panic.c
| |-- panic.h
| |-- pic
| | |-- pic.c
| | `-- pic.h
| `-- shell
| |-- lshell.c
| `-- lshell.h
|-- out
| `-- MyOS.iso
- Have any questions/requests/issues? Feel free to contact me at: alexdev404@protonmail.com.
I'm looking to extend it with additional features at this time. So I will be accepting any pull requests that are related to bug fixes and additional features that could be implemented.