Codigo viejo
este codigo es una partecita de una libreria para manejar VESA en DOS que escribi hace 5 años, esta parte me encanta, porque esa lib esta toda escrita para hacer todo independiente de la resolucion, los bits por pixel y los bancos del modo (una cosa que es una porqueria:
esta parte:
void Video::putPixel( word x , word y , byte red , byte green , byte blue )
{
word color = ( ( word )( red & ( ( 1
color |= ( ( word )( green & ( ( 1
color |= ( ( word )( blue & ( ( 1
long addr = (long)y * vbeModeInfoBlock.BytesPerScanLine + x * (vbeModeInfoBlock.BitsPerPixel >> 3);
setBank((int)(addr >> 16));
*(videoMemory + (addr & 0xFFFF)) = (char)color;
*(videoMemory + (addr & 0xFFFF) + 1 ) = (char)(color >> 8);
}
pone un pixel en la posicion definida con el color definido en la pantalla para cualquier modo de vesa.
C++, 17 años, DOS, Turbo C++ 1.01, que epocas aquellas :P