matos/drivers/vga.h

35 lines
923 B
C
Raw Normal View History

2018-07-20 15:41:58 +02:00
#pragma once
#include "stdarg.h"
2019-05-15 23:20:03 +02:00
#include "types.h"
2018-07-20 15:41:58 +02:00
// https://wiki.osdev.org/Text_UI
#define BLACK 0x00
#define BLUE 0x01
#define GREEN 0x02
#define CYAN 0x03
#define RED 0x04
2018-07-20 15:41:58 +02:00
#define MAGENTA 0x05
#define BROWN 0x06
#define GREY 0x07
#define WHITE 0x0F
2018-07-20 15:41:58 +02:00
#define VGA_ADDR 0xB8000
#define VGA_WIDTH 80
2018-07-20 15:41:58 +02:00
#define VGA_HEIGHT 25
#ifndef pr_fmt
#define pr_fmt(fmt) fmt
#endif
2018-11-08 22:08:27 +01:00
int VGASetup(uint bgColor, uint color);
void VGAputc(const char str);
2018-07-20 15:41:58 +02:00
void clearScreen(uint bgColor);
2018-11-16 19:56:38 +01:00
void clearScreenLine(uint bgColor, uint line);
2018-07-20 15:41:58 +02:00
void printIntDetails(int integer, uint color, uint bgColor, int startX, int startY);
void printCharDetails(char str, uint color, uint bgColor, int startX, int startY);
void printStringDetails(const char *str, uint color, uint bgColor, int startX, int startY);
void vgaScrollUp(void);
2018-11-14 18:03:11 +01:00
void cursorEnable(uint8_t cursor_start, uint8_t cursor_end);
void cursorDisable(void);
void cursorMove(int x, int y);