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
|
||||
{
|
||||
svga->vram[(addr & 0x1fff) + et4000->mmu.base[bank]] = val;
|
||||
svga->changedvram[((addr & 0x1fff) + et4000->mmu.base[bank]) >> 12] = changeframecount;
|
||||
if ((addr&0x1fff) + et4000->mmu.base[bank] < svga->vram_limit)
|
||||
{
|
||||
svga->vram[(addr & 0x1fff) + et4000->mmu.base[bank]] = val;
|
||||
svga->changedvram[((addr & 0x1fff) + et4000->mmu.base[bank]) >> 12] = changeframecount;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 0x6000:
|
||||
|
|
@ -483,6 +486,8 @@ uint8_t et4000w32p_mmu_read(uint32_t addr, void *p)
|
|||
/*???*/
|
||||
return temp;
|
||||
}
|
||||
if ((addr&0x1fff) + et4000->mmu.base[bank] >= svga->vram_limit)
|
||||
return 0xff;
|
||||
return svga->vram[(addr&0x1fff) + et4000->mmu.base[bank]];
|
||||
|
||||
case 0x6000:
|
||||
|
|
|
|||
Loading…
Reference in a new issue