summaryrefslogtreecommitdiff
path: root/stage3/main.c
diff options
context:
space:
mode:
authorLizzy Fleckenstein <eliasfleckenstein@web.de>2023-11-27 20:03:41 +0100
committerLizzy Fleckenstein <eliasfleckenstein@web.de>2023-11-27 20:03:41 +0100
commit0c1d5e64c32f9e35264910d6defb693829df6f52 (patch)
tree042b3ae06da8af4e8cbd3babdfa9702c67517ef6 /stage3/main.c
parent8b9f33dd745ebba0e819927ab3906635bfb3bf34 (diff)
downloadcuddles-0c1d5e64c32f9e35264910d6defb693829df6f52.tar.xz
font fixes
Diffstat (limited to 'stage3/main.c')
-rw-r--r--stage3/main.c44
1 files changed, 34 insertions, 10 deletions
diff --git a/stage3/main.c b/stage3/main.c
index 3a96992..133dd42 100644
--- a/stage3/main.c
+++ b/stage3/main.c
@@ -8,11 +8,15 @@
void clear_screen(); // framebuffer.asm
-void kmain()
+void kmain();
+
+void init()
{
clear_screen();
letters_init();
+
heap_init();
+ set_font_size(3);
#define MMAP for (MemRegion *mreg = (void *) 0x500; mreg->start != nil; mreg++)
@@ -26,17 +30,37 @@ void kmain()
MMAP heap_add_region(mreg);
- gfx_set_area(0, 0, gfx_info->width, gfx_info->height, 0xFF000000);
+ kmain();
+ halt();
+}
+
+void charset_demo()
+{
+ const u8 max = '~' - '!' + 1;
- char str[128];
- str[127] = '\0';
- for (u8 i = 1; i < 128; i++)
- str[i-1] = i;
+ char str[max + 1];
+ str[max] = '\0';
- println(str);
+ for (u8 i = 0; i < max; i++)
+ str[i] = i + '!';
- halt();
+ print("charset demo:\n");
+ print(str);
+ print("\n");
}
-// 0xE0000000
-// 0xE03E8000
+void kmain()
+{
+ gfx_set_area(0, 0, gfx_info->width, gfx_info->height, 0xFF000000);
+ charset_demo();
+
+ print(
+ "\n"
+ "#include <stdio.h>\n\n"
+ "int main()\n{\n"
+ "\tprintf(\"hello, world\\n\");\n"
+ "\treturn 0;\n"
+ "}\n"
+ "\n"
+ );
+}