|
|
| version 1.5, 2004/08/12 17:57:36 | version 1.6, 2005/02/04 06:42:11 |
|---|---|
| Line 2 | Line 2 |
| #include "joymng.h" | #include "joymng.h" |
| #include "pccore.h" | #include "pccore.h" |
| #include "iocore.h" | #include "iocore.h" |
| #include "keystat.h" | |
| #include "sound.h" | #include "sound.h" |
| #include "sndctrl.h" | #include "sndctrl.h" |
| #include "keystat.h" | |
| #include "x1f.h" | #include "x1f.h" |
| #if defined(SUPPORT_TURBOZ) || defined(SUPPORT_OPM) | |
| void IOOUTCALL opm_o(UINT port, REG8 dat) { | void IOOUTCALL opm_o(UINT port, REG8 dat) { |
| REG8 lsb; | REG8 lsb; |
| Line 21 void IOOUTCALL opm_o(UINT port, REG8 dat | Line 22 void IOOUTCALL opm_o(UINT port, REG8 dat |
| reg = sndboard.opmreg; | reg = sndboard.opmreg; |
| sndboard.opmdat[reg] = dat; | sndboard.opmdat[reg] = dat; |
| x1f_opm(reg, dat); | x1f_opm(reg, dat); |
| #if !defined(DISABLE_SOUND) | |
| opmgen_setreg(reg, dat); | opmgen_setreg(reg, dat); |
| #endif | |
| } | } |
| else if ((lsb & (~3)) == 0x04) { // 0704-0707 | else if ((lsb & (~3)) == 0x04) { // 0704-0707 |
| ctc_o(port, dat); | ctc_o(port, dat); |
| Line 43 REG8 IOINPCALL opm_i(UINT port) { | Line 46 REG8 IOINPCALL opm_i(UINT port) { |
| return(0xff); | return(0xff); |
| } | } |
| } | } |
| #endif | |
| void IOOUTCALL sndboard_psgreg(UINT port, REG8 dat) { | void IOOUTCALL sndboard_psgreg(UINT port, REG8 dat) { |
| Line 59 void IOOUTCALL sndboard_psgdat(UINT port | Line 63 void IOOUTCALL sndboard_psgdat(UINT port |
| if (reg < 0x0e) { | if (reg < 0x0e) { |
| sndboard.psgdat[reg] = dat; | sndboard.psgdat[reg] = dat; |
| x1f_psg(reg, dat); | x1f_psg(reg, dat); |
| #if !defined(DISABLE_SOUND) | |
| psggen_setreg(&psggen, reg, dat); | psggen_setreg(&psggen, reg, dat); |
| #endif | |
| } | } |
| (void)port; | (void)port; |
| } | } |
| Line 97 REG8 IOINPCALL sndboard_psgsta(UINT port | Line 103 REG8 IOINPCALL sndboard_psgsta(UINT port |
| // ---- | // ---- |
| #if !defined(DISABLE_SOUND) | |
| void sndboard_update(void) { | void sndboard_update(void) { |
| UINT i; | UINT i; |
| Line 104 void sndboard_update(void) { | Line 111 void sndboard_update(void) { |
| for (i=0; i<14; i++) { | for (i=0; i<14; i++) { |
| psggen_setreg(&psggen, (REG8)i, sndboard.psgdat[i]); | psggen_setreg(&psggen, (REG8)i, sndboard.psgdat[i]); |
| } | } |
| #if defined(SUPPORT_TURBOZ) || defined(SUPPORT_OPM) | |
| for (i=0x20; i<0x100; i++) { | for (i=0x20; i<0x100; i++) { |
| opmgen_setreg((REG8)i, sndboard.opmdat[i]); | opmgen_setreg((REG8)i, sndboard.opmdat[i]); |
| } | } |
| #endif | |
| } | } |
| #endif | |
| void sndboard_reset(void) { | void sndboard_reset(void) { |
| ZeroMemory(&sndboard, sizeof(sndboard)); | ZeroMemory(&sndboard, sizeof(sndboard)); |
| CopyMemory(sndboard.psgdat, psggen_deftbl, sizeof(psggen_deftbl)); | sndboard.psgdat[0x07] = 0x3f; |
| sndctrl_reset(); | sndctrl_reset(); |
| } | } |