diff --git a/fsdrv/main.c b/fsdrv/main.c index 458af29..c006130 100644 --- a/fsdrv/main.c +++ b/fsdrv/main.c @@ -8,8 +8,6 @@ int main() { info.address=map_phys((void*)0xB8000,10); info.width=80; info.height=25; - vga_init(info); - vga_write_string("FSDRV"); for(;;) { yield(); } diff --git a/fsdrv/ports.c b/fsdrv/ports.c deleted file mode 100644 index 5991314..0000000 --- a/fsdrv/ports.c +++ /dev/null @@ -1,31 +0,0 @@ -#include - -uint8_t port_byte_in(uint16_t port) { - uint8_t result; - asm("in %%dx, %%al":"=a"(result):"d"(port)); - return result; -} - -void port_byte_out(uint16_t port,uint8_t data) { - asm("out %%al, %%dx":: "a"(data),"d"(port)); -} - -uint16_t port_word_in(uint16_t port) { - uint16_t result; - asm("in %%dx, %%ax":"=a"(result):"d"(port)); - return result; -} - -void port_word_out(uint16_t port,uint16_t data) { - asm("out %%ax, %%dx":: "a" (data), "d" (port)); -} - -uint32_t port_long_in(uint16_t port) { - uint32_t result; - asm("inl %%dx, %%eax":"=a"(result):"d"(port)); - return result; -} - -void port_long_out(uint16_t port,uint32_t data) { - asm("outl %%eax, %%dx":: "a" (data), "d" (port)); -} diff --git a/fsdrv/ports.h b/fsdrv/ports.h deleted file mode 100644 index 4f5c6e1..0000000 --- a/fsdrv/ports.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef PORTS_H -#define PORTS_H - -#include - -uint8_t port_byte_in(uint16_t port); -void port_byte_out(uint16_t port,uint8_t data); -uint16_t port_word_in(uint16_t port); -void port_word_out(uint16_t port,uint16_t data); -uint32_t port_long_in(uint16_t port); -void port_long_out(uint16_t port,uint32_t data); -#endif diff --git a/fsdrv/vga.c b/fsdrv/vga.c deleted file mode 100644 index 67fbc55..0000000 --- a/fsdrv/vga.c +++ /dev/null @@ -1,91 +0,0 @@ -#include -#include "vga.h" -#include "ports.h" -#include -#include -#define xy_to_indx(x,y) ((x+(y*width))*2) -static char* screen; -static int width; -static int height; -static int x; -static int y; -static vga_colors fg_color; -static vga_colors bg_color; -static char* scroll_buf[0xfa0]; - - -static void set_char(int x,int y,char c) { - screen[xy_to_indx(x,y)]=c; - screen[xy_to_indx(x,y)+1]=(bg_color<<4)|fg_color; -} - -void vga_clear() { - for (int y=0;y>8); -} - -void vga_init(text_fb_info framebuffer_info) { - x=0; - y=0; - fg_color=VGA_WHITE; - bg_color=VGA_BLACK; - screen=framebuffer_info.address; - width=framebuffer_info.width; - height=framebuffer_info.height; - port_byte_out(0x3D4,0xA); - port_byte_out(0x3D5,(port_byte_in(0x3D5)&0xC0)|14); - port_byte_out(0x3D4,0xB); - port_byte_out(0x3D5,(port_byte_in(0x3D5)&0xE0)|15); - set_cursor(0,0); - vga_clear(); -} - -void vga_write_string(const char* string) { - for (size_t i=0;i