--- np2/cbus/board86.c 2003/12/08 00:55:30 1.2 +++ np2/cbus/board86.c 2004/02/18 20:11:36 1.4 @@ -152,9 +152,13 @@ void board86_reset(void) { void board86_bind(void) { + fmboard_fmrestore(0, 0); + fmboard_fmrestore(3, 1); + psggen_restore(&psg1); + fmboard_rhyrestore(&rhythm, 0); sound_streamregist(&opngen, (SOUNDCB)opngen_getpcm); sound_streamregist(&psg1, (SOUNDCB)psggen_getpcm); - sound_streamregist(&rhythm, (SOUNDCB)rhythm_getpcm); + rhythm_bind(&rhythm); pcm86io_bind(); cbuscore_attachsndex(0x188 + opn.base, opna_o, opna_i); } @@ -171,7 +175,6 @@ static void IOOUTCALL opnac_o18e(UINT po } else { if (opn.extreg < 0x12) { - sound_sync(); adpcm_setreg(&adpcm, opn.extreg, dat); } } @@ -209,9 +212,13 @@ static const IOINP opnac_i[4] = { void board86c_bind(void) { + fmboard_fmrestore(0, 0); + fmboard_fmrestore(3, 1); + psggen_restore(&psg1); + fmboard_rhyrestore(&rhythm, 0); sound_streamregist(&opngen, (SOUNDCB)opngen_getpcm); sound_streamregist(&psg1, (SOUNDCB)psggen_getpcm); - sound_streamregist(&rhythm, (SOUNDCB)rhythm_getpcm); + rhythm_bind(&rhythm); sound_streamregist(&adpcm, (SOUNDCB)adpcm_getpcm); pcm86io_bind(); cbuscore_attachsndex(0x188 + opn.base, opnac_o, opnac_i);