Fixed the third batch of problems.
This commit is contained in:
@@ -668,6 +668,7 @@ static void mach64_accel_write_fifo(mach64_t *mach64, uint32_t addr, uint8_t val
|
||||
case 0x118: case 0x119: case 0x11a: case 0x11b:
|
||||
case 0x11e: case 0x11f:
|
||||
WRITE8(addr, mach64->dst_height_width, val);
|
||||
/*FALLTHROUGH*/
|
||||
case 0x113:
|
||||
if (((addr & 0x3ff) == 0x11b || (addr & 0x3ff) == 0x11f ||
|
||||
(addr & 0x3ff) == 0x113) && !(val & 0x80))
|
||||
@@ -797,6 +798,7 @@ static void mach64_accel_write_fifo(mach64_t *mach64, uint32_t addr, uint8_t val
|
||||
break;
|
||||
case 0x2b0: case 0x2b1:
|
||||
addr += 2;
|
||||
/*FALLTHROUGH*/
|
||||
case 0x2b6: case 0x2b7:
|
||||
WRITE8(addr, mach64->sc_top_bottom, val);
|
||||
break;
|
||||
@@ -1886,6 +1888,7 @@ uint8_t mach64_ext_readb(uint32_t addr, void *p)
|
||||
break;
|
||||
case 0x110: case 0x111:
|
||||
addr += 2;
|
||||
/*FALLTHROUGH*/
|
||||
case 0x114: case 0x115:
|
||||
case 0x118: case 0x119: case 0x11a: case 0x11b:
|
||||
case 0x11e: case 0x11f:
|
||||
@@ -2005,6 +2008,7 @@ uint8_t mach64_ext_readb(uint32_t addr, void *p)
|
||||
break;
|
||||
case 0x2b0: case 0x2b1:
|
||||
addr += 2;
|
||||
/*FALLTHROUGH*/
|
||||
case 0x2b6: case 0x2b7:
|
||||
mach64_wait_fifo_idle(mach64);
|
||||
READ8(addr, mach64->sc_top_bottom);
|
||||
|
||||
@@ -1249,7 +1249,7 @@ void et4000w32p_pci_write(int func, int addr, uint8_t val, void *p)
|
||||
et4000->linearbase &= 0x00c00000;
|
||||
et4000->linearbase = (et4000->pci_regs[0x13] << 24);
|
||||
svga->crtc[0x30] &= 3;
|
||||
svga->crtc[0x30] = ((et4000->linearbase & 0x3f000000) >> 22);
|
||||
svga->crtc[0x30] |= ((et4000->linearbase & 0x3f000000) >> 22);
|
||||
et4000w32p_recalcmapping(et4000);
|
||||
break;
|
||||
|
||||
|
||||
@@ -112,7 +112,8 @@ static const char *pgc_err_msgs[] = {
|
||||
"Stack \r",
|
||||
"Too long\r",
|
||||
"Area \r",
|
||||
"Missing \r"
|
||||
"Missing \r",
|
||||
"Unknown \r"
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -2076,15 +2076,9 @@ uint8_t s3_accel_in(uint16_t port, void *p)
|
||||
break;
|
||||
temp = s3->accel.pix_trans[1];
|
||||
if ((s3->accel.multifunc[0xa] & 0xc0) == 0x80 && (s3->accel.cmd & 0x600) == 0x200 && (s3->accel.cmd & 0x100))
|
||||
{
|
||||
if (s3->accel.cmd & 0x1000) s3_accel_start(16, 1, 0xffffffff, 0, s3);
|
||||
else s3_accel_start(16, 1, 0xffffffff, 0, s3);
|
||||
}
|
||||
s3_accel_start(16, 1, 0xffffffff, 0, s3);
|
||||
else if ((s3->accel.cmd & 0x600) == 0x200 && (s3->accel.cmd & 0x100))
|
||||
{
|
||||
if (s3->accel.cmd & 0x1000) s3_accel_start(2, 1, 0xffffffff, 0xffffffff, s3);
|
||||
else s3_accel_start(2, 1, 0xffffffff, 0xffffffff, s3);
|
||||
}
|
||||
s3_accel_start(2, 1, 0xffffffff, 0xffffffff, s3);
|
||||
return temp;
|
||||
case 0xe14a: case 0xe2ea:
|
||||
if (!s3_cpu_dest(s3))
|
||||
|
||||
Reference in New Issue
Block a user