nuclear@0: #include nuclear@0: #include "vid.h" nuclear@0: nuclear@0: #define WIDTH 80 nuclear@0: #define HEIGHT 25 nuclear@0: static uint16_t *vmem = (uint16_t*)0xb8000; nuclear@0: nuclear@0: void clear_scr(void) nuclear@0: { nuclear@0: memset(vmem, 0, WIDTH * HEIGHT * 2); nuclear@0: } nuclear@0: nuclear@0: void set_cursor(int x, int y) nuclear@0: { nuclear@0: if(x < 0 || x >= WIDTH || y < 0 || y >= HEIGHT) { nuclear@0: /* disable cursor */ nuclear@0: return; nuclear@0: } nuclear@0: /* set cursor position */ nuclear@0: } nuclear@0: nuclear@0: void put_char(char c, int x, int y, int fg, int bg) nuclear@0: { nuclear@0: uint16_t attr = (fg & 0xf) | ((bg & 7) << 4); nuclear@0: vmem[y * 80 + x] = (uint16_t)c | (attr << 8); nuclear@0: }