Implemented odd/even memory mode for EGA and VGA.

This commit is contained in:
TomW 2015-08-12 20:37:39 +01:00
commit 12232fd7b8
5 changed files with 91 additions and 53 deletions

View file

@ -52,7 +52,7 @@ void svga_render_text_40(svga_t *svga)
{
drawcursor = ((svga->ma == svga->ca) && svga->con && svga->cursoron);
chr = svga->vram[(svga->ma << 1) & svga->vrammask];
attr = svga->vram[((svga->ma << 1) + 4) & svga->vrammask];
attr = svga->vram[((svga->ma << 1) + 1) & svga->vrammask];
if (attr & 8) charaddr = svga->charsetb + (chr * 128);
else charaddr = svga->charseta + (chr * 128);
@ -115,7 +115,7 @@ void svga_render_text_80(svga_t *svga)
{
drawcursor = ((svga->ma == svga->ca) && svga->con && svga->cursoron);
chr = svga->vram[(svga->ma << 1) & svga->vrammask];
attr = svga->vram[((svga->ma << 1) + 4) & svga->vrammask];
attr = svga->vram[((svga->ma << 1) + 1) & svga->vrammask];
if (attr & 8) charaddr = svga->charsetb + (chr * 128);
else charaddr = svga->charseta + (chr * 128);