Public feed
#725700
/* Update video memory and the pixel buffer */
VGA_Latch pixels;
pixels.d=((Bit32u*)vga.mem.linear)[start];
pixels.d&=vga.config.full_not_map_mask;
pixels.d|=(data & vga.config.full_map_mask);
((Bit32u*)vga.mem.linear)[start]=pixels.d;
Bit8u * write_pixels=&vga.mem.linear[VGA_CACHE_OFFSET+(start<<3)];
Bit32u colors0_3, colors4_7;
VGA_Latch temp;temp.d=(pixels.d>>4) & 0x0f0f0f0f;
colors0_3 =
Expand16Table[0][temp.b[0]] |
Expand16Table[1][temp.b[1]] |
Expand16Table[2][temp.b[2]] |
Expand16Table[3][temp.b[3]];
//*(Bit32u *)write_pixels=colors0_3;
host_writed((HostPt)write_pixels,colors0_3);
temp.d=pixels.d & 0x0f0f0f0f;
colors4_7 =
Expand16Table[0][temp.b[0]] |
Expand16Table[1][temp.b[1]] |
Expand16Table[2][temp.b[2]] |
Expand16Table[3][temp.b[3]];
//*(Bit32u *)(write_pixels+4)=colors4_7;
host_writed((HostPt)(write_pixels+4),colors4_7);
if (wrapping && GCC_UNLIKELY( start < 512)) {
//*(Bit32u *)(write_pixels+512*1024)=colors0_3;
//*(Bit32u *)(write_pixels+512*1024+4)=colors4_7;
host_writed((HostPt)(write_pixels+512*1024),colors0_3);
host_writed((HostPt)(write_pixels+512*1024+4),colors4_7);
}