Added CL-GD5430 emulation.
This commit is contained in:
parent
456009ef21
commit
5c9a1e9664
6 changed files with 309 additions and 40 deletions
|
|
@ -824,7 +824,7 @@ void svga_write(uint32_t addr, uint8_t val, void *p)
|
|||
case 0:
|
||||
if (svga->gdcreg[3] & 7)
|
||||
val = svga_rotate[svga->gdcreg[3] & 7][val];
|
||||
if (svga->gdcreg[8] == 0xff && !(svga->gdcreg[3] & 0x18) && !svga->gdcreg[1])
|
||||
if (svga->gdcreg[8] == 0xff && !(svga->gdcreg[3] & 0x18) && (!svga->gdcreg[1] || svga->set_reset_disabled))
|
||||
{
|
||||
if (writemask2 & 1) svga->vram[addr] = val;
|
||||
if (writemask2 & 2) svga->vram[addr | 0x1] = val;
|
||||
|
|
@ -873,7 +873,7 @@ void svga_write(uint32_t addr, uint8_t val, void *p)
|
|||
}
|
||||
break;
|
||||
case 2:
|
||||
if (!(svga->gdcreg[3] & 0x18) && !svga->gdcreg[1])
|
||||
if (!(svga->gdcreg[3] & 0x18) && (!svga->gdcreg[1] || svga->set_reset_disabled))
|
||||
{
|
||||
if (writemask2 & 1) svga->vram[addr] = (((val & 1) ? 0xff : 0) & svga->gdcreg[8]) | (svga->la & ~svga->gdcreg[8]);
|
||||
if (writemask2 & 2) svga->vram[addr | 0x1] = (((val & 2) ? 0xff : 0) & svga->gdcreg[8]) | (svga->lb & ~svga->gdcreg[8]);
|
||||
|
|
@ -1083,7 +1083,7 @@ void svga_write_linear(uint32_t addr, uint8_t val, void *p)
|
|||
case 0:
|
||||
if (svga->gdcreg[3] & 7)
|
||||
val = svga_rotate[svga->gdcreg[3] & 7][val];
|
||||
if (svga->gdcreg[8] == 0xff && !(svga->gdcreg[3] & 0x18) && !svga->gdcreg[1])
|
||||
if (svga->gdcreg[8] == 0xff && !(svga->gdcreg[3] & 0x18) && (!svga->gdcreg[1] || svga->set_reset_disabled))
|
||||
{
|
||||
if (writemask2 & 1) svga->vram[addr] = val;
|
||||
if (writemask2 & 2) svga->vram[addr | 0x1] = val;
|
||||
|
|
@ -1132,7 +1132,7 @@ void svga_write_linear(uint32_t addr, uint8_t val, void *p)
|
|||
}
|
||||
break;
|
||||
case 2:
|
||||
if (!(svga->gdcreg[3] & 0x18) && !svga->gdcreg[1])
|
||||
if (!(svga->gdcreg[3] & 0x18) && (!svga->gdcreg[1] || svga->set_reset_disabled))
|
||||
{
|
||||
if (writemask2 & 1) svga->vram[addr] = (((val & 1) ? 0xff : 0) & svga->gdcreg[8]) | (svga->la & ~svga->gdcreg[8]);
|
||||
if (writemask2 & 2) svga->vram[addr | 0x1] = (((val & 2) ? 0xff : 0) & svga->gdcreg[8]) | (svga->lb & ~svga->gdcreg[8]);
|
||||
|
|
|
|||
Loading…
Reference in a new issue