#include "types.h" void printf(char* str) { static uint16_t* VideoMemory = (uint16_t*)0xb8000; for (int i = 0; str[i] != '\0'; ++i) VideoMemory[i] = (VideoMemory[i] & 0xFF00) | str[i]; } typedef void (*constructor)(); extern "C" constructor start_ctors; extern "C" constructor end_ctors; extern "C" void call_constructors() { for (constructor* i = &start_ctors; i != &end_ctors; i++) (*i)(); } extern "C" void ferglos_Main(const void* multiboot_structure, uint32_t /*mb_mag*/) { printf("Hello, Sailor!"); while (1) ; }