Previous 199869 Revisions Next

r32277 Monday 22nd September, 2014 at 08:53:44 UTC by Barry Rodewald
trident: improved mono pattern drawing, fixing foreground colour, adding background colour, and clipping it.
[src/emu/bus/isa]trident.c

trunk/src/emu/bus/isa/trident.c
r32276r32277
9898void trident_vga_device::WRITEPIXEL(INT16 x,INT16 y, UINT32 data)
9999{
100100   if(svga.rgb8_en)
101      WRITEPIXEL8(x,y,data & 0xff);
101      WRITEPIXEL8(x,y,(((data >> 16) & 0xff) | ((data >> 8) & 0xff) | (data & 0xff)));  // XFree86 3.3 sets bits 0-7 to 0 when using mono patterns, does it OR each byte?
102102   if(svga.rgb15_en)
103103      WRITEPIXEL15(x,y,data & 0x7fff);
104104   if(svga.rgb16_en)
r32276r32277
11701170{
11711171   for(int x=31;x>=0;x--)
11721172   {
1173      if(((data >> x) & 0x01) != 0)
1174         WRITEPIXEL(tri.accel_mem_x,tri.accel_mem_y,tri.accel_fgcolour);
1173      if(tri.accel_mem_x <= tri.accel_dest_x+tri.accel_dim_x)
1174      {
1175         if(((data >> x) & 0x01) != 0)
1176            WRITEPIXEL(tri.accel_mem_x,tri.accel_mem_y,tri.accel_fgcolour);
1177         else
1178            WRITEPIXEL(tri.accel_mem_x,tri.accel_mem_y,tri.accel_bgcolour);
1179      }
11751180      tri.accel_mem_x++;
11761181   }
11771182   if(tri.accel_mem_x > tri.accel_dest_x+tri.accel_dim_x)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team