fc05642b74 
								
							 
						 
						
							
							
								
								Kernel: Make Render from buffer public tty function  
							
							
							
						 
						
							2022-12-30 19:57:44 +02:00  
				
					
						
							
							
								 
						
							
								b60af90538 
								
							 
						 
						
							
							
								
								BAN: Add min, max and clamp  
							
							
							
						 
						
							2022-12-30 19:52:16 +02:00  
				
					
						
							
							
								 
						
							
								ef0b2010e0 
								
							 
						 
						
							
							
								
								Kernel: Add basic PS/2 Mouse driver  
							
							
							
						 
						
							2022-12-30 19:38:21 +02:00  
				
					
						
							
							
								 
						
							
								3c92aa45fb 
								
							 
						 
						
							
							
								
								Kernel: 'cpuinfo' command in shell now shows wheter you are running on 64-bit cpu  
							
							
							
						 
						
							2022-12-28 19:46:37 +02:00  
				
					
						
							
							
								 
						
							
								267367333e 
								
							 
						 
						
							
							
								
								Kernel: Move paging code to a helper  
							
							
							
						 
						
							2022-12-28 19:01:01 +02:00  
				
					
						
							
							
								 
						
							
								06a4ef1d87 
								
							 
						 
						
							
							
								
								Kernel: Commandline parsing does not depend on kmalloc anymore  
							
							
							
						 
						
							2022-12-28 04:17:46 +02:00  
				
					
						
							
							
								 
						
							
								5d7a767f8b 
								
							 
						 
						
							
							
								
								Kernel: Enable basic paging  
							
							
							
						 
						
							2022-12-28 04:17:34 +02:00  
				
					
						
							
							
								 
						
							
								3e8590687f 
								
							 
						 
						
							
							
								
								Kernel: Cleanup code and move kmalloc initialization to later  
							
							
							
						 
						
							2022-12-28 04:16:21 +02:00  
				
					
						
							
							
								 
						
							
								2a65c5fd0f 
								
							 
						 
						
							
							
								
								Kernel: Shell now actually prints to its TTY  
							
							
							
						 
						
							2022-12-27 20:11:49 +02:00  
				
					
						
							
							
								 
						
							
								f0fd62c703 
								
							 
						 
						
							
							
								
								BAN: Strings can now be constructed using BAN::Formatter  
							
							
							
						 
						
							2022-12-27 20:01:05 +02:00  
				
					
						
							
							
								 
						
							
								fd4fdffd46 
								
							 
						 
						
							
							
								
								BAN::Formatter now takes putc like function as a parameter  
							
							... 
							
							
							
							This allows us to use capturing lambdas as a putc like function 
							
						 
						
							2022-12-27 19:55:07 +02:00  
				
					
						
							
							
								 
						
							
								98fc72b0d0 
								
							 
						 
						
							
							
								
								Kernel: kmalloc now aligns everything by alignof(max_align_t)  
							
							... 
							
							
							
							kmalloc properly aligns everything now.
