diff --git a/src/sound/snd_ess.c b/src/sound/snd_ess.c index 57ba092c3..a97d5e244 100644 --- a/src/sound/snd_ess.c +++ b/src/sound/snd_ess.c @@ -151,6 +151,7 @@ ess_mixer_write(uint16_t addr, uint8_t val, void *priv) sb_dsp_set_stereo(&ess->dsp, mixer->regs[0x0e] & 2); } else { mixer->regs[mixer->index] = val; + pclog("ess: Register WRITE: %02X\t%02X\n", mixer->index, mixer->regs[mixer->index]); switch (mixer->index) { /* Compatibility: chain registers 0x02 and 0x22 as well as 0x06 and 0x26 */ @@ -197,6 +198,7 @@ ess_mixer_write(uint16_t addr, uint8_t val, void *priv) break; case 0x40: { + break; uint16_t mpu401_base_addr = 0x300 | ((mixer->regs[0x40] & 0x38) << 1); gameport_remap(ess->gameport, !(mixer->regs[0x40] & 0x2) ? 0x00 : 0x200); /* This doesn't work yet. */ @@ -318,6 +320,7 @@ ess_mixer_read(uint16_t addr, void *priv) case 0x36: case 0x38: case 0x3e: + pclog("ess: Register READ: %02X\t%02X\n", mixer->index, mixer->regs[mixer->index]); return mixer->regs[mixer->index]; case 0x40: @@ -326,6 +329,7 @@ ess_mixer_read(uint16_t addr, void *priv) mixer->ess_id_str_pos++; if (mixer->ess_id_str_pos >= 4) mixer->ess_id_str_pos = 0; + pclog("ess: ID READ: %02X (pos %d)\n", val, mixer->ess_id_str_pos); return val; } @@ -491,7 +495,7 @@ ess_1688_init(UNUSED(const device_t *info)) sb_dsp_set_mpu(&ess->dsp, ess->mpu); ess->gameport = gameport_add(&gameport_pnp_device); - ess->gameport_addr = 0x000; + ess->gameport_addr = 0x200; gameport_remap(ess->gameport, ess->gameport_addr); return ess; diff --git a/src/sound/snd_sb_dsp.c b/src/sound/snd_sb_dsp.c index 7cc189d30..a6069226d 100644 --- a/src/sound/snd_sb_dsp.c +++ b/src/sound/snd_sb_dsp.c @@ -834,9 +834,9 @@ sb_exec_command(sb_dsp_t *dsp) See https://github.com/joncampbell123/dosbox-x/issues/1044 */ if (dsp->sb_type >= SB16) dsp->sb_8051_ram[0x20] = dsp->sb_command; + pclog("dsp->sb_command = 0x%X\n", dsp->sb_command); if (IS_ESS(dsp) && dsp->sb_command >= 0xA0 && dsp->sb_command <= 0xCF) { - pclog("dsp->sb_command = 0x%X\n", dsp->sb_command); if (dsp->sb_command == 0xC6 || dsp->sb_command == 0xC7) { dsp->ess_extended_mode = !!(dsp->sb_command == 0xC6); return;