+#include "vga.h"
+#include "cdpmi.h"
+
+#ifdef __DJGPP__
+#include <sys/nearptr.h>
+#define REALPTR(s, o) (void*)(((uint32_t)(s) << 4) - __djgpp_base_address + ((uint32_t)(o)))
+#else
+#define REALPTR(s, o) (void*)(((uint32_t)(s) << 4) + ((uint32_t)(o)))
+#endif
+
+#define SAME_BPP(a, b) \
+ ((a) == (b) || ((a) == 16 && (b) == 15) || ((a) == 15 && (b) == 16) || \
+ ((a) == 32 && (b) == 24) || ((a) == 24 && (b) == 32))
+
+static int vbe_init_ver;
+static struct vbe_info vbe;
+static int mode, pgsize, fbsize;
+static struct vbe_mode_info mode_info;
+
+static void *vpgaddr[2];
+static int fbidx;
+static int pgcount;
+
+static int init_vbe(void)
+{
+ int i, num;