summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-07-26Move include files to a subdirectoryCarlos Maiolino
Move the include files to the toxic/ subdirectory, so it gets a bit more organized. Ah, yeah, OS name will be renamed to ToxicOS Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-25Build vga and string libsCarlos Maiolino
Also add a small test to the kernel code Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-25Add VGA text mode driverCarlos Maiolino
Add driver to deal with VGA text mode. Also adds a simple vprintl function while I don't implement a print library. Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-25Add string librariesCarlos Maiolino
Add a couple string lib functions to start with video text development. Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-21Fix boot.bin buildCarlos Maiolino
Previous patch TARGET variable definition got removed. I forgot to update its users.... Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-20Tidy up MakefileCarlos Maiolino
Remove some duplicate code by creating a few variables Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-20Add kernel.cCarlos Maiolino
Create the kernel.c file and its initial start_kernel(), and jump to it from the ASM. Also setup the build system to actually build it Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-20Force alignment of kerne code.Carlos Maiolino
It should be aligned to 16-bits IIRC, forcing the kernel.asm to be alined to a 512 byte boundary should suffice Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-20Add os.bin to makefileCarlos Maiolino
Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-17Add small ATA driver to load kernelCarlos Maiolino
Write ata_lba_read routine to load 100 disk sectors from the disk into memory address 0x00100000 (1MiB). Once the data is loaded, jump to that Address Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-17Start writing the kernel and add a linker scriptCarlos Maiolino
Move the code unders [BITS 32] label to its own file to be loaded as a kernel by the boot loader. Add a linker script to link the bootloader and the kernel in a single binary file. Add a build script to make it easier to use the cross compiler Update the Makefile to build everything and pack it into the os.bin Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-17Add build scriptCarlos Maiolino
Add a small script to use the cross compiler (from my machine), to build the kernel Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-17Enable A20 lineCarlos Maiolino
Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-17Restructure project folderCarlos Maiolino
Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-17Setup GDT and load protected modeCarlos Maiolino
Create a GDT table and use it to switch CPU into protected mode. This also gets rid of the print routines. Giving we won't have access to the BIOS interrupts once we switch the CPU to protected mode, they are pointless. Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-17Prepare for enabling protected modeCarlos Maiolino
Clean up all testing/playground code to prepare the bootloader to enable protected mode. Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-17Add gitignoreCarlos Maiolino
Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-17Remove interrupt tableCarlos Maiolino
Remove interrupt table setup and testing, IRQs will be added later on an interrupt descriptor table. For some reason once the exception is handled, the disk read fails, so just remove it for now Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-17Initial commitCarlos Maiolino
Add a bootloader and a hello message. Signed-off-by: Carlos Maiolino <[email protected]>