kernel_premier/framebuffer.c
2023-09-13 16:05:29 +02:00

18 lines
445 B
C

#include "io.h"
#include "framebuffer.h"
void fb_write_cell(unsigned int i, char c, unsigned char fg, unsigned char bg)
{
char *fb = (char *) FB_ADDRESS;
*(fb + i) = c;
*(fb + i + 1) = ((bg & 0x0F) << 4) | (fg & 0x0F);
}
void fb_move_cursor(unsigned short pos)
{
outb(FB_ADDRESS_PORT, FB_HIGH_BYTE_COMMAND);
outb(FB_DATA_PORT, (pos >> 8) & 0x00FF);
outb(FB_ADDRESS_PORT, FB_LOW_BYTE_COMMAND);
outb(FB_DATA_PORT, pos & 0x00FF);
}