Tom-on
1257ecc1cc
Made 'ls' real and not just a bunch of hardcoded printf calls
2024-08-16 08:19:01 +02:00
Tom-on
bab4b308f9
Began working on file I/O through stdio.h. Wrote most of the code needed in stdio.h. Next up is writing the syscall handlers.
2024-08-14 14:32:44 +02:00
Tom-on
40e84e5b70
Finished custom filesystem and got it to boot normally
2024-08-14 10:43:12 +02:00
Tom-on
d37abb7b65
Moved bigError()
2024-08-13 15:20:13 +02:00
Tom-on
f8e03d9024
Added bigError()
2024-08-13 15:13:17 +02:00
Tom-on
be6b65863f
Implemented custom filesystem and got it to compile. It seems that it isn't loading the 3rd stage bootloader though
2024-08-12 16:30:45 +02:00
Tom-on
044b1eceac
Added Filesystem Specification
2024-07-31 13:05:16 +02:00
Tom-on
16046a306d
Modified Makefile
2024-07-30 21:16:58 +02:00
Tom-on
105076a8ce
Commited some old changes, idk what they were
2024-07-30 21:07:05 +02:00
Tom-on
8e004221e1
Added a regs command to print register values
2024-06-03 10:18:52 +02:00
Tom-on
07e946221f
Minor Makefile changes
2024-06-03 09:33:57 +02:00
Tom-on
9c96636436
Got the OS to boot from new disk image
...
- Pretty much rewrote stage1.asm
- Changed some addresses in stage2.asm and in memory/adresses.h
- Changed stage3.c to read root INode and it's dirEntries to find kernel.bin and term16n.fnt
- Made a fake ls command in kernel.c, just so it prints something
- Fixed makedisk.c to make the disk image properly
- Changed Makefile to compile makedisk.c and then run makedisk
- Added makedisk executable to .gitignore
2024-06-02 19:09:33 +02:00
Tom-on
d689361b7b
Fixed makedisk.c
2024-06-02 15:24:42 +02:00
Tom-on
d8fd8c0a29
Added fs/fs.h header for new filesystem and added a utility that builds it. The filesystem is not in use though
2024-06-01 12:25:32 +02:00
Tom-on
573299b799
Added an editor program. It doesn't edit anything yet :/
2024-05-31 10:22:08 +02:00
Tom-on
13bac619fc
Added int argc and char** argv
2024-05-31 10:19:05 +02:00
Tom-on
eef7bf1aa2
After all this time, I FINALLY implemented the calculator!
2024-05-30 17:46:05 +02:00
Tom-on
75410d3a6c
Made printf() good!
2024-05-30 10:30:39 +02:00
Tom-on
f4e8435603
Some printf() bug fixes
2024-05-29 12:00:02 +02:00
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