/******************************************************************* * system.c - Basic system functions and variables declaration * *******************************************************************/ #ifndef __SYSTEM_H #define __SYSTEM_H #include #define true 1 #define false 0 // Data type declarations typedef unsigned char byte; typedef unsigned short word; typedef unsigned int dword; extern byte *TextVideoRam; extern volatile int cursor_x, cursor_y; extern int current_mode_width; extern int current_mode_height; extern void *memcpy(void *dest, const void *src, int count); extern void *memset(void *dest, char val, int count); extern unsigned short *memsetw(unsigned short *dest, unsigned short val, int count); extern byte inportb (word _port); extern byte inb (word _port); static inline void outportb (word _port, byte _data) { __asm__ __volatile__ ("outb %1, %0" : : "dN" (_port), "a" (_data)); } static inline void outb (word _port, byte _data) { __asm__ __volatile__ ("outb %1, %0" : : "dN" (_port), "a" (_data)); } static inline void iowait() { asm volatile ("outb %al, $0x80"); } #endif