finished tty system for now

This commit is contained in:
justuswolff
2026-03-19 19:19:51 +01:00
parent fa6c48ae7e
commit d5de6c04ab
8 changed files with 41 additions and 8 deletions

View File

@@ -153,6 +153,7 @@ static uint8_t VGA_basic8x8font[128][8] = {
static uint8_t VGA_palette[256][3];
void VGA_setchar(virtualConsole* con, uint8_t x, uint8_t y, char val);
void VGA_renderchar(virtualConsole* con);
void _VGA_renchar(uint8_t x, uint8_t y, char val, uint8_t fcolor[3], uint8_t bcolor[3]);
static uint8_t* VGA_fbuf = (unsigned char*)0xA0000;
static uint8_t VGA_values[] = { // THIS. THIS IS CANCER.
// MISC

View File

@@ -5,6 +5,7 @@ uint32_t strlen32(char* str);
void strrev32(char* str);
uint8_t uitoa32(uint32_t x, char* str);
void memcopy(void* dest, void* src, size_t size);
void kpanic(char* msg);
static inline void outb(uint16_t port, uint8_t val) {
__asm__ volatile ( "outb %b0, %w1" : : "a"(val), "Nd"(port) : "memory");
}

View File

@@ -1,4 +0,0 @@
#pragma once
#include "stddef.h"
void memcpy32(void* dest, void* src, uint32_t length);

View File

@@ -8,12 +8,13 @@ typedef struct {
uint8_t FU_forecolor[3];
uint8_t FU_backcolor[3];
char charbuf[40][25];
uint8_t enableRendering;
} virtualConsole;
typedef void (*FU_kupdbuf_t)(virtualConsole*);
#define consolesAmount 12
static virtualConsole consoles[consolesAmount];
static uint8_t currentConsole = 0;
extern virtualConsole consoles[consolesAmount];
extern uint8_t currentConsole;
void con_kputchar(virtualConsole* con, char x);
void con_kputstr(virtualConsole* con, char* x);