From 457a2117706cdaee34f894e67c89da7bf29f6143 Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Mon, 12 Apr 2021 10:28:04 +0200 Subject: Refactoring --- src/Makefile | 4 +-- src/bringelle.c | 1 - src/core/framebuffer.c | 58 -------------------------------------- src/core/framebuffer.h | 35 ----------------------- src/core/gdt.h | 3 ++ src/core/idt.c | 39 +++++++++++++++++++++++++ src/core/idt.h | 32 +++++++++++++++++++++ src/core/int.S | 72 +++++++++++++++++++++++++++++++++++++++++++++++ src/drivers/8042.c | 16 +++++++++++ src/drivers/8042.h | 64 +++++++++++++++++++++++++++++++++++++++++ src/drivers/framebuffer.c | 58 ++++++++++++++++++++++++++++++++++++++ src/drivers/framebuffer.h | 35 +++++++++++++++++++++++ src/drivers/pic.c | 28 ++++++++++++++++++ src/drivers/pic.h | 9 ++++++ src/int/8042.c | 16 ----------- src/int/8042.h | 64 ----------------------------------------- src/int/idt.c | 39 ------------------------- src/int/idt.h | 32 --------------------- src/int/int.S | 72 ----------------------------------------------- src/int/pic.c | 28 ------------------ src/int/pic.h | 9 ------ src/libc/stdio.h | 2 +- 22 files changed, 359 insertions(+), 357 deletions(-) delete mode 100644 src/core/framebuffer.c delete mode 100644 src/core/framebuffer.h create mode 100644 src/core/idt.c create mode 100644 src/core/idt.h create mode 100644 src/core/int.S create mode 100644 src/drivers/8042.c create mode 100644 src/drivers/8042.h create mode 100644 src/drivers/framebuffer.c create mode 100644 src/drivers/framebuffer.h create mode 100644 src/drivers/pic.c create mode 100644 src/drivers/pic.h delete mode 100644 src/int/8042.c delete mode 100644 src/int/8042.h delete mode 100644 src/int/idt.c delete mode 100644 src/int/idt.h delete mode 100644 src/int/int.S delete mode 100644 src/int/pic.c delete mode 100644 src/int/pic.h (limited to 'src') diff --git a/src/Makefile b/src/Makefile index 3643f77..85cae29 100644 --- a/src/Makefile +++ b/src/Makefile @@ -8,12 +8,12 @@ LD_SCRIPT := linker.ld BOOT_OBJ := $(addsuffix .o,$(basename $(shell find ./boot -name "*.[c|S]" ! -name "boot.S"))) CORE_OBJ := $(addsuffix .o,$(basename $(shell find ./core -name "*.[c|S]"))) LIBC_OBJ := $(addsuffix .o,$(basename $(shell find ./libc -name "*.[c|S]"))) -INT_OBJ := $(addsuffix .o,$(basename $(shell find ./int -name "*.[c|S]"))) +DRIVERS_OBJ := $(addsuffix .o,$(basename $(shell find ./drivers -name "*.[c|S]"))) all: $(EXEC) -$(EXEC): boot/boot.o $(BOOT_OBJ) $(CORE_OBJ) $(LIBC_OBJ) $(INT_OBJ) bringelle.o +$(EXEC): boot/boot.o $(BOOT_OBJ) $(CORE_OBJ) $(LIBC_OBJ) $(DRIVERS_OBJ) bringelle.o ld -n -T $(LD_SCRIPT) -nostdlib -o bringelle $^ %.o: %.S diff --git a/src/bringelle.c b/src/bringelle.c index 49670e8..b0ddec6 100644 --- a/src/bringelle.c +++ b/src/bringelle.c @@ -1,5 +1,4 @@ #include "libc/stdio.h" -#include "int/pic.h" #include "boot/multiboot.h" #include "core/mem.h" #include "core/gdt.h" diff --git a/src/core/framebuffer.c b/src/core/framebuffer.c deleted file mode 100644 index 110dc73..0000000 --- a/src/core/framebuffer.c +++ /dev/null @@ -1,58 +0,0 @@ -#include "framebuffer.h" - -#define MAX_COL 80 -#define MAX_LINE 25 - -VIDEO_STATE VS={ - (u8 *)0xB8000, - 0, - 0, - BLACK, - GRAY, -}; - -void putchar(char c){ - // Handle newline here - if(c=='\n'){ - VS.col=0; - VS.line+=1; - if(VS.line>=MAX_LINE){ - VS.line=MAX_LINE-1; - scrollup(); - } - return; - } - - // Print char - VS.mem[VS.col*2+MAX_COL*VS.line*2]=c; - VS.mem[VS.col*2+MAX_COL*VS.line*2+1]=VS.fg|VS.bg<<4; - - // Refresh location - VS.col+=1; - if(VS.col>= MAX_COL){ - VS.col=0; - VS.line+=1; - if(VS.line>=MAX_LINE){ - VS.line=MAX_LINE-1; - scrollup(); - } - } -} - -void clear(){ - for(char i=0;i=MAX_LINE){ + VS.line=MAX_LINE-1; + scrollup(); + } + return; + } + + // Print char + VS.mem[VS.col*2+MAX_COL*VS.line*2]=c; + VS.mem[VS.col*2+MAX_COL*VS.line*2+1]=VS.fg|VS.bg<<4; + + // Refresh location + VS.col+=1; + if(VS.col>= MAX_COL){ + VS.col=0; + VS.line+=1; + if(VS.line>=MAX_LINE){ + VS.line=MAX_LINE-1; + scrollup(); + } + } +} + +void clear(){ + for(char i=0;i