diff options
| author | Zuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian> | 2026-01-27 01:22:42 +0000 |
|---|---|---|
| committer | Zuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian> | 2026-01-27 01:22:42 +0000 |
| commit | 938773d9cc062fd028f6560b1127a2ecd23f61c3 (patch) | |
| tree | 403aacd629975440ba23a645975c34a141d634ee /examples/bootloader/kernel.zc | |
| parent | 2f47bdf7f49f05bd421e4182635f489c8cae01b3 (diff) | |
Fixed constant hex/oct bug + Fixed some of the examples (work in progress) + added bootloader example (I will add some docs)
Diffstat (limited to 'examples/bootloader/kernel.zc')
| -rw-r--r-- | examples/bootloader/kernel.zc | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/examples/bootloader/kernel.zc b/examples/bootloader/kernel.zc new file mode 100644 index 0000000..d39e91c --- /dev/null +++ b/examples/bootloader/kernel.zc @@ -0,0 +1,28 @@ + +def VGA_BUFFER = 0xb8000; +def VGA_WIDTH = 80; +def VGA_HEIGHT = 25; + +@packed +struct VGAEntry { + val: u8; + color: u8; +} + +fn kmain() { + let vga = (VGAEntry*)VGA_BUFFER; + + let msg = "Hello from Zen C!"; + let color = 0x0f; // White on Black + + let i = 0; + while msg[i] != 0 { + vga[i] = VGAEntry { + val: msg[i], + color: color + }; + i += 1; + } + + loop {} +} |
