diff --git a/kernel_main.d b/kernel_main.d index 9688603..30b1721 100644 --- a/kernel_main.d +++ b/kernel_main.d @@ -1,5 +1,11 @@ extern (C) void mykernel_main() { - ubyte * vidmem = cast(ubyte *) 0xB8000u; - vidmem[0] = 'D'; - vidmem[1] = 0x7u; + write("Hello from D!"); +} + +void write(immutable(char) * message) { + ubyte * vidmem = cast(ubyte *) 0xB8000u; + for (size_t i = 0u; message[i] != '\0'; i++) { + vidmem[i * 2] = message[i]; + vidmem[i * 2 + 1] = 7u; + } }