diff options
| author | Vitaly Novichkov <admin@wohlnet.ru> | 2018-06-19 15:04:50 +0300 | 
|---|---|---|
| committer | Vitaly Novichkov <admin@wohlnet.ru> | 2018-06-19 15:04:50 +0300 | 
| commit | c0873278718da57ff19194377a35601027926c5f (patch) | |
| tree | 6fca461d067a1e615788cecf7a74c175f0033fc8 /src/chips/nuked | |
| parent | 5a194eb263125e5505cca3ec0256c7efa348eaa4 (diff) | |
| parent | 1026ecd3fd8dc865fb3a85ab4a130d9d1b494fd9 (diff) | |
| download | libADLMIDI-c0873278718da57ff19194377a35601027926c5f.tar.gz libADLMIDI-c0873278718da57ff19194377a35601027926c5f.tar.bz2 libADLMIDI-c0873278718da57ff19194377a35601027926c5f.zip  | |
Merge branch 'master' into stable
Diffstat (limited to 'src/chips/nuked')
| -rw-r--r-- | src/chips/nuked/nukedopl3.c | 176 | ||||
| -rw-r--r-- | src/chips/nuked/nukedopl3.h | 2 | ||||
| -rw-r--r-- | src/chips/nuked/nukedopl3_174.c | 206 | ||||
| -rw-r--r-- | src/chips/nuked/nukedopl3_174.h | 2 | 
4 files changed, 193 insertions, 193 deletions
diff --git a/src/chips/nuked/nukedopl3.c b/src/chips/nuked/nukedopl3.c index eadb6b9..87d3212 100644 --- a/src/chips/nuked/nukedopl3.c +++ b/src/chips/nuked/nukedopl3.c @@ -697,18 +697,18 @@ static void OPL3_ChannelUpdateRhythm(opl3_chip *chip, Bit8u data)          channel6 = &chip->channel[6];          channel7 = &chip->channel[7];          channel8 = &chip->channel[8]; -        channel6->out[0] = &channel6->slots[1]->out; -        channel6->out[1] = &channel6->slots[1]->out; +        channel6->out[0] = &channel6->slotz[1]->out; +        channel6->out[1] = &channel6->slotz[1]->out;          channel6->out[2] = &chip->zeromod;          channel6->out[3] = &chip->zeromod; -        channel7->out[0] = &channel7->slots[0]->out; -        channel7->out[1] = &channel7->slots[0]->out; -        channel7->out[2] = &channel7->slots[1]->out; -        channel7->out[3] = &channel7->slots[1]->out; -        channel8->out[0] = &channel8->slots[0]->out; -        channel8->out[1] = &channel8->slots[0]->out; -        channel8->out[2] = &channel8->slots[1]->out; -        channel8->out[3] = &channel8->slots[1]->out; +        channel7->out[0] = &channel7->slotz[0]->out; +        channel7->out[1] = &channel7->slotz[0]->out; +        channel7->out[2] = &channel7->slotz[1]->out; +        channel7->out[3] = &channel7->slotz[1]->out; +        channel8->out[0] = &channel8->slotz[0]->out; +        channel8->out[1] = &channel8->slotz[0]->out; +        channel8->out[2] = &channel8->slotz[1]->out; +        channel8->out[3] = &channel8->slotz[1]->out;          for (chnum = 6; chnum < 9; chnum++)          {              chip->channel[chnum].chtype = ch_drum; @@ -719,49 +719,49 @@ static void OPL3_ChannelUpdateRhythm(opl3_chip *chip, Bit8u data)          /* hh */          if (chip->rhy & 0x01)          { -            OPL3_EnvelopeKeyOn(channel7->slots[0], egk_drum); +            OPL3_EnvelopeKeyOn(channel7->slotz[0], egk_drum);          }          else          { -            OPL3_EnvelopeKeyOff(channel7->slots[0], egk_drum); +            OPL3_EnvelopeKeyOff(channel7->slotz[0], egk_drum);          }          /* tc */          if (chip->rhy & 0x02)          { -            OPL3_EnvelopeKeyOn(channel8->slots[1], egk_drum); +            OPL3_EnvelopeKeyOn(channel8->slotz[1], egk_drum);          }          else          { -            OPL3_EnvelopeKeyOff(channel8->slots[1], egk_drum); +            OPL3_EnvelopeKeyOff(channel8->slotz[1], egk_drum);          }          /* tom */          if (chip->rhy & 0x04)          { -            OPL3_EnvelopeKeyOn(channel8->slots[0], egk_drum); +            OPL3_EnvelopeKeyOn(channel8->slotz[0], egk_drum);          }          else          { -            OPL3_EnvelopeKeyOff(channel8->slots[0], egk_drum); +            OPL3_EnvelopeKeyOff(channel8->slotz[0], egk_drum);          }          /* sd */          if (chip->rhy & 0x08)          { -            OPL3_EnvelopeKeyOn(channel7->slots[1], egk_drum); +            OPL3_EnvelopeKeyOn(channel7->slotz[1], egk_drum);          }          else          { -            OPL3_EnvelopeKeyOff(channel7->slots[1], egk_drum); +            OPL3_EnvelopeKeyOff(channel7->slotz[1], egk_drum);          }          /* bd */          if (chip->rhy & 0x10)          { -            OPL3_EnvelopeKeyOn(channel6->slots[0], egk_drum); -            OPL3_EnvelopeKeyOn(channel6->slots[1], egk_drum); +            OPL3_EnvelopeKeyOn(channel6->slotz[0], egk_drum); +            OPL3_EnvelopeKeyOn(channel6->slotz[1], egk_drum);          }          else          { -            OPL3_EnvelopeKeyOff(channel6->slots[0], egk_drum); -            OPL3_EnvelopeKeyOff(channel6->slots[1], egk_drum); +            OPL3_EnvelopeKeyOff(channel6->slotz[0], egk_drum); +            OPL3_EnvelopeKeyOff(channel6->slotz[1], egk_drum);          }      }      else @@ -770,8 +770,8 @@ static void OPL3_ChannelUpdateRhythm(opl3_chip *chip, Bit8u data)          {              chip->channel[chnum].chtype = ch_2op;              OPL3_ChannelSetupAlg(&chip->channel[chnum]); -            OPL3_EnvelopeKeyOff(chip->channel[chnum].slots[0], egk_drum); -            OPL3_EnvelopeKeyOff(chip->channel[chnum].slots[1], egk_drum); +            OPL3_EnvelopeKeyOff(chip->channel[chnum].slotz[0], egk_drum); +            OPL3_EnvelopeKeyOff(chip->channel[chnum].slotz[1], egk_drum);          }      }  } @@ -785,14 +785,14 @@ static void OPL3_ChannelWriteA0(opl3_channel *channel, Bit8u data)      channel->f_num = (channel->f_num & 0x300) | data;      channel->ksv = (channel->block << 1)                   | ((channel->f_num >> (0x09 - channel->chip->nts)) & 0x01); -    OPL3_EnvelopeUpdateKSL(channel->slots[0]); -    OPL3_EnvelopeUpdateKSL(channel->slots[1]); +    OPL3_EnvelopeUpdateKSL(channel->slotz[0]); +    OPL3_EnvelopeUpdateKSL(channel->slotz[1]);      if (channel->chip->newm && channel->chtype == ch_4op)      {          channel->pair->f_num = channel->f_num;          channel->pair->ksv = channel->ksv; -        OPL3_EnvelopeUpdateKSL(channel->pair->slots[0]); -        OPL3_EnvelopeUpdateKSL(channel->pair->slots[1]); +        OPL3_EnvelopeUpdateKSL(channel->pair->slotz[0]); +        OPL3_EnvelopeUpdateKSL(channel->pair->slotz[1]);      }  } @@ -806,15 +806,15 @@ static void OPL3_ChannelWriteB0(opl3_channel *channel, Bit8u data)      channel->block = (data >> 2) & 0x07;      channel->ksv = (channel->block << 1)                   | ((channel->f_num >> (0x09 - channel->chip->nts)) & 0x01); -    OPL3_EnvelopeUpdateKSL(channel->slots[0]); -    OPL3_EnvelopeUpdateKSL(channel->slots[1]); +    OPL3_EnvelopeUpdateKSL(channel->slotz[0]); +    OPL3_EnvelopeUpdateKSL(channel->slotz[1]);      if (channel->chip->newm && channel->chtype == ch_4op)      {          channel->pair->f_num = channel->f_num;          channel->pair->block = channel->block;          channel->pair->ksv = channel->ksv; -        OPL3_EnvelopeUpdateKSL(channel->pair->slots[0]); -        OPL3_EnvelopeUpdateKSL(channel->pair->slots[1]); +        OPL3_EnvelopeUpdateKSL(channel->pair->slotz[0]); +        OPL3_EnvelopeUpdateKSL(channel->pair->slotz[1]);      }  } @@ -824,19 +824,19 @@ static void OPL3_ChannelSetupAlg(opl3_channel *channel)      {          if (channel->ch_num == 7 || channel->ch_num == 8)          { -            channel->slots[0]->mod = &channel->chip->zeromod; -            channel->slots[1]->mod = &channel->chip->zeromod; +            channel->slotz[0]->mod = &channel->chip->zeromod; +            channel->slotz[1]->mod = &channel->chip->zeromod;              return;          }          switch (channel->alg & 0x01)          {          case 0x00: -            channel->slots[0]->mod = &channel->slots[0]->fbmod; -            channel->slots[1]->mod = &channel->slots[0]->out; +            channel->slotz[0]->mod = &channel->slotz[0]->fbmod; +            channel->slotz[1]->mod = &channel->slotz[0]->out;              break;          case 0x01: -            channel->slots[0]->mod = &channel->slots[0]->fbmod; -            channel->slots[1]->mod = &channel->chip->zeromod; +            channel->slotz[0]->mod = &channel->slotz[0]->fbmod; +            channel->slotz[1]->mod = &channel->chip->zeromod;              break;          }          return; @@ -854,43 +854,43 @@ static void OPL3_ChannelSetupAlg(opl3_channel *channel)          switch (channel->alg & 0x03)          {          case 0x00: -            channel->pair->slots[0]->mod = &channel->pair->slots[0]->fbmod; -            channel->pair->slots[1]->mod = &channel->pair->slots[0]->out; -            channel->slots[0]->mod = &channel->pair->slots[1]->out; -            channel->slots[1]->mod = &channel->slots[0]->out; -            channel->out[0] = &channel->slots[1]->out; +            channel->pair->slotz[0]->mod = &channel->pair->slotz[0]->fbmod; +            channel->pair->slotz[1]->mod = &channel->pair->slotz[0]->out; +            channel->slotz[0]->mod = &channel->pair->slotz[1]->out; +            channel->slotz[1]->mod = &channel->slotz[0]->out; +            channel->out[0] = &channel->slotz[1]->out;              channel->out[1] = &channel->chip->zeromod;              channel->out[2] = &channel->chip->zeromod;              channel->out[3] = &channel->chip->zeromod;              break;          case 0x01: -            channel->pair->slots[0]->mod = &channel->pair->slots[0]->fbmod; -            channel->pair->slots[1]->mod = &channel->pair->slots[0]->out; -            channel->slots[0]->mod = &channel->chip->zeromod; -            channel->slots[1]->mod = &channel->slots[0]->out; -            channel->out[0] = &channel->pair->slots[1]->out; -            channel->out[1] = &channel->slots[1]->out; +            channel->pair->slotz[0]->mod = &channel->pair->slotz[0]->fbmod; +            channel->pair->slotz[1]->mod = &channel->pair->slotz[0]->out; +            channel->slotz[0]->mod = &channel->chip->zeromod; +            channel->slotz[1]->mod = &channel->slotz[0]->out; +            channel->out[0] = &channel->pair->slotz[1]->out; +            channel->out[1] = &channel->slotz[1]->out;              channel->out[2] = &channel->chip->zeromod;              channel->out[3] = &channel->chip->zeromod;              break;          case 0x02: -            channel->pair->slots[0]->mod = &channel->pair->slots[0]->fbmod; -            channel->pair->slots[1]->mod = &channel->chip->zeromod; -            channel->slots[0]->mod = &channel->pair->slots[1]->out; -            channel->slots[1]->mod = &channel->slots[0]->out; -            channel->out[0] = &channel->pair->slots[0]->out; -            channel->out[1] = &channel->slots[1]->out; +            channel->pair->slotz[0]->mod = &channel->pair->slotz[0]->fbmod; +            channel->pair->slotz[1]->mod = &channel->chip->zeromod; +            channel->slotz[0]->mod = &channel->pair->slotz[1]->out; +            channel->slotz[1]->mod = &channel->slotz[0]->out; +            channel->out[0] = &channel->pair->slotz[0]->out; +            channel->out[1] = &channel->slotz[1]->out;              channel->out[2] = &channel->chip->zeromod;              channel->out[3] = &channel->chip->zeromod;              break;          case 0x03: -            channel->pair->slots[0]->mod = &channel->pair->slots[0]->fbmod; -            channel->pair->slots[1]->mod = &channel->chip->zeromod; -            channel->slots[0]->mod = &channel->pair->slots[1]->out; -            channel->slots[1]->mod = &channel->chip->zeromod; -            channel->out[0] = &channel->pair->slots[0]->out; -            channel->out[1] = &channel->slots[0]->out; -            channel->out[2] = &channel->slots[1]->out; +            channel->pair->slotz[0]->mod = &channel->pair->slotz[0]->fbmod; +            channel->pair->slotz[1]->mod = &channel->chip->zeromod; +            channel->slotz[0]->mod = &channel->pair->slotz[1]->out; +            channel->slotz[1]->mod = &channel->chip->zeromod; +            channel->out[0] = &channel->pair->slotz[0]->out; +            channel->out[1] = &channel->slotz[0]->out; +            channel->out[2] = &channel->slotz[1]->out;              channel->out[3] = &channel->chip->zeromod;              break;          } @@ -900,18 +900,18 @@ static void OPL3_ChannelSetupAlg(opl3_channel *channel)          switch (channel->alg & 0x01)          {          case 0x00: -            channel->slots[0]->mod = &channel->slots[0]->fbmod; -            channel->slots[1]->mod = &channel->slots[0]->out; -            channel->out[0] = &channel->slots[1]->out; +            channel->slotz[0]->mod = &channel->slotz[0]->fbmod; +            channel->slotz[1]->mod = &channel->slotz[0]->out; +            channel->out[0] = &channel->slotz[1]->out;              channel->out[1] = &channel->chip->zeromod;              channel->out[2] = &channel->chip->zeromod;              channel->out[3] = &channel->chip->zeromod;              break;          case 0x01: -            channel->slots[0]->mod = &channel->slots[0]->fbmod; -            channel->slots[1]->mod = &channel->chip->zeromod; -            channel->out[0] = &channel->slots[0]->out; -            channel->out[1] = &channel->slots[1]->out; +            channel->slotz[0]->mod = &channel->slotz[0]->fbmod; +            channel->slotz[1]->mod = &channel->chip->zeromod; +            channel->out[0] = &channel->slotz[0]->out; +            channel->out[1] = &channel->slotz[1]->out;              channel->out[2] = &channel->chip->zeromod;              channel->out[3] = &channel->chip->zeromod;              break; @@ -964,21 +964,21 @@ static void OPL3_ChannelKeyOn(opl3_channel *channel)      {          if (channel->chtype == ch_4op)          { -            OPL3_EnvelopeKeyOn(channel->slots[0], egk_norm); -            OPL3_EnvelopeKeyOn(channel->slots[1], egk_norm); -            OPL3_EnvelopeKeyOn(channel->pair->slots[0], egk_norm); -            OPL3_EnvelopeKeyOn(channel->pair->slots[1], egk_norm); +            OPL3_EnvelopeKeyOn(channel->slotz[0], egk_norm); +            OPL3_EnvelopeKeyOn(channel->slotz[1], egk_norm); +            OPL3_EnvelopeKeyOn(channel->pair->slotz[0], egk_norm); +            OPL3_EnvelopeKeyOn(channel->pair->slotz[1], egk_norm);          }          else if (channel->chtype == ch_2op || channel->chtype == ch_drum)          { -            OPL3_EnvelopeKeyOn(channel->slots[0], egk_norm); -            OPL3_EnvelopeKeyOn(channel->slots[1], egk_norm); +            OPL3_EnvelopeKeyOn(channel->slotz[0], egk_norm); +            OPL3_EnvelopeKeyOn(channel->slotz[1], egk_norm);          }      }      else      { -        OPL3_EnvelopeKeyOn(channel->slots[0], egk_norm); -        OPL3_EnvelopeKeyOn(channel->slots[1], egk_norm); +        OPL3_EnvelopeKeyOn(channel->slotz[0], egk_norm); +        OPL3_EnvelopeKeyOn(channel->slotz[1], egk_norm);      }  } @@ -988,21 +988,21 @@ static void OPL3_ChannelKeyOff(opl3_channel *channel)      {          if (channel->chtype == ch_4op)          { -            OPL3_EnvelopeKeyOff(channel->slots[0], egk_norm); -            OPL3_EnvelopeKeyOff(channel->slots[1], egk_norm); -            OPL3_EnvelopeKeyOff(channel->pair->slots[0], egk_norm); -            OPL3_EnvelopeKeyOff(channel->pair->slots[1], egk_norm); +            OPL3_EnvelopeKeyOff(channel->slotz[0], egk_norm); +            OPL3_EnvelopeKeyOff(channel->slotz[1], egk_norm); +            OPL3_EnvelopeKeyOff(channel->pair->slotz[0], egk_norm); +            OPL3_EnvelopeKeyOff(channel->pair->slotz[1], egk_norm);          }          else if (channel->chtype == ch_2op || channel->chtype == ch_drum)          { -            OPL3_EnvelopeKeyOff(channel->slots[0], egk_norm); -            OPL3_EnvelopeKeyOff(channel->slots[1], egk_norm); +            OPL3_EnvelopeKeyOff(channel->slotz[0], egk_norm); +            OPL3_EnvelopeKeyOff(channel->slotz[1], egk_norm);          }      }      else      { -        OPL3_EnvelopeKeyOff(channel->slots[0], egk_norm); -        OPL3_EnvelopeKeyOff(channel->slots[1], egk_norm); +        OPL3_EnvelopeKeyOff(channel->slotz[0], egk_norm); +        OPL3_EnvelopeKeyOff(channel->slotz[1], egk_norm);      }  } @@ -1147,7 +1147,7 @@ void OPL3_Generate(opl3_chip *chip, Bit16s *buf)      if (chip->eg_timerrem || chip->eg_state)      { -        if (chip->eg_timer == 0xfffffffff) +        if (chip->eg_timer == (uint64_t)0xfffffffffU)          {              chip->eg_timer = 0;              chip->eg_timerrem = 1; @@ -1209,8 +1209,8 @@ void OPL3_Reset(opl3_chip *chip, Bit32u samplerate)      }      for (channum = 0; channum < 18; channum++)      { -        chip->channel[channum].slots[0] = &chip->slot[ch_slot[channum]]; -        chip->channel[channum].slots[1] = &chip->slot[ch_slot[channum] + 3]; +        chip->channel[channum].slotz[0] = &chip->slot[ch_slot[channum]]; +        chip->channel[channum].slotz[1] = &chip->slot[ch_slot[channum] + 3];          chip->slot[ch_slot[channum]].channel = &chip->channel[channum];          chip->slot[ch_slot[channum] + 3].channel = &chip->channel[channum];          if ((channum % 9) < 3) diff --git a/src/chips/nuked/nukedopl3.h b/src/chips/nuked/nukedopl3.h index ce748b1..d57cf5f 100644 --- a/src/chips/nuked/nukedopl3.h +++ b/src/chips/nuked/nukedopl3.h @@ -86,7 +86,7 @@ struct _opl3_slot {  };  struct _opl3_channel { -    opl3_slot *slots[2]; +    opl3_slot *slotz[2];/*Don't use "slots" keyword to avoid conflict with Qt applications*/      opl3_channel *pair;      opl3_chip *chip;      Bit16s *out[4]; diff --git a/src/chips/nuked/nukedopl3_174.c b/src/chips/nuked/nukedopl3_174.c index 401089c..99eab16 100644 --- a/src/chips/nuked/nukedopl3_174.c +++ b/src/chips/nuked/nukedopl3_174.c @@ -638,18 +638,18 @@ static void OPL3_ChannelUpdateRhythm(opl3_chip *chip, Bit8u data)          channel6 = &chip->channel[6];          channel7 = &chip->channel[7];          channel8 = &chip->channel[8]; -        channel6->out[0] = &channel6->slots[1]->out; -        channel6->out[1] = &channel6->slots[1]->out; +        channel6->out[0] = &channel6->slotz[1]->out; +        channel6->out[1] = &channel6->slotz[1]->out;          channel6->out[2] = &chip->zeromod;          channel6->out[3] = &chip->zeromod; -        channel7->out[0] = &channel7->slots[0]->out; -        channel7->out[1] = &channel7->slots[0]->out; -        channel7->out[2] = &channel7->slots[1]->out; -        channel7->out[3] = &channel7->slots[1]->out; -        channel8->out[0] = &channel8->slots[0]->out; -        channel8->out[1] = &channel8->slots[0]->out; -        channel8->out[2] = &channel8->slots[1]->out; -        channel8->out[3] = &channel8->slots[1]->out; +        channel7->out[0] = &channel7->slotz[0]->out; +        channel7->out[1] = &channel7->slotz[0]->out; +        channel7->out[2] = &channel7->slotz[1]->out; +        channel7->out[3] = &channel7->slotz[1]->out; +        channel8->out[0] = &channel8->slotz[0]->out; +        channel8->out[1] = &channel8->slotz[0]->out; +        channel8->out[2] = &channel8->slotz[1]->out; +        channel8->out[3] = &channel8->slotz[1]->out;          for (chnum = 6; chnum < 9; chnum++)          {              chip->channel[chnum].chtype = ch_drum; @@ -658,49 +658,49 @@ static void OPL3_ChannelUpdateRhythm(opl3_chip *chip, Bit8u data)          /*hh*/          if (chip->rhy & 0x01)          { -            OPL3_EnvelopeKeyOn(channel7->slots[0], egk_drum); +            OPL3_EnvelopeKeyOn(channel7->slotz[0], egk_drum);          }          else          { -            OPL3_EnvelopeKeyOff(channel7->slots[0], egk_drum); +            OPL3_EnvelopeKeyOff(channel7->slotz[0], egk_drum);          }          /*tc*/          if (chip->rhy & 0x02)          { -            OPL3_EnvelopeKeyOn(channel8->slots[1], egk_drum); +            OPL3_EnvelopeKeyOn(channel8->slotz[1], egk_drum);          }          else          { -            OPL3_EnvelopeKeyOff(channel8->slots[1], egk_drum); +            OPL3_EnvelopeKeyOff(channel8->slotz[1], egk_drum);          }          /*tom*/          if (chip->rhy & 0x04)          { -            OPL3_EnvelopeKeyOn(channel8->slots[0], egk_drum); +            OPL3_EnvelopeKeyOn(channel8->slotz[0], egk_drum);          }          else          { -            OPL3_EnvelopeKeyOff(channel8->slots[0], egk_drum); +            OPL3_EnvelopeKeyOff(channel8->slotz[0], egk_drum);          }          /*sd*/          if (chip->rhy & 0x08)          { -            OPL3_EnvelopeKeyOn(channel7->slots[1], egk_drum); +            OPL3_EnvelopeKeyOn(channel7->slotz[1], egk_drum);          }          else          { -            OPL3_EnvelopeKeyOff(channel7->slots[1], egk_drum); +            OPL3_EnvelopeKeyOff(channel7->slotz[1], egk_drum);          }          /*bd*/          if (chip->rhy & 0x10)          { -            OPL3_EnvelopeKeyOn(channel6->slots[0], egk_drum); -            OPL3_EnvelopeKeyOn(channel6->slots[1], egk_drum); +            OPL3_EnvelopeKeyOn(channel6->slotz[0], egk_drum); +            OPL3_EnvelopeKeyOn(channel6->slotz[1], egk_drum);          }          else          { -            OPL3_EnvelopeKeyOff(channel6->slots[0], egk_drum); -            OPL3_EnvelopeKeyOff(channel6->slots[1], egk_drum); +            OPL3_EnvelopeKeyOff(channel6->slotz[0], egk_drum); +            OPL3_EnvelopeKeyOff(channel6->slotz[1], egk_drum);          }      }      else @@ -709,8 +709,8 @@ static void OPL3_ChannelUpdateRhythm(opl3_chip *chip, Bit8u data)          {              chip->channel[chnum].chtype = ch_2op;              OPL3_ChannelSetupAlg(&chip->channel[chnum]); -            OPL3_EnvelopeKeyOff(chip->channel[chnum].slots[0], egk_drum); -            OPL3_EnvelopeKeyOff(chip->channel[chnum].slots[1], egk_drum); +            OPL3_EnvelopeKeyOff(chip->channel[chnum].slotz[0], egk_drum); +            OPL3_EnvelopeKeyOff(chip->channel[chnum].slotz[1], egk_drum);          }      }  } @@ -724,18 +724,18 @@ static void OPL3_ChannelWriteA0(opl3_channel *channel, Bit8u data)      channel->f_num = (channel->f_num & 0x300) | data;      channel->ksv = (channel->block << 1)                   | ((channel->f_num >> (0x09 - channel->chip->nts)) & 0x01); -    OPL3_EnvelopeUpdateKSL(channel->slots[0]); -    OPL3_EnvelopeUpdateKSL(channel->slots[1]); -    OPL3_EnvelopeUpdateRate(channel->slots[0]); -    OPL3_EnvelopeUpdateRate(channel->slots[1]); +    OPL3_EnvelopeUpdateKSL(channel->slotz[0]); +    OPL3_EnvelopeUpdateKSL(channel->slotz[1]); +    OPL3_EnvelopeUpdateRate(channel->slotz[0]); +    OPL3_EnvelopeUpdateRate(channel->slotz[1]);      if (channel->chip->newm && channel->chtype == ch_4op)      {          channel->pair->f_num = channel->f_num;          channel->pair->ksv = channel->ksv; -        OPL3_EnvelopeUpdateKSL(channel->pair->slots[0]); -        OPL3_EnvelopeUpdateKSL(channel->pair->slots[1]); -        OPL3_EnvelopeUpdateRate(channel->pair->slots[0]); -        OPL3_EnvelopeUpdateRate(channel->pair->slots[1]); +        OPL3_EnvelopeUpdateKSL(channel->pair->slotz[0]); +        OPL3_EnvelopeUpdateKSL(channel->pair->slotz[1]); +        OPL3_EnvelopeUpdateRate(channel->pair->slotz[0]); +        OPL3_EnvelopeUpdateRate(channel->pair->slotz[1]);      }  } @@ -749,19 +749,19 @@ static void OPL3_ChannelWriteB0(opl3_channel *channel, Bit8u data)      channel->block = (data >> 2) & 0x07;      channel->ksv = (channel->block << 1)                   | ((channel->f_num >> (0x09 - channel->chip->nts)) & 0x01); -    OPL3_EnvelopeUpdateKSL(channel->slots[0]); -    OPL3_EnvelopeUpdateKSL(channel->slots[1]); -    OPL3_EnvelopeUpdateRate(channel->slots[0]); -    OPL3_EnvelopeUpdateRate(channel->slots[1]); +    OPL3_EnvelopeUpdateKSL(channel->slotz[0]); +    OPL3_EnvelopeUpdateKSL(channel->slotz[1]); +    OPL3_EnvelopeUpdateRate(channel->slotz[0]); +    OPL3_EnvelopeUpdateRate(channel->slotz[1]);      if (channel->chip->newm && channel->chtype == ch_4op)      {          channel->pair->f_num = channel->f_num;          channel->pair->block = channel->block;          channel->pair->ksv = channel->ksv; -        OPL3_EnvelopeUpdateKSL(channel->pair->slots[0]); -        OPL3_EnvelopeUpdateKSL(channel->pair->slots[1]); -        OPL3_EnvelopeUpdateRate(channel->pair->slots[0]); -        OPL3_EnvelopeUpdateRate(channel->pair->slots[1]); +        OPL3_EnvelopeUpdateKSL(channel->pair->slotz[0]); +        OPL3_EnvelopeUpdateKSL(channel->pair->slotz[1]); +        OPL3_EnvelopeUpdateRate(channel->pair->slotz[0]); +        OPL3_EnvelopeUpdateRate(channel->pair->slotz[1]);      }  } @@ -772,12 +772,12 @@ static void OPL3_ChannelSetupAlg(opl3_channel *channel)          switch (channel->alg & 0x01)          {          case 0x00: -            channel->slots[0]->mod = &channel->slots[0]->fbmod; -            channel->slots[1]->mod = &channel->slots[0]->out; +            channel->slotz[0]->mod = &channel->slotz[0]->fbmod; +            channel->slotz[1]->mod = &channel->slotz[0]->out;              break;          case 0x01: -            channel->slots[0]->mod = &channel->slots[0]->fbmod; -            channel->slots[1]->mod = &channel->chip->zeromod; +            channel->slotz[0]->mod = &channel->slotz[0]->fbmod; +            channel->slotz[1]->mod = &channel->chip->zeromod;              break;          }          return; @@ -795,43 +795,43 @@ static void OPL3_ChannelSetupAlg(opl3_channel *channel)          switch (channel->alg & 0x03)          {          case 0x00: -            channel->pair->slots[0]->mod = &channel->pair->slots[0]->fbmod; -            channel->pair->slots[1]->mod = &channel->pair->slots[0]->out; -            channel->slots[0]->mod = &channel->pair->slots[1]->out; -            channel->slots[1]->mod = &channel->slots[0]->out; -            channel->out[0] = &channel->slots[1]->out; +            channel->pair->slotz[0]->mod = &channel->pair->slotz[0]->fbmod; +            channel->pair->slotz[1]->mod = &channel->pair->slotz[0]->out; +            channel->slotz[0]->mod = &channel->pair->slotz[1]->out; +            channel->slotz[1]->mod = &channel->slotz[0]->out; +            channel->out[0] = &channel->slotz[1]->out;              channel->out[1] = &channel->chip->zeromod;              channel->out[2] = &channel->chip->zeromod;              channel->out[3] = &channel->chip->zeromod;              break;          case 0x01: -            channel->pair->slots[0]->mod = &channel->pair->slots[0]->fbmod; -            channel->pair->slots[1]->mod = &channel->pair->slots[0]->out; -            channel->slots[0]->mod = &channel->chip->zeromod; -            channel->slots[1]->mod = &channel->slots[0]->out; -            channel->out[0] = &channel->pair->slots[1]->out; -            channel->out[1] = &channel->slots[1]->out; +            channel->pair->slotz[0]->mod = &channel->pair->slotz[0]->fbmod; +            channel->pair->slotz[1]->mod = &channel->pair->slotz[0]->out; +            channel->slotz[0]->mod = &channel->chip->zeromod; +            channel->slotz[1]->mod = &channel->slotz[0]->out; +            channel->out[0] = &channel->pair->slotz[1]->out; +            channel->out[1] = &channel->slotz[1]->out;              channel->out[2] = &channel->chip->zeromod;              channel->out[3] = &channel->chip->zeromod;              break;          case 0x02: -            channel->pair->slots[0]->mod = &channel->pair->slots[0]->fbmod; -            channel->pair->slots[1]->mod = &channel->chip->zeromod; -            channel->slots[0]->mod = &channel->pair->slots[1]->out; -            channel->slots[1]->mod = &channel->slots[0]->out; -            channel->out[0] = &channel->pair->slots[0]->out; -            channel->out[1] = &channel->slots[1]->out; +            channel->pair->slotz[0]->mod = &channel->pair->slotz[0]->fbmod; +            channel->pair->slotz[1]->mod = &channel->chip->zeromod; +            channel->slotz[0]->mod = &channel->pair->slotz[1]->out; +            channel->slotz[1]->mod = &channel->slotz[0]->out; +            channel->out[0] = &channel->pair->slotz[0]->out; +            channel->out[1] = &channel->slotz[1]->out;              channel->out[2] = &channel->chip->zeromod;              channel->out[3] = &channel->chip->zeromod;              break;          case 0x03: -            channel->pair->slots[0]->mod = &channel->pair->slots[0]->fbmod; -            channel->pair->slots[1]->mod = &channel->chip->zeromod; -            channel->slots[0]->mod = &channel->pair->slots[1]->out; -            channel->slots[1]->mod = &channel->chip->zeromod; -            channel->out[0] = &channel->pair->slots[0]->out; -            channel->out[1] = &channel->slots[0]->out; -            channel->out[2] = &channel->slots[1]->out; +            channel->pair->slotz[0]->mod = &channel->pair->slotz[0]->fbmod; +            channel->pair->slotz[1]->mod = &channel->chip->zeromod; +            channel->slotz[0]->mod = &channel->pair->slotz[1]->out; +            channel->slotz[1]->mod = &channel->chip->zeromod; +            channel->out[0] = &channel->pair->slotz[0]->out; +            channel->out[1] = &channel->slotz[0]->out; +            channel->out[2] = &channel->slotz[1]->out;              channel->out[3] = &channel->chip->zeromod;              break;          } @@ -841,18 +841,18 @@ static void OPL3_ChannelSetupAlg(opl3_channel *channel)          switch (channel->alg & 0x01)          {          case 0x00: -            channel->slots[0]->mod = &channel->slots[0]->fbmod; -            channel->slots[1]->mod = &channel->slots[0]->out; -            channel->out[0] = &channel->slots[1]->out; +            channel->slotz[0]->mod = &channel->slotz[0]->fbmod; +            channel->slotz[1]->mod = &channel->slotz[0]->out; +            channel->out[0] = &channel->slotz[1]->out;              channel->out[1] = &channel->chip->zeromod;              channel->out[2] = &channel->chip->zeromod;              channel->out[3] = &channel->chip->zeromod;              break;          case 0x01: -            channel->slots[0]->mod = &channel->slots[0]->fbmod; -            channel->slots[1]->mod = &channel->chip->zeromod; -            channel->out[0] = &channel->slots[0]->out; -            channel->out[1] = &channel->slots[1]->out; +            channel->slotz[0]->mod = &channel->slotz[0]->fbmod; +            channel->slotz[1]->mod = &channel->chip->zeromod; +            channel->out[0] = &channel->slotz[0]->out; +            channel->out[1] = &channel->slotz[1]->out;              channel->out[2] = &channel->chip->zeromod;              channel->out[3] = &channel->chip->zeromod;              break; @@ -905,21 +905,21 @@ static void OPL3_ChannelKeyOn(opl3_channel *channel)      {          if (channel->chtype == ch_4op)          { -            OPL3_EnvelopeKeyOn(channel->slots[0], egk_norm); -            OPL3_EnvelopeKeyOn(channel->slots[1], egk_norm); -            OPL3_EnvelopeKeyOn(channel->pair->slots[0], egk_norm); -            OPL3_EnvelopeKeyOn(channel->pair->slots[1], egk_norm); +            OPL3_EnvelopeKeyOn(channel->slotz[0], egk_norm); +            OPL3_EnvelopeKeyOn(channel->slotz[1], egk_norm); +            OPL3_EnvelopeKeyOn(channel->pair->slotz[0], egk_norm); +            OPL3_EnvelopeKeyOn(channel->pair->slotz[1], egk_norm);          }          else if (channel->chtype == ch_2op || channel->chtype == ch_drum)          { -            OPL3_EnvelopeKeyOn(channel->slots[0], egk_norm); -            OPL3_EnvelopeKeyOn(channel->slots[1], egk_norm); +            OPL3_EnvelopeKeyOn(channel->slotz[0], egk_norm); +            OPL3_EnvelopeKeyOn(channel->slotz[1], egk_norm);          }      }      else      { -        OPL3_EnvelopeKeyOn(channel->slots[0], egk_norm); -        OPL3_EnvelopeKeyOn(channel->slots[1], egk_norm); +        OPL3_EnvelopeKeyOn(channel->slotz[0], egk_norm); +        OPL3_EnvelopeKeyOn(channel->slotz[1], egk_norm);      }  } @@ -929,21 +929,21 @@ static void OPL3_ChannelKeyOff(opl3_channel *channel)      {          if (channel->chtype == ch_4op)          { -            OPL3_EnvelopeKeyOff(channel->slots[0], egk_norm); -            OPL3_EnvelopeKeyOff(channel->slots[1], egk_norm); -            OPL3_EnvelopeKeyOff(channel->pair->slots[0], egk_norm); -            OPL3_EnvelopeKeyOff(channel->pair->slots[1], egk_norm); +            OPL3_EnvelopeKeyOff(channel->slotz[0], egk_norm); +            OPL3_EnvelopeKeyOff(channel->slotz[1], egk_norm); +            OPL3_EnvelopeKeyOff(channel->pair->slotz[0], egk_norm); +            OPL3_EnvelopeKeyOff(channel->pair->slotz[1], egk_norm);          }          else if (channel->chtype == ch_2op || channel->chtype == ch_drum)          { -            OPL3_EnvelopeKeyOff(channel->slots[0], egk_norm); -            OPL3_EnvelopeKeyOff(channel->slots[1], egk_norm); +            OPL3_EnvelopeKeyOff(channel->slotz[0], egk_norm); +            OPL3_EnvelopeKeyOff(channel->slotz[1], egk_norm);          }      }      else      { -        OPL3_EnvelopeKeyOff(channel->slots[0], egk_norm); -        OPL3_EnvelopeKeyOff(channel->slots[1], egk_norm); +        OPL3_EnvelopeKeyOff(channel->slotz[0], egk_norm); +        OPL3_EnvelopeKeyOff(channel->slotz[1], egk_norm);      }  } @@ -997,9 +997,9 @@ static void OPL3_GenerateRhythm1(opl3_chip *chip)      channel6 = &chip->channel[6];      channel7 = &chip->channel[7];      channel8 = &chip->channel[8]; -    OPL3_SlotGenerate(channel6->slots[0]); -    phase14 = (channel7->slots[0]->pg_phase >> 9) & 0x3ff; -    phase17 = (channel8->slots[1]->pg_phase >> 9) & 0x3ff; +    OPL3_SlotGenerate(channel6->slotz[0]); +    phase14 = (channel7->slotz[0]->pg_phase >> 9) & 0x3ff; +    phase17 = (channel8->slotz[1]->pg_phase >> 9) & 0x3ff;      phase = 0x00;      /*hh tc phase bit*/      phasebit = ((phase14 & 0x08) | (((phase14 >> 5) ^ phase14) & 0x04) @@ -1007,9 +1007,9 @@ static void OPL3_GenerateRhythm1(opl3_chip *chip)      /*hh*/      phase = (phasebit << 9)            | (0x34 << ((phasebit ^ (chip->noise & 0x01)) << 1)); -    OPL3_SlotGeneratePhase(channel7->slots[0], phase); +    OPL3_SlotGeneratePhase(channel7->slotz[0], phase);      /*tt*/ -    OPL3_SlotGenerateZM(channel8->slots[0]); +    OPL3_SlotGenerateZM(channel8->slotz[0]);  }  static void OPL3_GenerateRhythm2(opl3_chip *chip) @@ -1025,19 +1025,19 @@ static void OPL3_GenerateRhythm2(opl3_chip *chip)      channel6 = &chip->channel[6];      channel7 = &chip->channel[7];      channel8 = &chip->channel[8]; -    OPL3_SlotGenerate(channel6->slots[1]); -    phase14 = (channel7->slots[0]->pg_phase >> 9) & 0x3ff; -    phase17 = (channel8->slots[1]->pg_phase >> 9) & 0x3ff; +    OPL3_SlotGenerate(channel6->slotz[1]); +    phase14 = (channel7->slotz[0]->pg_phase >> 9) & 0x3ff; +    phase17 = (channel8->slotz[1]->pg_phase >> 9) & 0x3ff;      phase = 0x00;      /*hh tc phase bit*/      phasebit = ((phase14 & 0x08) | (((phase14 >> 5) ^ phase14) & 0x04)               | (((phase17 >> 2) ^ phase17) & 0x08)) ? 0x01 : 0x00;      /*sd*/      phase = (0x100 << ((phase14 >> 8) & 0x01)) ^ ((chip->noise & 0x01) << 8); -    OPL3_SlotGeneratePhase(channel7->slots[1], phase); +    OPL3_SlotGeneratePhase(channel7->slotz[1], phase);      /*tc*/      phase = 0x100 | (phasebit << 9); -    OPL3_SlotGeneratePhase(channel8->slots[1], phase); +    OPL3_SlotGeneratePhase(channel8->slotz[1], phase);  }  void OPL3v17_Generate(opl3_chip *chip, Bit16s *buf) @@ -1202,8 +1202,8 @@ void OPL3v17_Reset(opl3_chip *chip, Bit32u samplerate)      }      for (channum = 0; channum < 18; channum++)      { -        chip->channel[channum].slots[0] = &chip->chipslot[ch_slot[channum]]; -        chip->channel[channum].slots[1] = &chip->chipslot[ch_slot[channum] + 3]; +        chip->channel[channum].slotz[0] = &chip->chipslot[ch_slot[channum]]; +        chip->channel[channum].slotz[1] = &chip->chipslot[ch_slot[channum] + 3];          chip->chipslot[ch_slot[channum]].channel = &chip->channel[channum];          chip->chipslot[ch_slot[channum] + 3].channel = &chip->channel[channum];          if ((channum % 9) < 3) diff --git a/src/chips/nuked/nukedopl3_174.h b/src/chips/nuked/nukedopl3_174.h index 43e4a6e..240802f 100644 --- a/src/chips/nuked/nukedopl3_174.h +++ b/src/chips/nuked/nukedopl3_174.h @@ -91,7 +91,7 @@ struct _opl3_slot {  };  struct _opl3_channel { -    opl3_slot *slots[2]; +    opl3_slot *slotz[2];/*Don't use "slots" keyword to avoid conflict with Qt applications*/      opl3_channel *pair;      opl3_chip *chip;      Bit16s *out[4];  |