Bananymous
|
f7eb85babd
|
Kernel: IDT exceptions print better errors now
|
2022-12-23 15:56:10 +02:00 |
Bananymous
|
d8fd6afd12
|
Kernel: Make TTY a class
|
2022-12-23 15:55:45 +02:00 |
Bananymous
|
3f7a61a4d2
|
Kernel: VESA driver has now second buffer for fast scrolling
This allows us to not read from video memory, since it was very slow
I also implemented fast path for graphics clearing and scrolling if bpp is 32
|
2022-12-20 14:02:44 +02:00 |
Bananymous
|
5e2680cade
|
Kernel: You can now disable APIC from the grub commandline
|
2022-12-20 11:57:09 +02:00 |
Bananymous
|
6732cabf20
|
BAN: StringView::Split now accepts a function
Original overload with char is not threadsafe anymore, but I don't
want to duplicate code :)
|
2022-12-20 11:50:32 +02:00 |
Bananymous
|
7ae00ac76e
|
BAN: Vector now has a Has() function
|
2022-12-20 11:38:29 +02:00 |
Bananymous
|
4c559f50a4
|
BAN: StringView::Split() now precomputes number of elements
We dont have to resize vector on PushBack()'s if we reserve required size
|
2022-12-20 11:37:28 +02:00 |
Bananymous
|
d5a068f90c
|
BAN: String and StringView don't have to compute strlen for equality
|
2022-12-20 11:36:01 +02:00 |
Bananymous
|
c82caacbaa
|
Kernel: Cleanup APIC code
APIC seems to work on my main machine, but not on other one
|
2022-12-20 04:45:46 +02:00 |
Bananymous
|
64a5a28ff0
|
Kernel: Add time since boot to Shell
|
2022-12-19 11:46:38 +02:00 |
Bananymous
|
c8866aa88b
|
Kernel: Move GDT and IDT assembly to inline assembly
|
2022-12-19 11:46:38 +02:00 |
Bananymous
|
0bdb01ee04
|
Kernel: Replace PIC with APIC
If APIC/IOAPIC is not found, we fallback to PIC
Interrupts don't seem to work on real hardware (?)
|
2022-12-19 11:46:25 +02:00 |
Bananymous
|
7efa5bfb75
|
Kernel: Shell backspace unicode detection cleanup
|
2022-12-16 11:53:59 +02:00 |
Bananymous
|
f244728d33
|
Kernel: Add unicode support
|
2022-12-16 03:55:13 +02:00 |
Bananymous
|
6fe0d04f07
|
Kernel: Implement basic VESA Graphics mode driver
We now support VESA Graphics mode with some bitmap fonts
|
2022-12-16 00:47:03 +02:00 |
Bananymous
|
9274c9ee2f
|
Kernel: Abstract TTY to use new VESA
|
2022-12-15 19:05:07 +02:00 |
Bananymous
|
930661619b
|
Kernel: Add more functionality to Shell
commands 'time', 'cpuid', 'random'
|
2022-12-15 17:29:35 +02:00 |
Bananymous
|
a2d38af37a
|
Kernel: Implement 'cpuid' and enumerations for features
|
2022-12-15 17:28:54 +02:00 |
Bananymous
|
9fa3d891e9
|
BAN: Vector now has a copy constructor
|
2022-12-15 17:28:12 +02:00 |
Bananymous
|
7bddcafadd
|
Kernel: Remove a lot of empty lines
|
2022-12-14 21:17:46 +02:00 |
Bananymous
|
c21766760b
|
Add strlen comparing back to StringView since it is not nullterminated
|
2022-12-13 22:45:51 +02:00 |
Bananymous
|
711ba19a82
|
Kernel: Add basic Shell to test functionality
|
2022-12-13 21:34:50 +02:00 |
Bananymous
|
f8224e55b1
|
Kernel: Force strlen compilation so BAN can use it
|
2022-12-13 21:33:54 +02:00 |
Bananymous
|
ced05ff5f2
|
BAN: use only memcmp when comparing string(view) with const char*
|
2022-12-13 21:32:51 +02:00 |
Bananymous
|
833a82c8d1
|
Kernel: Fix keymay brace/bracket to correct way around
|
2022-12-13 21:10:25 +02:00 |
Bananymous
|
bf7a320050
|
BAN: Fix Time format printing
|
2022-12-13 21:04:09 +02:00 |
Bananymous
|
5345b6b8c3
|
BAN: overloaded operator== for more types
|
2022-12-13 20:55:09 +02:00 |
Bananymous
|
fd6e0ed0f7
|
Kernel: debug printing now show system time correctly
|
2022-12-13 20:44:52 +02:00 |
Bananymous
|
d806778a6d
|
BAN: Formatter now passes arguments as const references
We used to take everything by value, since I wasn't sure if I wanted
to overload bigger types
|
2022-12-13 20:43:43 +02:00 |
Bananymous
|
cb6dee9d91
|
BAN: Implement more basic functionality
String has more features
StringView was implemented
Basic move semantics are now working
Added file for forward declarations
|
2022-12-13 20:41:32 +02:00 |
Bananymous
|
174daa3e02
|
Kernel: Keyboard event callback can now be registered later
|
2022-12-13 16:15:10 +02:00 |
Bananymous
|
941238830e
|
BAN: Now actually build libban :D
|
2022-12-13 16:13:38 +02:00 |
Bananymous
|
57b5e7ecf3
|
BAN: Add pragma once to String and Vector
|
2022-12-13 15:15:36 +02:00 |
Bananymous
|
b42469efd7
|
BAN: Vector now has Back() and Front() helpers
|
2022-12-13 15:08:12 +02:00 |
Bananymous
|
b491007eac
|
BAN: Default constructed string is now nullterminated
|
2022-12-13 15:07:35 +02:00 |
Bananymous
|
07f61d9b82
|
BAN: Implement basic vector
|
2022-12-13 14:43:58 +02:00 |
Bananymous
|
171a33bbcd
|
Kernel/BAN: Add weekday to Time structure and get it with RTC
|
2022-12-13 14:37:10 +02:00 |
Bananymous
|
00f230fcb2
|
BAN: Add basic String implementation
|
2022-12-13 14:37:10 +02:00 |
Bananymous
|
19307ce197
|
BAN: MUST() now returns the underlying value
|
2022-12-13 14:37:10 +02:00 |
Bananymous
|
b49a873d54
|
BAN: Add allocator/deallocator references for kernel/userspace
|
2022-12-13 13:40:54 +02:00 |
Bananymous
|
52c793bb5c
|
Kernel/BAN: Make Time a struct in BAN and add formatter to it
|
2022-12-13 12:37:26 +02:00 |
Bananymous
|
3cda527987
|
BAN: Rename BAN::Formatter argument overload thing
|
2022-12-13 12:30:48 +02:00 |
Bananymous
|
334abe6b27
|
Kernel: lol
|
2022-12-13 12:12:15 +02:00 |
Bananymous
|
68e88d9413
|
Kernel: Add clear() command public TTY API
|
2022-12-13 10:45:24 +02:00 |
Bananymous
|
e62a626b39
|
Kernel: Improve keyboard input by a lot
Seems to work on my 2 computerss
|
2022-12-13 10:45:06 +02:00 |
Bananymous
|
7ebe727a29
|
Kernel: Add RTC to get current time
|
2022-12-13 10:41:36 +02:00 |
Bananymous
|
835430e7b0
|
BAN: Move Formatter to new project called BAN
I also implemented basic ErrorOr and Queue
|
2022-12-13 10:39:57 +02:00 |
Bananymous
|
1283e74ee6
|
Kernel: Formatter now supports fill to length
|
2022-12-13 01:16:49 +02:00 |
Bananymous
|
2938c85c1a
|
Kernel: Makefile formatting
|
2022-12-13 00:59:53 +02:00 |
Bananymous
|
f6def7a747
|
Kernel: initialize every irq handler to nullptr
|
2022-12-13 00:57:48 +02:00 |