+
+void set_cursor(int x, int y)
+{
+ cur_x = x;
+ cur_y = y;
+}
+
+void set_fgcolor(int color)
+{
+ cur_attr = (cur_attr & 0xf0) | color;
+}
+
+void set_bgcolor(int color)
+{
+ cur_attr = (cur_attr & 0x0f) | (color << 4);
+}
+
+void draw_glyph(int x, int y, int c, int attr)
+{
+ vmem[y * 80 + x] = (uint16_t)c | ((uint16_t)attr << 8);
+}
+
+void draw_text(int x, int y, const char *s, int attr)
+{
+ uint16_t __far *ptr = vmem + y * 80 + x;
+
+ while(*s) {
+ *ptr++ = (uint16_t)*s++ | ((uint16_t)attr << 8);
+ }
+}
+
+