diff --git a/sys/lib.c b/sys/lib.c index 96f0625..aae5f09 100644 --- a/sys/lib.c +++ b/sys/lib.c @@ -9,3 +9,11 @@ strlen(const char *str) return i; } + +printf(const char *format, ...) +{ + const u32 len = strlen(format); + + vga_write(format, len, 0x0f); + return len; +} \ No newline at end of file diff --git a/sys/memory.c b/sys/memory.c index c0ab408..a9216c4 100644 --- a/sys/memory.c +++ b/sys/memory.c @@ -1,22 +1,10 @@ #include +#include -void * -malloc(s32 size) -{ - s32 actual_size = size + sizeof(s32) + sizeof(void *); +u32 curr = START; - if (start == NULL) { - start = (void *) START; - - start[0] = '\0'; - start[1] = '\0'; - start[2] = '\0'; - start[3] = '\0'; - - SIZE(m) = size; - - return USABLE(m); - } - - /* TODO */ -} +void *malloc(s32 size) { + u32 addr = curr; + curr += size; + return (void*)addr; +} \ No newline at end of file