Mode 13h is 320 by 200 pixels with 1 pixel being 1 byte so all the mathematical gifted people would know that one 13h screen is exactly 64000 bytes. Well we have to know where this memory starts , and it starts at A000:0000 and ends at A000:F9FF So lets make a pointer to that section of the memory unsigned char far * video_buffer = (char far *)0xA0000000L; How do i get into mode 13h? We use assembler for direct video stuff like this asm { mov ax,0x13 int 0x10 } and to return back to text mode asm { mov ax,0x3 int 0x10 } Now lets plot a pixel If each row is 320 bytes long then if we multiply y times 320 and add x it will end up where we want to be , now all we have to do is make it equal to a colour between 0 and 256 video_buffer[y*320+x]=23; Ok now try to put all of that into a little programe that plots a pixel at 122 x , 32 y colour 56 Book Mark this site as I will be adding stuff to this all the time and soon I will start to make a game to show you how to put it all together.