OpenCores
URL https://opencores.org/ocsvn/openfire2/openfire2/trunk

Subversion Repositories openfire2

[/] [openfire2/] [trunk/] [sw/] [vga/] [vga_drawpixel.c] - Diff between revs 3 and 6

Only display areas with differences | Details | Blame | View Log

Rev 3 Rev 6
#include "vga.h"
#include "vga.h"
 
 
void vga_drawpixel(unsigned short x, unsigned short y, unsigned short color)
void vga_drawpixel(unsigned short x, unsigned short y, unsigned short color)
{
{
  unsigned ptr = (unsigned) &_VIDEO_RAM_ADDR;
  unsigned ptr = (unsigned) &_VIDEO_RAM_ADDR;
 
 
  unsigned short pixel, mascara = 0x7;
  unsigned short pixel, mascara = 0x7;
  unsigned short w = x / 5;                     /* word donde esta el pixel */
  unsigned short w = x / 5;                     /* word donde esta el pixel */
  unsigned short p = 12 - (x % 5) * 3;  /* obtenemos el # de pixel dentro del grupo */
  unsigned short p = 12 - (x % 5) * 3;  /* obtenemos el # de pixel dentro del grupo */
 
 
  ptr += y * 256 + w * 2;
  ptr += y * 256 + w * 2;
 
 
  pixel = *(unsigned short *) ptr;      /* obtenemos el valor del grupo de 5 pixels */
  pixel = *(unsigned short *) ptr;      /* obtenemos el valor del grupo de 5 pixels */
  mascara = ~(0x7 << p);                /* mascara para el pixel */
  mascara = ~(0x7 << p);                /* mascara para el pixel */
  color <<= p;                          /* ponemos el pixel en su sitio */
  color <<= p;                          /* ponemos el pixel en su sitio */
 
 
  pixel &= mascara;     /* aplicamos la mascara en el pixel actual */
  pixel &= mascara;     /* aplicamos la mascara en el pixel actual */
  pixel |= color;       /* dibujamos el pixel en el hueco de la mascara */
  pixel |= color;       /* dibujamos el pixel en el hueco de la mascara */
 
 
  *(unsigned short *) ptr = pixel;
  *(unsigned short *) ptr = pixel;
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.