48 lines
864 B
C
48 lines
864 B
C
#include "stlio.h"
|
|
|
|
static u8 COLOR_FG = Green;
|
|
static u8 COLOR_BG = White;
|
|
|
|
#define write_char(c) write_cell_fb(c, COLOR_FG, COLOR_BG)
|
|
|
|
// We are assuming null-terminated strings here
|
|
u32 strlen(char* buffer) {
|
|
char* c;
|
|
for(c = buffer; *c != '\0'; c++); // LULW
|
|
return (u32)(c - buffer);
|
|
}
|
|
|
|
u32 write(const char* buffer, const u32 size) {
|
|
u32 i;
|
|
for(i = 0; i < size; i++) {
|
|
// cheesy but whatever
|
|
if(buffer[i] == '\n') {
|
|
frame_buffer_newline();
|
|
}
|
|
else {
|
|
write_char(buffer[i]);
|
|
}
|
|
}
|
|
return i;
|
|
}
|
|
|
|
u32 read(const u32 n) {
|
|
// read n bytes from keyboard
|
|
return n;
|
|
}
|
|
|
|
|
|
void printf(char* fmt) {
|
|
// Variadic fuller version of print on seperate branch but its nowhere near stable/ready/working
|
|
u32 size = strlen(fmt);
|
|
for(u32 i = 0; i < size;i++) {
|
|
if(fmt[i] == '\n') {
|
|
frame_buffer_newline();
|
|
}
|
|
else {
|
|
write_char(fmt[i]);
|
|
}
|
|
}
|
|
}
|
|
|