#include <conio.h>
#include <dpmi.h>
#include <sys/nearptr.h>

unsigned char *video_memory = (unsigned char *) 0xA0000;

void init_mode13h()
{
 __dpmi_regs regs;
 regs.x.ax = 0x13;
 __dpmi_int(0x10, &regs);
 __djgpp_nearptr_enable();
}

void put_pixel(int x, int y, unsigned char color)
{
 video_memory[y * 320 + x + __djgpp_conventional_base] = color;
}

void init_textmode()
{
 __dpmi_regs regs;
 __djgpp_nearptr_disable();
 regs.x.ax = 0x3;
 __dpmi_int(0x10, &regs);
}

void main()
{
 init_mode13h();
 put_pixel(4, 3, 4); // 4 = RED
 getch();
 init_textmode();
}
