|
|
| version 1.1.1.1, 2003/10/16 17:58:03 | version 1.5, 2005/02/07 14:46:12 |
|---|---|
| Line 21 void tms3631_initialize(UINT rate) { | Line 21 void tms3631_initialize(UINT rate) { |
| UINT sft; | UINT sft; |
| ZeroMemory(&tms3631cfg, sizeof(tms3631cfg)); | ZeroMemory(&tms3631cfg, sizeof(tms3631cfg)); |
| sft = 0; | |
| if (rate == 11025) { | if (rate == 11025) { |
| sft = 0; | sft = 0; |
| } | } |
| Line 33 void tms3631_initialize(UINT rate) { | Line 34 void tms3631_initialize(UINT rate) { |
| tms3631cfg.ratesft = sft; | tms3631cfg.ratesft = sft; |
| } | } |
| void tms3631_setvol(const BYTE *vol) { | void tms3631_setvol(const UINT8 *vol) { |
| UINT i; | UINT i; |
| UINT j; | UINT j; |
| SINT32 data; | SINT32 data; |
| tms3631cfg.left = (vol[0] & 15) << 6; | tms3631cfg.left = (vol[0] & 15) << 5; |
| tms3631cfg.right = (vol[1] & 15) << 6; | tms3631cfg.right = (vol[1] & 15) << 5; |
| vol += 2; | vol += 2; |
| for (i=0; i<16; i++) { | for (i=0; i<16; i++) { |
| data = 0; | data = 0; |
| for (j=0; j<4; j++) { | for (j=0; j<4; j++) { |
| data += (vol[j] & 15) * ((i & (1 << j))?1:-1); | data += (vol[j] & 15) * ((i & (1 << j))?1:-1); |
| } | } |
| tms3631cfg.feet[i] = data << 6; | tms3631cfg.feet[i] = data << 5; |
| } | } |
| } | } |
| Line 59 void tms3631_reset(TMS3631 tms) { | Line 60 void tms3631_reset(TMS3631 tms) { |
| ZeroMemory(tms, sizeof(_TMS3631)); | ZeroMemory(tms, sizeof(_TMS3631)); |
| } | } |
| void tms3631_setkey(TMS3631 tms, BYTE ch, BYTE key) { | void tms3631_setkey(TMS3631 tms, REG8 ch, REG8 key) { |
| tms->ch[ch & 7].freq = tms3631_freqtbl[key & 0x3f] >> tms3631cfg.ratesft; | tms->ch[ch & 7].freq = tms3631_freqtbl[key & 0x3f] >> tms3631cfg.ratesft; |
| } | } |
| void tms3631_setenable(TMS3631 tms, BYTE enable) { | void tms3631_setenable(TMS3631 tms, REG8 enable) { |
| tms->enable = enable; | tms->enable = enable; |
| } | } |