--- xmil/win9x/sndboard.c 2004/08/05 11:30:12 1.1 +++ xmil/win9x/sndboard.c 2004/08/17 15:43:34 1.3 @@ -63,6 +63,7 @@ void IOOUTCALL sndboard_psgdat(UINT port REG8 reg; reg = sndboard.psgreg; + TRACEOUT(("psg %.2x %.2x", reg, dat)); if (reg < 0x0e) { sndboard.psgdat[reg] = dat; x1f_psg(reg, dat); @@ -107,6 +108,28 @@ REG8 IOINPCALL sndboard_psgsta(UINT port // ---- +void sndboard_update(void) { + + UINT i; + + if (romeo_exist) { + for (i=0; i<14; i++) { + juliet_YMF288A((REG8)i, sndboard.psgdat[i]); + } + for (i=0x20; i<0x100; i++) { + juliet_YM2151W((REG8)i, sndboard.opmdat[i]); + } + } + else { + for (i=0; i<14; i++) { + psggen_setreg(&psggen, (REG8)i, sndboard.psgdat[i]); + } + for (i=0x20; i<0x100; i++) { + opmgen_setreg((REG8)i, sndboard.opmdat[i]); + } + } +} + void sndboard_reset(void) { ZeroMemory(&sndboard, sizeof(sndboard));