|
|
| version 1.3, 2003/10/18 09:02:38 | version 1.6, 2003/10/27 15:06:31 |
|---|---|
| Line 187 void opngen_setVR(BYTE channel, BYTE val | Line 187 void opngen_setVR(BYTE channel, BYTE val |
| static void set_algorithm(OPNCH *ch) { | static void set_algorithm(OPNCH *ch) { |
| SINT32 *outd; | SINT32 *outd; |
| BYTE outslot; | |
| outd = &opngen.outdc; | outd = &opngen.outdc; |
| if (ch->stereo) { | if (ch->stereo) { |
| Line 205 static void set_algorithm(OPNCH *ch) { | Line 206 static void set_algorithm(OPNCH *ch) { |
| ch->connect1 = &opngen.feedback2; | ch->connect1 = &opngen.feedback2; |
| ch->connect2 = &opngen.feedback3; | ch->connect2 = &opngen.feedback3; |
| ch->connect3 = &opngen.feedback4; | ch->connect3 = &opngen.feedback4; |
| outslot = 0x08; | |
| break; | break; |
| case 1: | case 1: |
| ch->connect1 = &opngen.feedback3; | ch->connect1 = &opngen.feedback3; |
| ch->connect2 = &opngen.feedback3; | ch->connect2 = &opngen.feedback3; |
| ch->connect3 = &opngen.feedback4; | ch->connect3 = &opngen.feedback4; |
| outslot = 0x08; | |
| break; | break; |
| case 2: | case 2: |
| ch->connect1 = &opngen.feedback4; | ch->connect1 = &opngen.feedback4; |
| ch->connect2 = &opngen.feedback3; | ch->connect2 = &opngen.feedback3; |
| ch->connect3 = &opngen.feedback4; | ch->connect3 = &opngen.feedback4; |
| outslot = 0x08; | |
| break; | break; |
| case 3: | case 3: |
| ch->connect1 = &opngen.feedback2; | ch->connect1 = &opngen.feedback2; |
| ch->connect2 = &opngen.feedback4; | ch->connect2 = &opngen.feedback4; |
| ch->connect3 = &opngen.feedback4; | ch->connect3 = &opngen.feedback4; |
| outslot = 0x08; | |
| break; | break; |
| case 4: | case 4: |
| ch->connect1 = &opngen.feedback2; | ch->connect1 = &opngen.feedback2; |
| ch->connect2 = outd; | ch->connect2 = outd; |
| ch->connect3 = &opngen.feedback4; | ch->connect3 = &opngen.feedback4; |
| outslot = 0x0a; | |
| break; | break; |
| case 5: | case 5: |
| ch->connect1 = 0; | ch->connect1 = 0; |
| ch->connect2 = outd; | ch->connect2 = outd; |
| ch->connect3 = outd; | ch->connect3 = outd; |
| outslot = 0x0e; | |
| break; | break; |
| case 6: | case 6: |
| ch->connect1 = &opngen.feedback2; | ch->connect1 = &opngen.feedback2; |
| ch->connect2 = outd; | ch->connect2 = outd; |
| ch->connect3 = outd; | ch->connect3 = outd; |
| outslot = 0x0e; | |
| break; | break; |
| case 7: | case 7: |
| Line 248 static void set_algorithm(OPNCH *ch) { | Line 256 static void set_algorithm(OPNCH *ch) { |
| ch->connect1 = outd; | ch->connect1 = outd; |
| ch->connect2 = outd; | ch->connect2 = outd; |
| ch->connect3 = outd; | ch->connect3 = outd; |
| outslot = 0x0f; | |
| } | } |
| ch->connect4 = outd; | ch->connect4 = outd; |
| ch->outslot = outslot; | |
| } | } |
| static void set_dt1_mul(OPNSLOT *slot, BYTE value) { | static void set_dt1_mul(OPNSLOT *slot, BYTE value) { |
| Line 404 void opngen_reset(void) { | Line 414 void opngen_reset(void) { |
| ch++; | ch++; |
| } | } |
| for (i=0x30; i<0xc0; i++) { | for (i=0x30; i<0xc0; i++) { |
| opngen_setreg((BYTE)i, 0xff, 0); | opngen_setreg(0, (BYTE)i, 0xff); |
| opngen_setreg((BYTE)i, 0xff, 3); | opngen_setreg(3, (BYTE)i, 0xff); |
| opngen_setreg((BYTE)i, 0xff, 6); | opngen_setreg(6, (BYTE)i, 0xff); |
| opngen_setreg((BYTE)i, 0xff, 9); | opngen_setreg(9, (BYTE)i, 0xff); |
| } | } |
| } | } |
| Line 555 void opngen_keyon(UINT chnum, BYTE value | Line 565 void opngen_keyon(UINT chnum, BYTE value |
| sound_sync(); | sound_sync(); |
| opngen.keyreg[chnum] = value; | opngen.keyreg[chnum] = value; |
| opngen.playing++; | |
| ch = opnch + chnum; | ch = opnch + chnum; |
| ch->playing |= value >> 4; | |
| slot = ch->slot; | slot = ch->slot; |
| bit = 0x10; | bit = 0x10; |
| for (i=0; i<4; i++) { | for (i=0; i<4; i++) { |