/****************************************************************** * system.c - Basic system functions * ******************************************************************/ #include byte *TextVideoRam; volatile int cursor_x, cursor_y; int current_mode_width; int current_mode_height; void *memcpy(void *dest, const void *src, int count) { const char *sp = (const char *)src; char *dp = (char *)dest; for(; count != 0; count--) *dp++ = *sp++; return dest; } void *memset(void *dest, char val, int count) { char *temp = (char *)dest; for( ; count != 0; count--) *temp++ = val; return dest; } unsigned short *memsetw(unsigned short *dest, unsigned short val, int count) { unsigned short *temp = (unsigned short *)dest; for( ; count != 0; count--) *temp++ = val; return dest; } byte inportb (word _port) { byte rv; __asm__ __volatile__ ("inb %1, %0" : "=a" (rv) : "dN" (_port)); return rv; } byte inb (word _port) { byte rv; __asm__ __volatile__ ("inb %1, %0" : "=a" (rv) : "dN" (_port)); return rv; }