Fixed dirty screen updating in high resolution modes.

This commit is contained in:
TomW 2014-03-22 19:10:00 +00:00
commit 0a1c4dcdf0
9 changed files with 48 additions and 48 deletions

View file

@ -163,9 +163,9 @@ void svga_render_2bpp_lowres(svga_t *svga)
int changed_offset;
if (svga->sc & 1 && !(svga->crtc[0x17] & 1))
changed_offset = (svga->ma << 1) >> 10;
changed_offset = (svga->ma << 1) >> 12;
else
changed_offset = ((svga->ma << 1) + 0x8000) >> 10;
changed_offset = ((svga->ma << 1) + 0x8000) >> 12;
if (svga->changedvram[changed_offset] || svga->changedvram[changed_offset + 1] || svga->fullchange)
{
@ -213,9 +213,9 @@ void svga_render_2bpp_highres(svga_t *svga)
int changed_offset;
if (svga->sc & 1 && !(svga->crtc[0x17] & 1))
changed_offset = ((svga->ma << 1) | 0x8000) >> 10;
changed_offset = ((svga->ma << 1) | 0x8000) >> 12;
else
changed_offset = (svga->ma << 1) >> 10;
changed_offset = (svga->ma << 1) >> 12;
if (svga->changedvram[changed_offset] || svga->changedvram[changed_offset + 1] || svga->fullchange)
{
@ -260,7 +260,7 @@ void svga_render_2bpp_highres(svga_t *svga)
void svga_render_4bpp_lowres(svga_t *svga)
{
if (svga->changedvram[svga->ma >> 10] || svga->changedvram[(svga->ma >> 10) + 1] || svga->changedvram[(svga->ma >> 10) + 2] || svga->fullchange)
if (svga->changedvram[svga->ma >> 12] || svga->changedvram[(svga->ma >> 12) + 1] || svga->fullchange)
{
int x;
int offset = ((8 - svga->scrollcache) << 1) + 16;
@ -302,11 +302,11 @@ void svga_render_4bpp_highres(svga_t *svga)
int changed_offset;
if (svga->sc & 1 && !(svga->crtc[0x17] & 1))
changed_offset = (svga->ma | 0x8000) >> 10;
changed_offset = (svga->ma | 0x8000) >> 12;
else
changed_offset = svga->ma >> 10;
changed_offset = svga->ma >> 12;
if (svga->changedvram[changed_offset] || svga->changedvram[changed_offset + 1] || svga->changedvram[changed_offset + 2] || svga->fullchange)
if (svga->changedvram[changed_offset] || svga->changedvram[changed_offset + 1] || svga->fullchange)
{
int x;
int offset = (8 - svga->scrollcache) + 24;
@ -348,7 +348,7 @@ void svga_render_4bpp_highres(svga_t *svga)
void svga_render_8bpp_lowres(svga_t *svga)
{
if (svga->changedvram[svga->ma >> 10] || svga->changedvram[(svga->ma >> 10) + 1] || svga->changedvram[(svga->ma >> 10) + 2] || svga->fullchange)
if (svga->changedvram[svga->ma >> 12] || svga->changedvram[(svga->ma >> 12) + 1] || svga->fullchange)
{
int x;
int offset = (8 - (svga->scrollcache & 6)) + 24;
@ -376,7 +376,7 @@ void svga_render_8bpp_lowres(svga_t *svga)
void svga_render_8bpp_highres(svga_t *svga)
{
if (svga->changedvram[svga->ma >> 10] || svga->changedvram[(svga->ma >> 10) + 1] || svga->changedvram[(svga->ma >> 10) + 2] || svga->fullchange)
if (svga->changedvram[svga->ma >> 12] || svga->changedvram[(svga->ma >> 12) + 1] || svga->fullchange)
{
int x;
int offset = (8 - ((svga->scrollcache & 6) >> 1)) + 24;
@ -410,7 +410,7 @@ void svga_render_8bpp_highres(svga_t *svga)
void svga_render_15bpp_lowres(svga_t *svga)
{
if (svga->changedvram[svga->ma >> 10] || svga->changedvram[(svga->ma >> 10) + 1] || svga->changedvram[(svga->ma >> 10) + 2] || svga->fullchange)
if (svga->changedvram[svga->ma >> 12] || svga->changedvram[(svga->ma >> 12) + 1] || svga->fullchange)
{
int x;
int offset = (8 - (svga->scrollcache & 6)) + 24;
@ -439,7 +439,7 @@ void svga_render_15bpp_lowres(svga_t *svga)
void svga_render_15bpp_highres(svga_t *svga)
{
if (svga->changedvram[svga->ma >> 10] || svga->changedvram[(svga->ma >> 10) + 1] || svga->changedvram[(svga->ma >> 10) + 2] || svga->fullchange)
if (svga->changedvram[svga->ma >> 12] || svga->changedvram[(svga->ma >> 12) + 1] || svga->fullchange)
{
int x;
int offset = (8 - ((svga->scrollcache & 6) >> 1)) + 24;
@ -474,7 +474,7 @@ void svga_render_15bpp_highres(svga_t *svga)
void svga_render_16bpp_lowres(svga_t *svga)
{
if (svga->changedvram[svga->ma >> 10] || svga->changedvram[(svga->ma >> 10) + 1] || svga->changedvram[(svga->ma >> 10) + 2] || svga->fullchange)
if (svga->changedvram[svga->ma >> 12] || svga->changedvram[(svga->ma >> 12) + 1] || svga->fullchange)
{
int x;
int offset = (8 - (svga->scrollcache & 6)) + 24;
@ -503,7 +503,7 @@ void svga_render_16bpp_lowres(svga_t *svga)
void svga_render_16bpp_highres(svga_t *svga)
{
if (svga->changedvram[svga->ma >> 10] || svga->changedvram[(svga->ma >> 10) + 1] || svga->changedvram[(svga->ma >> 10) + 2] || svga->fullchange)
if (svga->changedvram[svga->ma >> 12] || svga->changedvram[(svga->ma >> 12) + 1] || svga->fullchange)
{
int x;
int offset = (8 - ((svga->scrollcache & 6) >> 1)) + 24;
@ -541,7 +541,7 @@ void svga_render_24bpp_lowres(svga_t *svga)
int x, offset;
uint32_t fg;
if (svga->changedvram[svga->ma >> 10] || svga->changedvram[(svga->ma >> 10) + 1] || svga->changedvram[(svga->ma >> 10) + 2] || svga->fullchange)
if (svga->changedvram[svga->ma >> 12] || svga->changedvram[(svga->ma >> 12) + 1] || svga->fullchange)
{
if (svga->firstline_draw == 2000)
svga->firstline_draw = svga->displine;
@ -561,7 +561,7 @@ void svga_render_24bpp_lowres(svga_t *svga)
void svga_render_24bpp_highres(svga_t *svga)
{
if (svga->changedvram[svga->ma >> 10] || svga->changedvram[(svga->ma >> 10) + 1] || svga->changedvram[(svga->ma >> 10) + 2] || svga->fullchange)
if (svga->changedvram[svga->ma >> 12] || svga->changedvram[(svga->ma >> 12) + 1] || svga->fullchange)
{
int x;
int offset = (8 - ((svga->scrollcache & 6) >> 1)) + 24;
@ -596,7 +596,7 @@ void svga_render_32bpp_lowres(svga_t *svga)
int x, offset;
uint32_t fg;
if (svga->changedvram[svga->ma >> 10] || svga->changedvram[(svga->ma >> 10) + 1] || svga->changedvram[(svga->ma >> 10) + 2] || svga->fullchange)
if (svga->changedvram[svga->ma >> 12] || svga->changedvram[(svga->ma >> 12) + 1] || svga->fullchange)
{
if (svga->firstline_draw == 2000)
svga->firstline_draw = svga->displine;
@ -618,7 +618,7 @@ void svga_render_32bpp_lowres(svga_t *svga)
91%*/
void svga_render_32bpp_highres(svga_t *svga)
{
if (svga->changedvram[svga->ma >> 10] || svga->changedvram[(svga->ma >> 10) + 1] || svga->changedvram[(svga->ma >> 10) + 2] || svga->fullchange)
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;