Fix CS4236 codec remapped register reads

This commit is contained in:
RichardG867
2021-06-03 15:31:10 -03:00
parent 9159815823
commit 5cd255a0e0

View File

@@ -135,9 +135,9 @@ ad1848_read(uint16_t addr, void *priv)
case 18: case 19: case 18: case 19:
if (ad1848->type == AD1848_TYPE_CS4236) { if (ad1848->type == AD1848_TYPE_CS4236) {
if (ad1848->xregs[4] & 0x04) /* FM remapping */ if ((ad1848->xregs[4] & 0x14) == 0x14) /* FM remapping */
ret = ad1848->xregs[ad1848->index - 12]; /* real FM volume on registers 6 and 7 */ ret = ad1848->xregs[ad1848->index - 12]; /* real FM volume on registers 6 and 7 */
else if (ad1848->xregs[4] & 0x08) /* wavetable remapping */ else if (ad1848->wten && !(ad1848->xregs[4] & 0x08)) /* wavetable remapping */
ret = ad1848->xregs[ad1848->index - 2]; /* real wavetable volume on registers 16 and 17 */ ret = ad1848->xregs[ad1848->index - 2]; /* real wavetable volume on registers 16 and 17 */
} }
break; break;