#pragma once #include "../../arch/i386/asm.c" #define COM1 (0x3F8) int serial_init() { outb(COM1 + 1, 0x01); outb(COM1 + 3, 0x80); outb(COM1 + 0, 0x03); outb(COM1 + 1, 0x00); outb(COM1 + 3, 0x03); outb(COM1 + 2, 0xC7); outb(COM1 + 4, 0x0B); outb(COM1 + 4, 0x0F); return 0; } int serial_has_tx() { return inb(COM1 + 5) & 0x20; } int serial_has_rx() { return inb(COM1 + 5) & 1; } void serial_tx(char a) { while (serial_has_tx() == 0); outb(COM1,a); } char serial_rx() { while (serial_has_rx() == 0); return inb(COM1); }