diff options
| author | Franklin Wei <frankhwei536@gmail.com> | 2015-02-06 22:13:55 -0500 |
|---|---|---|
| committer | Franklin Wei <frankhwei536@gmail.com> | 2015-02-06 22:13:55 -0500 |
| commit | d4ee50199a7a365c6f770e65ce6d0d17f3292f3d (patch) | |
| tree | a4444da30f7f939f5edb7e4af1a4eee5e3811ccc | |
| parent | 518209098b9f6ea5586537c59b1193d65273bf27 (diff) | |
| download | kappa-d4ee50199a7a365c6f770e65ce6d0d17f3292f3d.zip kappa-d4ee50199a7a365c6f770e65ce6d0d17f3292f3d.tar.gz kappa-d4ee50199a7a365c6f770e65ce6d0d17f3292f3d.tar.bz2 kappa-d4ee50199a7a365c6f770e65ce6d0d17f3292f3d.tar.xz | |
new (working) vga driver
| -rw-r--r-- | OBJ | 2 | ||||
| -rw-r--r-- | drivers/vga.c | 20 |
2 files changed, 22 insertions, 0 deletions
@@ -2,6 +2,7 @@ boot/head.o drivers/pcspkr.o drivers/ps2.o drivers/tty.o +drivers/vga.o kernel/gdt-as.o kernel/gdt.o kernel/idt-as.o @@ -11,6 +12,7 @@ kernel/irq-as.o kernel/irq.o kernel/isr-as.o kernel/isr.o +kernel/log.o kernel/main.o kernel/panic.o kernel/timer.o diff --git a/drivers/vga.c b/drivers/vga.c new file mode 100644 index 0000000..cfcd287 --- /dev/null +++ b/drivers/vga.c @@ -0,0 +1,20 @@ +#include <stddef.h> +#include <stdlib.h> +#include "multiboot.h" +#include "vga.h" + +static uint8_t *framebuffer = NULL; +static uint16_t fb_width; +static uint16_t fb_height; + +void vga_drawpixel(int x, int y, uint32_t pixel) +{ + ((uint32_t*)framebuffer)[y * fb_width + x] = pixel; +} + +void vga_init(struct vbe_info_t *vbe_mode_info) +{ + framebuffer = vbe_mode_info->physbase; + fb_width = vbe_mode_info->Xres; + fb_height = vbe_mode_info->Yres; +} |