|
|
| version 1.2, 2004/08/05 11:30:12 | version 1.8, 2005/02/07 16:56:33 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #if defined(SUPPORT_TURBOZ) || defined(SUPPORT_OPM) | |
| #ifndef PALMOS | |
| #include <math.h> | #include <math.h> |
| #endif | |
| #include "sound.h" | #include "sound.h" |
| #include "sndctrl.h" | #include "sndctrl.h" |
| // extern int s_cnt; | |
| // extern DWORD basedclk; | |
| #define OPM_ARRATE 399128L | #define OPM_ARRATE 399128L |
| #define OPM_DRRATE 5514396L | #define OPM_DRRATE 5514396L |
| Line 122 void opmgen_initialize(UINT rate) { | Line 123 void opmgen_initialize(UINT rate) { |
| detune2table[3] = D2(3.0); | detune2table[3] = D2(3.0); |
| } | } |
| void opmgen_setvol(UINT vol) { | |
| opmcfg.fmvol = vol; | |
| } | |
| // ---- | // ---- |
| Line 179 static void set_algorithm(OPMCH *ch, REG | Line 185 static void set_algorithm(OPMCH *ch, REG |
| ch->feedback = 0; | ch->feedback = 0; |
| } | } |
| switch(value & 0xc0) { | switch((value >> 6) & 3) { |
| case 0x40: | case 0: |
| outd = &opmgen.feedback4; | |
| break; | |
| case 1: | |
| outd = &opmgen.outdl; | outd = &opmgen.outdl; |
| break; | break; |
| case 0x80: | case 2: |
| outd = &opmgen.outdr; | outd = &opmgen.outdr; |
| break; | break; |
| default: | case 3: |
| outd = &opmgen.outdc; | outd = &opmgen.outdc; |
| break; | break; |
| } | } |
| Line 381 void opmgen_setreg(REG8 reg, REG8 value) | Line 391 void opmgen_setreg(REG8 reg, REG8 value) |
| OPMCH *ch; | OPMCH *ch; |
| OPMSLOT *slot; | OPMSLOT *slot; |
| // if (romeo_exist) { | sound_sync(); |
| // juliet2_YM2151W(reg, value, (basedclk * s_cnt / 1600)); | |
| // return; | |
| // } | |
| c = reg & 7; | c = reg & 7; |
| ch = opmch + c; | ch = opmch + c; |
| slot = ch->slot + fmslot[(reg >> 3) & 3]; | slot = ch->slot + fmslot[(reg >> 3) & 3]; |
| Line 471 void opmgen_setreg(REG8 reg, REG8 value) | Line 477 void opmgen_setreg(REG8 reg, REG8 value) |
| } | } |
| } | } |
| #endif | |