Mach64 fixes :
- Added support for 8-bit RAMDAC mode - Added ABGR8888 mode - Add support for mono blitter source - Identify RAMDAC type correctly - Use correct colours for hardware cursor Fixes issues in Corel Linux.
This commit is contained in:
parent
a151e90aeb
commit
b39eb20237
7 changed files with 164 additions and 24 deletions
|
|
@ -638,6 +638,28 @@ void svga_render_32bpp_highres(svga_t *svga)
|
|||
}
|
||||
}
|
||||
|
||||
void svga_render_ABGR8888_highres(svga_t *svga)
|
||||
{
|
||||
if (svga->changedvram[svga->ma >> 12] || svga->changedvram[(svga->ma >> 12) + 1] || svga->changedvram[(svga->ma >> 12) + 2] || svga->fullchange)
|
||||
{
|
||||
int x;
|
||||
int offset = (8 - ((svga->scrollcache & 6) >> 1)) + 24;
|
||||
uint32_t *p = &((uint32_t *)buffer32->line[svga->displine])[offset];
|
||||
|
||||
if (svga->firstline_draw == 2000)
|
||||
svga->firstline_draw = svga->displine;
|
||||
svga->lastline_draw = svga->displine;
|
||||
|
||||
for (x = 0; x <= svga->hdisp; x++)
|
||||
{
|
||||
uint32_t dat = *(uint32_t *)(&svga->vram[(svga->ma + (x << 2)) & svga->vrammask]);
|
||||
p[x] = ((dat & 0xff0000) >> 16) | (dat & 0x00ff00) | ((dat & 0x0000ff) << 16);
|
||||
}
|
||||
svga->ma += 4;
|
||||
svga->ma &= svga->vrammask;
|
||||
}
|
||||
}
|
||||
|
||||
void svga_render_RGBA8888_highres(svga_t *svga)
|
||||
{
|
||||
if (svga->changedvram[svga->ma >> 12] || svga->changedvram[(svga->ma >> 12) + 1] || svga->changedvram[(svga->ma >> 12) + 2] || svga->fullchange)
|
||||
|
|
|
|||
Loading…
Reference in a new issue