Logging aids
This commit is contained in:
@@ -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);
|
sb_dsp_set_stereo(&ess->dsp, mixer->regs[0x0e] & 2);
|
||||||
} else {
|
} else {
|
||||||
mixer->regs[mixer->index] = val;
|
mixer->regs[mixer->index] = val;
|
||||||
|
pclog("ess: Register WRITE: %02X\t%02X\n", mixer->index, mixer->regs[mixer->index]);
|
||||||
|
|
||||||
switch (mixer->index) {
|
switch (mixer->index) {
|
||||||
/* Compatibility: chain registers 0x02 and 0x22 as well as 0x06 and 0x26 */
|
/* 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;
|
break;
|
||||||
|
|
||||||
case 0x40: {
|
case 0x40: {
|
||||||
|
break;
|
||||||
uint16_t mpu401_base_addr = 0x300 | ((mixer->regs[0x40] & 0x38) << 1);
|
uint16_t mpu401_base_addr = 0x300 | ((mixer->regs[0x40] & 0x38) << 1);
|
||||||
gameport_remap(ess->gameport, !(mixer->regs[0x40] & 0x2) ? 0x00 : 0x200);
|
gameport_remap(ess->gameport, !(mixer->regs[0x40] & 0x2) ? 0x00 : 0x200);
|
||||||
/* This doesn't work yet. */
|
/* This doesn't work yet. */
|
||||||
@@ -318,6 +320,7 @@ ess_mixer_read(uint16_t addr, void *priv)
|
|||||||
case 0x36:
|
case 0x36:
|
||||||
case 0x38:
|
case 0x38:
|
||||||
case 0x3e:
|
case 0x3e:
|
||||||
|
pclog("ess: Register READ: %02X\t%02X\n", mixer->index, mixer->regs[mixer->index]);
|
||||||
return mixer->regs[mixer->index];
|
return mixer->regs[mixer->index];
|
||||||
|
|
||||||
case 0x40:
|
case 0x40:
|
||||||
@@ -326,6 +329,7 @@ ess_mixer_read(uint16_t addr, void *priv)
|
|||||||
mixer->ess_id_str_pos++;
|
mixer->ess_id_str_pos++;
|
||||||
if (mixer->ess_id_str_pos >= 4)
|
if (mixer->ess_id_str_pos >= 4)
|
||||||
mixer->ess_id_str_pos = 0;
|
mixer->ess_id_str_pos = 0;
|
||||||
|
pclog("ess: ID READ: %02X (pos %d)\n", val, mixer->ess_id_str_pos);
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -491,7 +495,7 @@ ess_1688_init(UNUSED(const device_t *info))
|
|||||||
sb_dsp_set_mpu(&ess->dsp, ess->mpu);
|
sb_dsp_set_mpu(&ess->dsp, ess->mpu);
|
||||||
|
|
||||||
ess->gameport = gameport_add(&gameport_pnp_device);
|
ess->gameport = gameport_add(&gameport_pnp_device);
|
||||||
ess->gameport_addr = 0x000;
|
ess->gameport_addr = 0x200;
|
||||||
gameport_remap(ess->gameport, ess->gameport_addr);
|
gameport_remap(ess->gameport, ess->gameport_addr);
|
||||||
|
|
||||||
return ess;
|
return ess;
|
||||||
|
@@ -834,9 +834,9 @@ sb_exec_command(sb_dsp_t *dsp)
|
|||||||
See https://github.com/joncampbell123/dosbox-x/issues/1044 */
|
See https://github.com/joncampbell123/dosbox-x/issues/1044 */
|
||||||
if (dsp->sb_type >= SB16)
|
if (dsp->sb_type >= SB16)
|
||||||
dsp->sb_8051_ram[0x20] = dsp->sb_command;
|
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) {
|
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) {
|
if (dsp->sb_command == 0xC6 || dsp->sb_command == 0xC7) {
|
||||||
dsp->ess_extended_mode = !!(dsp->sb_command == 0xC6);
|
dsp->ess_extended_mode = !!(dsp->sb_command == 0xC6);
|
||||||
return;
|
return;
|
||||||
|
Reference in New Issue
Block a user