SB: Fix CT1475 even port read and return 0xFF on it and ports 227h and 22Bh which are tested for noise by OS/2 Warp 4.0, fixes the OS/2 Warp 4.0 hang on SB PNP's and AWE 32.
This commit is contained in:
@@ -1177,12 +1177,11 @@ sb_ct1745_mixer_read(uint16_t addr, void *priv)
|
||||
const sb_ct1745_mixer_t *mixer = &sb->mixer_sb16;
|
||||
uint8_t ret = 0xff;
|
||||
|
||||
if (!(addr & 1))
|
||||
ret = mixer->index;
|
||||
|
||||
sb_log("sb_ct1745: received register READ: %02X\t%02X\n", mixer->index, mixer->regs[mixer->index]);
|
||||
|
||||
if ((mixer->index >= 0x30) && (mixer->index <= 0x47))
|
||||
if (!(addr & 1))
|
||||
ret = 0xff /*mixer->index*/;
|
||||
else if ((mixer->index >= 0x30) && (mixer->index <= 0x47))
|
||||
ret = mixer->regs[mixer->index];
|
||||
else {
|
||||
switch (mixer->index) {
|
||||
|
||||
@@ -1938,6 +1938,14 @@ sb_read(uint16_t a, void *priv)
|
||||
} else
|
||||
ret = 0xff;
|
||||
break;
|
||||
case 0x7:
|
||||
case 0xB:
|
||||
/*
|
||||
These two ports are tested for random noise by OS/2 Warp 4.0, so
|
||||
return 0xff to get through said test.
|
||||
*/
|
||||
ret = 0xff;
|
||||
break;
|
||||
case 0xA: /* Read data */
|
||||
if (dsp->mpu && dsp->uart_midi)
|
||||
ret = MPU401_ReadData(dsp->mpu);
|
||||
|
||||
Reference in New Issue
Block a user