Fixed dirty screen updating in high resolution modes.
This commit is contained in:
parent
43d7050c9c
commit
0a1c4dcdf0
9 changed files with 48 additions and 48 deletions
|
|
@ -633,17 +633,17 @@ void mach64_start_line(mach64_t *mach64)
|
|||
#define WRITE(addr, width) if (width == 0) \
|
||||
{ \
|
||||
svga->vram[(addr) & 0x7fffff] = dest_dat; \
|
||||
svga->changedvram[((addr) & 0x7fffff) >> 10] = changeframecount; \
|
||||
svga->changedvram[((addr) & 0x7fffff) >> 12] = changeframecount; \
|
||||
} \
|
||||
else if (width == 1) \
|
||||
{ \
|
||||
*(uint16_t *)&svga->vram[((addr) << 1) & 0x7fffff] = dest_dat; \
|
||||
svga->changedvram[(((addr) << 1) & 0x7fffff) >> 10] = changeframecount; \
|
||||
svga->changedvram[(((addr) << 1) & 0x7fffff) >> 12] = changeframecount; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
*(uint32_t *)&svga->vram[((addr) << 2) & 0x7fffff] = dest_dat; \
|
||||
svga->changedvram[(((addr) << 2) & 0x7fffff) >> 10] = changeframecount; \
|
||||
svga->changedvram[(((addr) << 2) & 0x7fffff) >> 12] = changeframecount; \
|
||||
}
|
||||
|
||||
void mach64_blit(uint32_t cpu_dat, int count, mach64_t *mach64)
|
||||
|
|
|
|||
|
|
@ -351,14 +351,14 @@ void gd5429_write_linear(uint32_t addr, uint8_t val, void *p)
|
|||
if (addr >= svga->vram_limit)
|
||||
return;
|
||||
// if (svga_output) pclog("%08X\n", addr);
|
||||
svga->changedvram[addr >> 10] = changeframecount;
|
||||
svga->changedvram[addr >> 12] = changeframecount;
|
||||
|
||||
switch (svga->writemode)
|
||||
{
|
||||
case 4:
|
||||
pclog("Writemode 4 : %X ", addr);
|
||||
addr <<= 1;
|
||||
svga->changedvram[addr >> 10] = changeframecount;
|
||||
svga->changedvram[addr >> 12] = changeframecount;
|
||||
pclog("%X %X\n", addr, val);
|
||||
if (val & 0x80)
|
||||
svga->vram[addr + 0] = svga->gdcreg[1];
|
||||
|
|
@ -381,7 +381,7 @@ void gd5429_write_linear(uint32_t addr, uint8_t val, void *p)
|
|||
case 5:
|
||||
pclog("Writemode 5 : %X ", addr);
|
||||
addr <<= 1;
|
||||
svga->changedvram[addr >> 10] = changeframecount;
|
||||
svga->changedvram[addr >> 12] = changeframecount;
|
||||
pclog("%X %X\n", addr, val);
|
||||
svga->vram[addr + 0] = (val & 0x80) ? svga->gdcreg[1] : svga->gdcreg[0];
|
||||
svga->vram[addr + 1] = (val & 0x40) ? svga->gdcreg[1] : svga->gdcreg[0];
|
||||
|
|
@ -618,7 +618,7 @@ void gd5429_start_blit(uint32_t cpu_dat, int count, void *p)
|
|||
count--;
|
||||
}
|
||||
dst = svga->vram[gd5429->blt.dst_addr & svga->vrammask];
|
||||
svga->changedvram[(gd5429->blt.dst_addr & svga->vrammask) >> 10] = changeframecount;
|
||||
svga->changedvram[(gd5429->blt.dst_addr & svga->vrammask) >> 12] = changeframecount;
|
||||
|
||||
pclog("Blit %i,%i %06X %06X %06X %02X %02X %02X %02X ", gd5429->blt.width, gd5429->blt.height_internal, gd5429->blt.src_addr, gd5429->blt.dst_addr, gd5429->blt.src_addr & svga->vrammask, svga->vram[gd5429->blt.src_addr & svga->vrammask], 0x80 >> (gd5429->blt.dst_addr & 7), src, dst);
|
||||
switch (gd5429->blt.rop)
|
||||
|
|
|
|||
|
|
@ -371,7 +371,7 @@ void et4000w32p_mmu_write(uint32_t addr, uint8_t val, void *p)
|
|||
else
|
||||
{
|
||||
svga->vram[(addr & 0x1fff) + et4000->mmu.base[bank]] = val;
|
||||
svga->changedvram[((addr & 0x1fff) + et4000->mmu.base[bank]) >> 10] = changeframecount;
|
||||
svga->changedvram[((addr & 0x1fff) + et4000->mmu.base[bank]) >> 12] = changeframecount;
|
||||
}
|
||||
break;
|
||||
case 0x6000:
|
||||
|
|
@ -705,7 +705,7 @@ void et4000w32_blit(int count, uint32_t mix, uint32_t sdat, int cpu_input, et400
|
|||
if (!(et4000->acl.internal.ctrl_routing & 0x40))
|
||||
{
|
||||
svga->vram[et4000->acl.dest_addr & 0x1fffff] = out;
|
||||
svga->changedvram[(et4000->acl.dest_addr & 0x1fffff) >> 10] = changeframecount;
|
||||
svga->changedvram[(et4000->acl.dest_addr & 0x1fffff) >> 12] = changeframecount;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -826,7 +826,7 @@ void et4000w32_blit(int count, uint32_t mix, uint32_t sdat, int cpu_input, et400
|
|||
if (!(et4000->acl.internal.ctrl_routing & 0x40))
|
||||
{
|
||||
svga->vram[et4000->acl.dest_addr & 0x1fffff] = out;
|
||||
svga->changedvram[(et4000->acl.dest_addr & 0x1fffff) >> 10] = changeframecount;
|
||||
svga->changedvram[(et4000->acl.dest_addr & 0x1fffff) >> 12] = changeframecount;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ void et4000w32_mmu_write(uint32_t addr, uint8_t val)
|
|||
else
|
||||
{
|
||||
vram[(addr&0x1FFF)+mmu.base[bank]]=val;
|
||||
changedvram[((addr&0x1FFF)+mmu.base[bank])>>10]=changeframecount;
|
||||
changedvram[((addr&0x1FFF)+mmu.base[bank])>>12]=changeframecount;
|
||||
}
|
||||
break;
|
||||
case 0x6000:
|
||||
|
|
@ -302,7 +302,7 @@ void et4000w32_blit(int count, uint32_t mix, uint32_t sdat, int cpu_input)
|
|||
}
|
||||
pclog("%06X = %02X\n",acl.dest_addr&0x1FFFFF,out);
|
||||
vram[acl.dest_addr&0x1FFFFF]=out;
|
||||
changedvram[(acl.dest_addr&0x1FFFFF)>>10]=changeframecount;
|
||||
changedvram[(acl.dest_addr&0x1FFFFF)>>12]=changeframecount;
|
||||
|
||||
acl.pattern_x++;
|
||||
acl.pattern_x&=et4000w32_wrap_x[acl.internal.pattern_wrap&7];
|
||||
|
|
@ -378,7 +378,7 @@ void et4000w32_blit(int count, uint32_t mix, uint32_t sdat, int cpu_input)
|
|||
if (acl.internal.rop_bg&(1<<d)) out|=(1<<c);
|
||||
}
|
||||
vram[acl.dest_addr&0x1FFFFF]=out;
|
||||
changedvram[(acl.dest_addr&0x1FFFFF)>>10]=changeframecount;
|
||||
changedvram[(acl.dest_addr&0x1FFFFF)>>12]=changeframecount;
|
||||
|
||||
pattern_x++;
|
||||
pattern_x&=et4000w32_wrap_x[acl.internal.pattern_wrap&7];
|
||||
|
|
|
|||
|
|
@ -1048,17 +1048,17 @@ uint8_t s3_accel_read(uint32_t addr, void *p)
|
|||
#define WRITE(addr) if (s3->bpp == 0) \
|
||||
{ \
|
||||
svga->vram[(addr) & 0x3fffff] = dest_dat; \
|
||||
svga->changedvram[((addr) & 0x3fffff) >> 10] = changeframecount; \
|
||||
svga->changedvram[((addr) & 0x3fffff) >> 12] = changeframecount; \
|
||||
} \
|
||||
else if (s3->bpp == 1) \
|
||||
{ \
|
||||
vram_w[(addr) & 0x1fffff] = dest_dat; \
|
||||
svga->changedvram[((addr) & 0x1fffff) >> 9] = changeframecount; \
|
||||
svga->changedvram[((addr) & 0x1fffff) >> 11] = changeframecount; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
vram_l[(addr) & 0xfffff] = dest_dat; \
|
||||
svga->changedvram[((addr) & 0xfffff) >> 8] = changeframecount; \
|
||||
svga->changedvram[((addr) & 0xfffff) >> 10] = changeframecount; \
|
||||
}
|
||||
|
||||
void s3_accel_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat, s3_t *s3)
|
||||
|
|
|
|||
|
|
@ -989,16 +989,16 @@ static void s3_virge_mmio_write_l(uint32_t addr, uint32_t val, void *p)
|
|||
{ \
|
||||
case 0: /*8 bpp*/ \
|
||||
vram[addr & 0x3fffff] = val; \
|
||||
virge->svga.changedvram[(addr & 0x3fffff) >> 10] = changeframecount; \
|
||||
virge->svga.changedvram[(addr & 0x3fffff) >> 12] = changeframecount; \
|
||||
break; \
|
||||
case 1: /*16 bpp*/ \
|
||||
*(uint16_t *)&vram[addr & 0x3fffff] = val; \
|
||||
virge->svga.changedvram[(addr & 0x3fffff) >> 10] = changeframecount; \
|
||||
virge->svga.changedvram[(addr & 0x3fffff) >> 12] = changeframecount; \
|
||||
break; \
|
||||
case 2: /*24 bpp*/ \
|
||||
*(uint32_t *)&vram[addr & 0x3fffff] = (val & 0xffffff) | \
|
||||
(vram[(addr + 3) & 0x3fffff] << 24); \
|
||||
virge->svga.changedvram[(addr & 0x3fffff) >> 10] = changeframecount; \
|
||||
virge->svga.changedvram[(addr & 0x3fffff) >> 12] = changeframecount; \
|
||||
break; \
|
||||
} \
|
||||
} while (0)
|
||||
|
|
|
|||
|
|
@ -415,7 +415,7 @@ void svga_poll(void *p)
|
|||
svga->firstline = svga->displine;
|
||||
|
||||
if (svga->hwcursor_on)
|
||||
svga->changedvram[svga->ma >> 10] = svga->changedvram[(svga->ma >> 10) + 1] = 2;
|
||||
svga->changedvram[svga->ma >> 12] = svga->changedvram[(svga->ma >> 12) + 1] = 2;
|
||||
|
||||
svga->render(svga);
|
||||
|
||||
|
|
@ -503,7 +503,7 @@ void svga_poll(void *p)
|
|||
svga->fullchange = 2;
|
||||
svga->blink++;
|
||||
|
||||
for (x = 0; x < (svga->vram_limit >> 10); x++)
|
||||
for (x = 0; x < (svga->vram_limit >> 12); x++)
|
||||
{
|
||||
if (svga->changedvram[x])
|
||||
svga->changedvram[x]--;
|
||||
|
|
@ -634,7 +634,7 @@ int svga_init(svga_t *svga, void *p, int memsize,
|
|||
svga->vram = malloc(memsize);
|
||||
svga->vram_limit = memsize;
|
||||
svga->vrammask = memsize - 1;
|
||||
svga->changedvram = malloc(/*(memsize >> 10) << 1*/0x800000 >> 10);
|
||||
svga->changedvram = malloc(/*(memsize >> 12) << 1*/0x800000 >> 12);
|
||||
svga->recalctimings_ex = recalctimings_ex;
|
||||
svga->video_in = video_in;
|
||||
svga->video_out = video_out;
|
||||
|
|
@ -687,7 +687,7 @@ void svga_write(uint32_t addr, uint8_t val, void *p)
|
|||
return;
|
||||
|
||||
if (svga_output) pclog("%08X (%i, %i) %02X %i %i %i %02X\n", addr, addr & 1023, addr >> 10, val, writemask2, svga->writemode, svga->chain4, svga->gdcreg[8]);
|
||||
svga->changedvram[addr >> 10] = changeframecount;
|
||||
svga->changedvram[addr >> 12] = changeframecount;
|
||||
|
||||
switch (svga->writemode)
|
||||
{
|
||||
|
|
@ -913,7 +913,7 @@ void svga_write_linear(uint32_t addr, uint8_t val, void *p)
|
|||
if (addr >= svga->vram_limit)
|
||||
return;
|
||||
if (svga_output) pclog("%08X\n", addr);
|
||||
svga->changedvram[addr>>10]=changeframecount;
|
||||
svga->changedvram[addr >> 12]=changeframecount;
|
||||
|
||||
switch (svga->writemode)
|
||||
{
|
||||
|
|
@ -1161,7 +1161,7 @@ void svga_writew(uint32_t addr, uint16_t val, void *p)
|
|||
if (addr >= svga->vram_limit)
|
||||
return;
|
||||
if (svga_output) pclog("%08X (%i, %i) %04X\n", addr, addr & 1023, addr >> 10, val);
|
||||
svga->changedvram[addr >> 10] = changeframecount;
|
||||
svga->changedvram[addr >> 12] = changeframecount;
|
||||
*(uint16_t *)&svga->vram[addr] = val;
|
||||
}
|
||||
|
||||
|
|
@ -1190,7 +1190,7 @@ void svga_writel(uint32_t addr, uint32_t val, void *p)
|
|||
return;
|
||||
if (svga_output) pclog("%08X (%i, %i) %08X\n", addr, addr & 1023, addr >> 10, val);
|
||||
|
||||
svga->changedvram[addr >> 10] = changeframecount;
|
||||
svga->changedvram[addr >> 12] = changeframecount;
|
||||
*(uint32_t *)&svga->vram[addr] = val;
|
||||
}
|
||||
|
||||
|
|
@ -1256,7 +1256,7 @@ void svga_writew_linear(uint32_t addr, uint16_t val, void *p)
|
|||
addr &= 0x7FFFFF;
|
||||
if (addr >= svga->vram_limit)
|
||||
return;
|
||||
svga->changedvram[addr >> 10] = changeframecount;
|
||||
svga->changedvram[addr >> 12] = changeframecount;
|
||||
*(uint16_t *)&svga->vram[addr] = val;
|
||||
}
|
||||
|
||||
|
|
@ -1282,7 +1282,7 @@ void svga_writel_linear(uint32_t addr, uint32_t val, void *p)
|
|||
addr &= 0x7fffff;
|
||||
if (addr >= svga->vram_limit)
|
||||
return;
|
||||
svga->changedvram[addr >> 10] = changeframecount;
|
||||
svga->changedvram[addr >> 12] = changeframecount;
|
||||
*(uint32_t *)&svga->vram[addr] = val;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -552,12 +552,12 @@ enum
|
|||
#define WRITE(addr, dat) if (tgui->accel.bpp == 0) \
|
||||
{ \
|
||||
svga->vram[addr & 0x1fffff] = dat; \
|
||||
svga->changedvram[((addr) & 0x1fffff) >> 10] = changeframecount; \
|
||||
svga->changedvram[((addr) & 0x1fffff) >> 12] = changeframecount; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
vram_w[addr & 0xfffff] = dat; \
|
||||
svga->changedvram[((addr) & 0xfffff) >> 9] = changeframecount; \
|
||||
svga->changedvram[((addr) & 0xfffff) >> 11] = changeframecount; \
|
||||
}
|
||||
|
||||
void tgui_accel_write_fb_b(uint32_t addr, uint8_t val, void *priv);
|
||||
|
|
|
|||
Loading…
Reference in a new issue