I also changed so that kmalloc addresses are stored as uintptr_t
instead of void* or uint8_t* for easier arithemetic and less casting 
							
						 
						
							2022-12-27 19:07:20 +02:00  
				
					
						
							
							
								 
						
							
								9169020ad2 
								
							 
						 
						
							
							
								
								Kernel: Remove unnecessary checks from GraphicsPutCharAt()  
							
							
							
						 
						
							2022-12-27 18:29:51 +02:00  
				
					
						
							
							
								 
						
							
								620b836fc3 
								
							 
						 
						
							
							
								
								Kernel: VESA now somewhat handles Cursor in Graphics mode  
							
							
							
						 
						
							2022-12-27 18:29:02 +02:00  
				
					
						
							
							
								 
						
							
								2d46281c16 
								
							 
						 
						
							
							
								
								Kernel: TTY scroll is now done using memmove  
							
							... 
							
							
							
							This will be faster when memory functions will be optimized 
							
						 
						
							2022-12-27 17:45:47 +02:00  
				
					
						
							
							
								 
						
							
								5ae1fc58e9 
								
							 
						 
						
							
							
								
								Kernel: Clean code in tty and vesa  
							
							
							
						 
						
							2022-12-27 17:22:45 +02:00  
				
					
						
							
							
								 
						
							
								2535eb1c4c 
								
							 
						 
						
							
							
								
								Kernel: TTY now handles keeping terminal buffer  
							
							... 
							
							
							
							VESA Driver cannot scroll anymore, this is handled by tty 
							
						 
						
							2022-12-27 17:06:33 +02:00  
				
					
						
							
							
								 
						
							
								f7eb85babd 
								
							 
						 
						
							
							
								
								Kernel: IDT exceptions print better errors now  
							
							
							
						 
						
							2022-12-23 15:56:10 +02:00  
				
					
						
							
							
								 
						
							
								d8fd6afd12 
								
							 
						 
						
							
							
								
								Kernel: Make TTY a class  
							
							
							
						 
						
							2022-12-23 15:55:45 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								5e2680cade 
								
							 
						 
						
							
							
								
								Kernel: You can now disable APIC from the grub commandline  
							
							
							
						 
						
							2022-12-20 11:57:09 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								7ae00ac76e 
								
							 
						 
						
							
							
								
								BAN: Vector now has a Has() function  
							
							
							
						 
						
							2022-12-20 11:38:29 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								d5a068f90c 
								
							 
						 
						
							
							
								
								BAN: String and StringView don't have to compute strlen for equality  
							
							
							
						 
						
							2022-12-20 11:36:01 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								64a5a28ff0 
								
							 
						 
						
							
							
								
								Kernel: Add time since boot to Shell  
							
							
							
						 
						
							2022-12-19 11:46:38 +02:00  
				
					
						
							
							
								 
						
							
								c8866aa88b 
								
							 
						 
						
							
							
								
								Kernel: Move GDT and IDT assembly to inline assembly  
							
							
							
						 
						
							2022-12-19 11:46:38 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								7efa5bfb75 
								
							 
						 
						
							
							
								
								Kernel: Shell backspace unicode detection cleanup  
							
							
							
						 
						
							2022-12-16 11:53:59 +02:00  
				
					
						
							
							
								 
						
							
								f244728d33 
								
							 
						 
						
							
							
								
								Kernel: Add unicode support  
							
							
							
						 
						
							2022-12-16 03:55:13 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								9274c9ee2f 
								
							 
						 
						
							
							
								
								Kernel: Abstract TTY to use new VESA  
							
							
							
						 
						
							2022-12-15 19:05:07 +02:00  
				
					
						
							
							
								 
						
							
								930661619b 
								
							 
						 
						
							
							
								
								Kernel: Add more functionality to Shell  
							
							... 
							
							
							
							commands 'time', 'cpuid', 'random' 
							
						 
						
							2022-12-15 17:29:35 +02:00  
				
					
						
							
							
								 
						
							
								a2d38af37a 
								
							 
						 
						
							
							
								
								Kernel: Implement 'cpuid' and enumerations for features  
							
							
							
						 
						
							2022-12-15 17:28:54 +02:00  
				
					
						
							
							
								 
						
							
								9fa3d891e9 
								
							 
						 
						
							
							
								
								BAN: Vector now has a copy constructor  
							
							
							
						 
						
							2022-12-15 17:28:12 +02:00  
				
					
						
							
							
								 
						
							
								7bddcafadd 
								
							 
						 
						
							
							
								
								Kernel: Remove a lot of empty lines  
							
							
							
						 
						
							2022-12-14 21:17:46 +02:00  
				
					
						
							
							
								 
						
							
								c21766760b 
								
							 
						 
						
							
							
								
								Add strlen comparing back to StringView since it is not nullterminated  
							
							
							
						 
						
							2022-12-13 22:45:51 +02:00  
				
					
						
							
							
								 
						
							
								711ba19a82 
								
							 
						 
						
							
							
								
								Kernel: Add basic Shell to test functionality  
							
							
							
						 
						
							2022-12-13 21:34:50 +02:00  
				
					
						
							
							
								 
						
							
								f8224e55b1 
								
							 
						 
						
							
							
								
								Kernel: Force strlen compilation so BAN can use it  
							
							
							
						 
						
							2022-12-13 21:33:54 +02:00  
				
					
						
							
							
								 
						
							
								ced05ff5f2 
								
							 
						 
						
							
							
								
								BAN: use only memcmp when comparing string(view) with const char*  
							
							
							
						 
						
							2022-12-13 21:32:51 +02:00  
				
					
						
							
							
								 
						
							
								833a82c8d1 
								
							 
						 
						
							
							
								
								Kernel: Fix keymay brace/bracket to correct way around  
							
							
							
						 
						
							2022-12-13 21:10:25 +02:00  
				
					
						
							
							
								 
						
							
								bf7a320050 
								
							 
						 
						
							
							
								
								BAN: Fix Time format printing  
							
							
							
						 
						
							2022-12-13 21:04:09 +02:00  
				
					
						
							
							
								 
						
							
								5345b6b8c3 
								
							 
						 
						
							
							
								
								BAN: overloaded operator== for more types  
							
							
							
						 
						
							2022-12-13 20:55:09 +02:00  
				
					
						
							
							
								 
						
							
								fd6e0ed0f7 
								
							 
						 
						
							
							
								
								Kernel: debug printing now show system time correctly  
							
							
							
						 
						
							2022-12-13 20:44:52 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								174daa3e02 
								
							 
						 
						
							
							
								
								Kernel: Keyboard event callback can now be registered later  
							
							
							
						 
						
							2022-12-13 16:15:10 +02:00  
				
					
						
							
							
								 
						
							
								941238830e 
								
							 
						 
						
							
							
								
								BAN: Now actually build libban :D  
							
							
							
						 
						
							2022-12-13 16:13:38 +02:00  
				
					
						
							
							
								 
						
							
								57b5e7ecf3 
								
							 
						 
						
							
							
								
								BAN: Add pragma once to String and Vector  
							
							
							
						 
						
							2022-12-13 15:15:36 +02:00