Commit Graph

38 Commits

Author SHA1 Message Date
xnoe 7469925ef4 Added e820 to boot.asm 2021-10-10 17:05:57 +01:00
xnoe 010ea7eb1d Fixed bug with capitalisation 2021-09-25 17:51:18 +01:00
xnoe c235befa43 Completely changed how XnoeOS boots, organised the code somewhat, renamed kernel32 to kernel, now uses the 9 sectors after the boot sector to store a 32 bit stage2 loader. No longer spends unnecessary time in real mode. Updated atapio to properly account for the reserved sector count. 2021-09-25 16:31:19 +01:00
xnoe d617de6a0c Moved some files around in preparation for completely changing the way that booting works 2021-09-23 15:09:06 +01:00
xnoe 2c4c76d1e7 Added filename decoding to strings 2021-09-07 10:46:09 +01:00
xnoe ec314d7b1b We can now read from the disk in protected mode 2021-09-06 21:32:02 +01:00
xnoe b2e2cdb19b Add inw and outw commands in preparation for ATA-PIO support 2021-09-06 17:34:48 +01:00
xnoe c803f4a38e Added single split function, added error message to kernel32 2021-09-06 15:52:12 +01:00
xnoe 290794b885 Add string manipulation functions. Update Makefile accordingly. Add echo command to kernel32. 2021-09-06 15:36:44 +01:00
xnoe 26d231a7c9 Set BPB data from the BIOS, properly support loading data from sectors >63, calculate CHS addressing properly. Calculate certain important values rather than harcoding them. 2021-09-06 15:35:37 +01:00
xnoe 8f1e13e749 Added caps lock support to readline 2021-09-03 12:02:37 +01:00
xnoe d9d3abbf62 Moved IDT code wholely to idt.c, add keyboard read support, add readline function, updated Makefile accordingly. 2021-09-02 20:59:15 +01:00
xnoe a184efbc9f Added non_moving_put, fixed bug with int_to_ functions that would cause them to not properly convert "0" to a string. Added character printing to printf 2021-09-02 20:58:34 +01:00
xnoe b660fa1a0b We can now receive interrupts 2021-09-02 18:38:00 +01:00
xnoe 03e7647fc6 Updated Makefile, started splitting code in to multiple pieces. 2021-09-02 16:29:07 +01:00
xnoe a4d1679723 Added primitive printf implementation, can print decimal ints, hex ints and strings 2021-09-02 15:09:21 +01:00
xnoe 76e61b1d71 Linker script now makes use of kernel32_strap.asm in order to ensure that we enter the correct position in kernel32.bin, updated kernel32.ld, Makefile, etc accordingly. Added types.h for convenience. 2021-09-02 12:46:14 +01:00
xnoe 1905f3babd kernel32.bin is now written in C, make necessary modifications to Makefile, .gitignore, boot32.asm, etc to get this working 2021-08-31 22:50:10 +01:00
xnoe 07ef9774c2 Added program to enter load kernel32.bin, enter Protected Mode, and then execute kernel32.bin 2021-08-31 21:35:16 +01:00
xnoe 79fa2e4e60 Updated kernel to process all input as upper case 2021-08-31 14:31:35 +01:00
xnoe d9cc9a2fb6 Updated kernel and programs so that the segment in which programs are loaded and executed from is no longer fixed and is specified by the kernel 2021-08-31 12:15:23 +01:00
xnoe 514f07e009 Updated kernel to allow for inter-segment calls to functions. Use Unix Line Endings for the print function 2021-08-30 09:11:31 +01:00
xnoe a33c25d744 Added programs to properly test inter-segment file read and write 2021-08-30 08:11:11 +01:00
xnoe 703a23dfab Removed very broken and bad code that could've corrupted memory in other segments, updated hello.asm accordingly 2021-08-30 07:26:54 +01:00
xnoe df9f175662 Modified load_file to work directly from the stack 2021-08-30 07:02:01 +01:00
xnoe 14fcc32d79 Added interrupt handler 2021-08-29 21:50:27 +01:00
xnoe fa15c6f6d9 Added ability for kernel to load files from disk and execute them 2021-08-29 17:09:08 +01:00
xnoe 3e288a821e Added program to test loading other programs from disk 2021-08-29 16:23:27 +01:00
xnoe 7f2dd973f9 Fixed bug that caused kernel to be improperly loaded 2021-08-29 11:27:35 +01:00
xnoe 4f2e8c5cd3 Updated Makefile and .gitignore to allow for many other binaries to be added 2021-08-29 11:26:38 +01:00
xnoe 0dca50b0d4 Added README.md and LICENSE 2021-08-29 07:27:42 +01:00
xnoe 5fbe8c6886 strcmp is obsoleted by rep cmpsb 2021-08-29 07:00:41 +01:00
xnoe 378c199eab Updated Makefile and .gitignore to accomodate for FAT16 disk creation 2021-08-29 06:58:32 +01:00
xnoe ed9d22fb42 We now have FAT16 file loading support in the bootloader. 2021-08-29 06:58:12 +01:00
xnoe 6e7a6bfb1e All functions work now. Readline supports backspace properly. Etc 2021-08-28 12:29:50 +01:00
xnoe ef03c94f13 Added strcmp function 2021-08-28 07:55:26 +01:00
xnoe ba2db3a84b Fixed Makefile 2021-08-28 07:20:41 +01:00
xnoe ad942b3d8b Initial commit 2021-08-28 07:06:31 +01:00