|
|
| version 1.1, 2003/10/16 17:58:03 | version 1.3, 2003/11/12 20:02:54 |
|---|---|
| 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 39 void tms3631_setvol(const BYTE *vol) { | Line 40 void tms3631_setvol(const BYTE *vol) { |
| 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; |
| } | } |
| } | } |