--- np2/cbus/boardx2.c 2003/12/08 00:55:30 1.3 +++ np2/cbus/boardx2.c 2005/05/12 17:24:05 1.7 @@ -59,7 +59,11 @@ static REG8 IOINPCALL opn_i08a(UINT port return(psggen_getreg(&psg1, opn.opn2reg)); } (void)port; +#if 1 + return(opn.opn2reg); +#else return(0xff); +#endif } @@ -141,14 +145,21 @@ static REG8 IOINPCALL opna_i188(UINT por static REG8 IOINPCALL opna_i18a(UINT port) { + (void)port; if (opn.opnreg == 0x0e) { return(fmboard_getjoy(&psg2)); } else if (opn.opnreg < 0x10) { return(psggen_getreg(&psg2, opn.opnreg)); } - (void)port; +#if 1 + else if (opn.opnreg == 0xff) { + return(1); + } + return(opn.opnreg); +#else return(opn.reg[opn.opnreg]); +#endif } static REG8 IOINPCALL opna_i18c(UINT port) { @@ -204,16 +215,22 @@ void boardx2_reset(void) { fmtimer_reset(0xc0); opn.channels = 6; opngen_setcfg(6, OPN_STEREO | 0x1c0); - soundrom_load(0xcc000, "86"); + soundrom_load(0xcc000, OEMTEXT("86")); fmboard_extreg(extendchannel); } void boardx2_bind(void) { + fmboard_fmrestore(0, 2); + fmboard_fmrestore(3, 0); + fmboard_fmrestore(6, 1); + psggen_restore(&psg1); + psggen_restore(&psg2); + fmboard_rhyrestore(&rhythm, 0); sound_streamregist(&opngen, (SOUNDCB)opngen_getpcm); sound_streamregist(&psg1, (SOUNDCB)psggen_getpcm); sound_streamregist(&psg2, (SOUNDCB)psggen_getpcm); - sound_streamregist(&rhythm, (SOUNDCB)rhythm_getpcm); + rhythm_bind(&rhythm); pcm86io_bind(); cbuscore_attachsndex(0x088, opn_o, opn_i); cbuscore_attachsndex(0x188, opna_o, opna_i);