Add range checks to ET4000/W32p VRAM read/write functions.
This commit is contained in:
parent
15a1631ba0
commit
36793f18db
1 changed files with 7 additions and 2 deletions
|
|
@ -379,8 +379,11 @@ void et4000w32p_mmu_write(uint32_t addr, uint8_t val, void *p)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
svga->vram[(addr & 0x1fff) + et4000->mmu.base[bank]] = val;
|
if ((addr&0x1fff) + et4000->mmu.base[bank] < svga->vram_limit)
|
||||||
svga->changedvram[((addr & 0x1fff) + et4000->mmu.base[bank]) >> 12] = changeframecount;
|
{
|
||||||
|
svga->vram[(addr & 0x1fff) + et4000->mmu.base[bank]] = val;
|
||||||
|
svga->changedvram[((addr & 0x1fff) + et4000->mmu.base[bank]) >> 12] = changeframecount;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x6000:
|
case 0x6000:
|
||||||
|
|
@ -483,6 +486,8 @@ uint8_t et4000w32p_mmu_read(uint32_t addr, void *p)
|
||||||
/*???*/
|
/*???*/
|
||||||
return temp;
|
return temp;
|
||||||
}
|
}
|
||||||
|
if ((addr&0x1fff) + et4000->mmu.base[bank] >= svga->vram_limit)
|
||||||
|
return 0xff;
|
||||||
return svga->vram[(addr&0x1fff) + et4000->mmu.base[bank]];
|
return svga->vram[(addr&0x1fff) + et4000->mmu.base[bank]];
|
||||||
|
|
||||||
case 0x6000:
|
case 0x6000:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue