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

version 1.2, 2003/10/18 07:28:50 version 1.6, 2003/10/27 15:06:31
Line 169  void opngen_setvol(UINT vol) { Line 169  void opngen_setvol(UINT vol) {
 #endif  #endif
 }  }
   
   void opngen_setVR(BYTE channel, BYTE value) {
   
           if ((channel & 3) && (value)) {
                   opncfg.vr_en = TRUE;
                   opncfg.vr_l = (channel & 1)?value:0;
                   opncfg.vr_r = (channel & 2)?value:0;
           }
           else {
                   opncfg.vr_en = FALSE;
           }
   }
   
   
 // ----  // ----
   
 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 193  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 236  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 392  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 543  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.2  
changed lines
  Added in v.1.6


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