#include "../includes/io.h" #include "../includes/kernel.h" //char* msg = "Hello, World!"; void kmain() { draw_s("Hello, World!", 2, 9);/* write_screen(0, "k", 2, 9); write_screen(2, 'e', 2, 9); write_screen(4, 'r', 2, 9); write_screen(6, 'n', 2, 9); write_screen(8, 'e', 2, 9); write_screen(10, 'l', 2, 9); write_screen(12, ' ', 2, 9); write_screen(14, '3', 2, 9); //asm("hlt");*/ } void write_screen(unsigned int i, char c, unsigned char fg, unsigned char bg) { char *fb = (char *) 0x000B8000; fb[i] = c; fb[i + 1] = ((fg & 0x0F) << 4) | (bg & 0x0F); } void move(unsigned short pos) { outb(0x3D4, 14); outb(0x3D5, ((pos >> 8 ) & 0x00FF)); outb(0x3D4, 15); outb(0x3D5, pos & 0x00FF); } void draw_s(char* string, unsigned char fg, unsigned char bg) { char *video_buffer = 0x000B8000; for(int i = 0; i < strlen(string); i++) { video_buffer[i] = string[i]; video_buffer[i+1] = ((fg & 0x0f) << 4) | (bg & 0x0F); } } int strlen(char* string) { int len = 0; for(int i = 0; string[i] != '\0'; i++) len++; return len; }