wip: putchar and stuff

This commit is contained in:
2024-12-11 21:19:40 +01:00
parent 33cb3dfa30
commit 5383c4eced
2 changed files with 100 additions and 115 deletions

View File

@ -5,17 +5,18 @@
#include <stddef.h>
#include <stdint.h>
#define VGA_WIDTH 80
#define VGA_HEIGHT 25
#define TERM_BUF ((uint16_t *)0xC03FF000)
#define TERM_COUNT 10
#define SCREEN_WIDTH 80
#define SCREEN_HEIGHT 25
#define TERM_BUF ((uint16_t *)0xC03FF000)
#define TERM_COUNT 10
struct screen {
size_t row;
size_t column;
uint8_t color;
uint16_t buffer[VGA_WIDTH * VGA_HEIGHT];
uint8_t default_color;
uint32_t fg_color;
uint32_t bg_color;
uint16_t buffer[SCREEN_WIDTH * SCREEN_HEIGHT];
uint32_t default_color;
char line[256];
};
@ -41,8 +42,8 @@ typedef enum {
enum cursor_direction { LEFT, RIGHT, UP, DOWN };
void terminal_initialize(void);
void terminal_set_bg_color(uint8_t color);
void terminal_set_fg_color(uint8_t color);
void terminal_set_bg_color(uint32_t color);
void terminal_set_fg_color(uint32_t color);
int terminal_putchar(char c);
int terminal_write(const char *data, size_t size);
int terminal_writestring(const char *data);
@ -53,8 +54,8 @@ struct key_event terminal_getkey(void);
void update_cursor(void);
void move_cursor(int direction);
void set_color_level(int level);
void terminal_set_default_fg_color(uint8_t fg_color);
void terminal_set_default_bg_color(uint8_t fg_color);
void terminal_change_default_fg_color(uint8_t color);
uint8_t terminal_get_default_color(void);
void terminal_set_default_fg_color(uint32_t fg_color);
void terminal_set_default_bg_color(uint32_t fg_color);
void terminal_change_default_fg_color(uint32_t color);
uint32_t terminal_get_default_color(void);
uint8_t terminal_get_char(int column, int row);