Diff for /np2/sound/opngenc.c between versions 1.3 and 1.6

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++) {

Removed from v.1.3  
changed lines
  Added in v.1.6


RetroPC.NET-CVS <cvs@retropc.net>