Commit Graph
100 Commits
Author SHA1 Message Date
Tom-on ed18f4ac4b IMPLEMENTED printf()!!!!!!!
It's kinda bad :/
2024-05-29 11:35:10 +02:00
Tom-on f4f89dd8ba Removed disk command, because it was half broken we don't need that 2024-05-29 09:57:06 +02:00
Tom-on 77d7c356e9 Added \ escape code support in echo command! 2024-05-28 20:43:30 +02:00
Tom-on 7a2afbd653 Implemented Escape Sequences!!!! 2024-05-28 20:42:03 +02:00
Tom-on 74c38342d7 Made memory/addresses.h more organised
Also didn't need to add stdio.h to any files so that's good!
2024-05-28 17:43:07 +02:00
Tom-on ff07696dc6 Continuing terminal I/O
- Made stdio.h work
- Moved printFiletable back into kernel.c
- TODO: Add stdio.h to all files that should use it (probably next commmit)
- Added some more global addresses. There's a memory layout, but i'm not using it
- Got cursor to be drawn
- Calc program now gets user input
2024-05-28 17:08:49 +02:00
Tom-on 536f6b2320 Began work on proper terminal I/O
- Chenged Puts() syscall to Write()
- Improved syscalls.h
- added a new header in terminal/terminal.h
- moved gfxMode into screen/gfxmode.h
2024-05-27 15:16:07 +02:00
Tom-on eac71f137e FINALLY Made calc.c work properly! Maybe i can now write a calculator app? 2024-05-26 18:57:09 +02:00
Tom-on 031744fbc2 Moved clock to top right corner! 2024-05-26 18:44:49 +02:00
Tom-on e9abfc2e4a Implemented Higher Half Kernel!
- Minor makefile chnages
- stage3.c "prekernel", sets up memory stuff and jumps to kernel
- kernel is now at 0xC0000000 - 3GB+ "higher half"
- Added some global variables in memory/addresses.h
2024-05-26 15:49:48 +02:00
Tom-on 01323c5874 Used filesys.h in kernel 2024-05-26 14:13:46 +02:00
Tom-on dd3b5c000f Added filesys.h header for better file r/w api 2024-05-25 10:08:06 +02:00
Tom-on 31469084d0 Updated screenshots 2024-05-24 18:37:21 +02:00
Tom-on 8245187356 Slighly changed everything :)
- Makefile changes
- Linker script updates
- Made it comply with C17
- Removed entry.asm (finally)
2024-05-24 18:25:26 +02:00
Tom-on f879ca122f Made malloc() and free()! They're in header stdlib.h as syscalls 3 & 4. 2024-05-24 18:08:33 +02:00
Tom-on f009bbdac9 Started using virtual memory manager in kernel. Also changes read() function to accept a char* to write to 2024-05-24 15:47:45 +02:00
Tom-on 978ada55ca Merge branch 'master' of https://github.com/Tom-on64/kern
Made some changes from my phone and needed to merge it to the main
branch
2024-05-23 20:54:20 +02:00
Tom-on e728571393 Finished Virtual Memory Manager!!! Paging etc. now works perfectly*
*i have no idea if it works right, but it doesn't seem to be broken
2024-05-23 20:53:15 +02:00
Tom-on 2072c8fe53 Began work in Virtual Memory Manager! 2024-05-23 17:26:56 +02:00
Tom-on dcbf24beae Added pcspk.h for PC Speaker and notes.h that contains notes and their frequencies 2024-05-19 17:05:53 +02:00
Tom-on 347bf17586 Added a very bad stdio.h 2024-05-19 17:04:39 +02:00
Tom-on 2b9148abee Added temporary Gets() Syscall 2024-05-19 14:05:20 +02:00
Tom-on 00ad779e27 Modified the displayed Real Time Clock 2024-05-19 11:23:37 +02:00
Tom-on d22536423c Fixed read() being able to backspace even if there's nothing to backspace 2024-05-19 10:56:17 +02:00
Tom-on 9812f3f58d Improved keyboard IRQ handler, added getc() function, improved read() 2024-05-15 20:06:38 +02:00
Tom-on dba9e5889b Changed todo.txt 2024-05-08 16:57:24 +02:00
Tom-on daa6d35045 Added Real Time Clock. Time is now being shown at the top 2024-05-08 16:54:25 +02:00
Tom-on a97ac11d70 Minor documentation change 2024-05-08 09:41:07 +02:00
Tom-on b6d1d42ed2 Added temporary Puts() syscall to print a string. I use it in calc to print a message 2024-05-08 09:09:31 +02:00
Tom-on 7826b9b7d4 Include file restructure!
- include/ now has subdirs
- standard C headers will be in 'include/c'. Any program can include these
- all other header shall only be used by the kernel
2024-05-07 21:01:50 +02:00
Tom-on 41e0b93f52 Reimplemented PIT Timer. Sleep is now a syscall. Also made docs/ that contains some info so i don't forget. 2024-05-07 20:25:48 +02:00
Tom-on e617f4fe69 Moved kernel from 0x1000 to 0x50000 2024-05-07 17:11:44 +02:00
Tom-on e39bc2cabc Minor fix 2024-05-06 20:09:28 +02:00
Tom-on b2248f1a7d Changed every include for using '#include "header.h"' to use '#include <header.h>', also got the keyboard and timer working again 2024-05-06 19:57:53 +02:00
Tom-on 1d71a4e384 [ BIG CHANGE ] Properly Implemented IDT
- New include files: idt.h, pic.h, syscall.h and exceptions.h
- Proper exception handling (still could be improved
- PIC properly initiated and irqs all masked
- BREAKS Keyboard - The keyboard IRQ is not handled anymore
- convertColor() is kinda broken :/ (More in README.md)
2024-05-05 21:03:21 +02:00
Tom-on 29418eb46b Minor printing optimizations 2024-05-02 20:20:51 +02:00
Tom-on 9a2d0484b1 Minor change 2024-05-02 17:51:53 +02:00
Tom-on b19400fe33 Made clear() faster! 2024-05-02 17:49:29 +02:00
Tom-on 906ce6d160 Made scrolling substantually faster 2024-05-02 17:37:58 +02:00
Tom-on 5d67e12fe2 Removed hardcoded resolution 2024-05-02 14:47:23 +02:00
Tom-on 0fbb5aae07 ADDED SCROLLING!!!!!\n(It's so fucking slow) 2024-05-02 14:41:12 +02:00
Tom-on 07ac2caeb7 Changed todo.txt 2024-05-02 13:13:42 +02:00
Tom-on 8664855d81 Changed default font to Termius 8x16 (old font is still there) 2024-05-02 13:10:40 +02:00
Tom-on 12de6c5b74 Finished gfx mode selection thing 2024-05-02 11:42:09 +02:00
Tom-on 7489f70f74 Added setup retry and removed config.asm because i won't use it 2024-05-02 11:19:43 +02:00
Tom-on e305764cde Added setup screen on bootup. Also added src/config.asm, where you can configure some stuff 2024-05-02 11:09:05 +02:00
Tom-on 6d0c07568f Improved shell by adding font changing. Type the font file you want to change to and it will! 2024-05-02 10:02:48 +02:00
Tom-on 4a620a2e45 Made input text go to next line when it runs out of space instead of just wrapping around 2024-05-02 10:01:26 +02:00
Tom-on 437b423d19 Fixed boundaryFill (sorta, circle is still broken, idk why) 2024-05-01 21:04:17 +02:00
Tom-on 953fe9b59a I forgot to change 800x600 8bpp mode back to 1920x1080 32bpp when i was testing 2024-04-29 20:45:22 +02:00
Tom-on 02107fca9d Screen.h now fully supports most bpp values (8-bit is kinda bad, but is works) 2024-04-29 20:44:05 +02:00
Tom-on 98ea7e6280 Made screen.h more generic, instead of just assuming 1920x1080 32bpp mode 2024-04-29 19:38:51 +02:00
Tom-on 642a5e2599 Made screen.h use correct resolution instead of assuming 2024-04-26 13:32:26 +02:00
Tom-on e8c25ba41e Updated screenshots 2024-04-26 12:18:21 +02:00
Tom-on 9032052e23 Minor changes 2024-04-26 12:11:44 +02:00
Tom-on c3d2ccd90d OS now allocs memory for called files. Slightly improved screen.h 2024-04-26 11:50:37 +02:00
Tom-on 2b7426b88f Added 'memmap' command 2024-04-26 09:58:08 +02:00
Tom-on b320bac033 Started using physical memory manager in kernel 2024-04-26 09:51:57 +02:00
Tom-on 886966eff5 Modified font 2024-04-26 09:51:25 +02:00
Tom-on 753c983c9d Created physical memory manager. moved printMemoryMap to kernel 2024-04-25 21:06:22 +02:00
Tom-on 71be1523b3 Moved memory map stuff into physicalMemManager.h (should name it better) 2024-04-25 19:19:50 +02:00
Tom-on bd7889f22a Added printing memory map 2024-04-25 19:03:35 +02:00
Tom-on f3c41cc6de Started working on Physical memory map for memory manager 2024-04-24 20:14:35 +02:00
Tom-on 0b153f4571 Modified src/calc.c 2024-04-24 19:20:02 +02:00
Tom-on 7576cbf6fa Added rounding macros and constants to math.h 2024-04-24 14:00:19 +02:00
Tom-on ec9ede2ba9 Changed todo.txt 2024-04-21 18:21:44 +02:00
Tom-on 26cefb5916 Got .bin file execution working (badly). Will need to do something with syscalls probably 2024-04-21 18:09:55 +02:00
Tom-on 6e44e5d729 Changed todo.txt 2024-04-21 17:20:37 +02:00
Tom-on 3d92f18d63 Added graphics.h header file for 2D graphics. Also since it adds a lot, i had to increase kernel size from 10kB to 15kB 2024-04-21 16:56:22 +02:00
Tom-on 896f9f5fe0 Minor changes 2024-04-19 16:16:54 +02:00
Tom-on 2a864eb366 Made text 2x bigger so it's readable!\nProbably should find a better way to do this 2024-04-19 15:45:54 +02:00
Tom-on 018e5809f6 Updated images\nAlso moved kernel.ld into src/ 2024-04-19 15:21:36 +02:00
Tom-on da1ab4d6ff Added cursor rendering (kinda badly, will delete any characters under it) 2024-04-19 14:10:45 +02:00
Tom-on 889f283fcd Fixed backspace in new printing 2024-04-19 13:56:15 +02:00
Tom-on 12c0fafa1f Implemented custom font and text drawing in VBE graphics mode! No colors :( 2024-04-19 13:23:55 +02:00
Tom-on 5d517b1654 Implemented VESA Bios Extension thing. Now in 1920x1080 32bpp mode! [NO MORE TEXT OUTPUT] 2024-04-18 16:53:39 +02:00
Tom-on 052b668d98 Started working on multistage bootloader. Added VBE data in stage2.asm 2024-04-17 17:23:09 +02:00
Tom-on bc6b0ec292 Some documentation/README updates 2024-04-15 19:01:08 +02:00
Tom-on a8ca1cf2b1 If you type a filename into the shell, it will print out the file (even .bin files) 2024-04-15 16:21:16 +02:00
Tom-on 885c987fdb Added filetable!!!!
Also did more Makefile changes
2024-04-14 20:30:07 +02:00
Tom-on 8b6996cab8 Switched to using make instead of a build.sh script 2024-04-14 18:48:15 +02:00
Tom-on b449663016 Removed some stupid MacOS metafiles 2024-04-14 18:35:40 +02:00
Tom-on 90ac82eebc Project restructure (no new code added)
Moved all header files into include/ and removed their C counterparts -> code inside .h files
Also added a kernel.ld linker file
since we don't have many code files in src/ now, i removed src/kernel/
only real code change is that i moved memcopy() and memset() into string.h from system.h
2024-04-14 18:27:53 +02:00
Tom-on 60cca470b4 Added todo.txt 2024-04-14 16:20:21 +02:00
Tom-on 5b19a47ce8 Added basic tests to shell with the test command 2024-04-11 19:05:34 +02:00
Tom-on 92b6a8285c Changed test.txt 2024-04-11 14:53:57 +02:00
Tom-on ebe7ef26ee Implemented diskWrite() function!\nWe finally have disk operations!! Get ready for the filetable :) 2024-04-11 14:52:30 +02:00
Tom-on 4d6dc13762 Improved shell by adding disk command (currently read only) 2024-04-11 13:12:58 +02:00
Tom-on 3441b31900 Added atoi() function to string.h header 2024-04-11 13:12:13 +02:00
Tom-on 5da2476852 Fixed diskRead() function and made it follow the defined standards. \nAlso made a temp fix to the disk.c issue (it's something about the disk.o obj file idk 2024-04-11 12:25:38 +02:00
Tom-on 64a1ec09f1 Added shell example 2024-04-09 20:21:06 +02:00
Tom-on 78367d56d6 FINALLY Added Disk support!!! f_disk.c name explanation in README.md
Disk reading only, but it works!
2024-04-09 20:18:03 +02:00
Tom-on eb97401ac0 Improved build.sh script 2024-04-09 20:15:16 +02:00
Tom-on 1b310868a4 Implemented a basic shell 2024-04-09 17:22:05 +02:00
Tom-on 54c49f7e7d Added some string.h functions 2024-04-08 20:19:26 +02:00
Tom-on b6f78ed9c1 Added scrolling (finally) 2024-04-08 19:28:00 +02:00
Tom-on 9c9398309f Modified docs/main.md 2024-04-02 20:19:54 +02:00
Tom-on fd002cdbe1 Added some documentation 2024-04-02 20:18:35 +02:00
Tom-on 6064b7d406 Added disk reset to bootloader 2024-03-13 20:35:52 +01:00
Tom-on 53972e3f3a Finally made read() in keyboard.h header 2024-03-12 16:35:31 +01:00