The SCSI data buffer is now zeroed before being allocated, MODE SELECT data is therefore no longer lost in transit;

SCSI DMA writes (for MODE SELECT) now correctly use InitLength instead of request_length when bus type is SCSI;
Fixed MODE SELECT page saving;
CD Audio volume is now correctly initialized on card initialization for all Sound Blaster variants, fixes CD Audio being muted when booting without the Sound Blaster initialization program;
Brought the Sound Blaster variants back to a sane sound volume but still louder than the old quietness;
Moved SCSI adapter initialization to before sound card initialization, fixes DOS SCSI CD-ROM driver hangs under some conditions.
This commit is contained in:
OBattler
2017-02-04 06:53:46 +01:00
parent 3c61b80a34
commit 22c3a74e3b
6 changed files with 105 additions and 54 deletions

View File

@@ -122,7 +122,7 @@ void gameport_write(uint16_t addr, uint8_t val, void *p)
timer_clock();
gameport->state |= 0x0f;
// pclog("gameport_write : joysticks_present=%i\n", joysticks_present);
pclog("gameport_write : joysticks_present=%i\n", joysticks_present);
gameport->axis[0].count = gameport_time(gameport->joystick->read_axis(gameport->joystick_dat, 0));
gameport->axis[1].count = gameport_time(gameport->joystick->read_axis(gameport->joystick_dat, 1));
@@ -145,7 +145,7 @@ uint8_t gameport_read(uint16_t addr, void *p)
// else
// ret = 0xff;
// pclog("gameport_read: ret=%02x %08x:%08x isa_cycles=%i %i\n", ret, cs, cpu_state.pc, isa_cycles, gameport->axis[0].count);
// pclog("gameport_read: ret=%02x %08x:%08x isa_cycles=%i %i\n", ret, cs, cpu_state.pc, isa_cycles, gameport->axis[0].count);
cycles -= ISA_CYCLES(8);