Diff for /np2/sound/psggenc.c between versions 1.6 and 1.9

version 1.6, 2003/11/14 05:26:53 version 1.9, 2003/12/24 14:01:56
Line 67  void psggen_reset(PSGGEN psg) { Line 67  void psggen_reset(PSGGEN psg) {
   
         ZeroMemory(psg, sizeof(_PSGGEN));          ZeroMemory(psg, sizeof(_PSGGEN));
         for (i=0; i<3; i++) {          for (i=0; i<3; i++) {
                 psg->tone[i].pvol = &psg->envvol;                  psg->tone[i].pvol = psggencfg.volume + 0;
         }          }
         for (i=0; i<sizeof(psggen_deftbl); i++) {          for (i=0; i<sizeof(psggen_deftbl); i++) {
                 psggen_setreg(psg, (BYTE)i, psggen_deftbl[i]);                  psggen_setreg(psg, (REG8)i, psggen_deftbl[i]);
         }          }
 }  }
   
 void psggen_setreg(PSGGEN psg, BYTE reg, BYTE value) {  void psggen_setreg(PSGGEN psg, REG8 reg, REG8 value) {
   
         UINT    freq;          UINT    freq;
         UINT    ch;          UINT    ch;
   
         reg &= 15;          reg &= 15;
         ((BYTE *)&psg->reg)[reg] = value;  
         if (reg < 14) {          if (reg < 14) {
                 sound_sync();                  sound_sync();
         }          }
           ((BYTE *)&psg->reg)[reg] = value;
         switch(reg) {          switch(reg) {
                 case 0:                  case 0:
                 case 1:                  case 1:
Line 123  void psggen_setreg(PSGGEN psg, BYTE reg, Line 123  void psggen_setreg(PSGGEN psg, BYTE reg,
                         ch = reg - 8;                          ch = reg - 8;
                         keydisp_psgvol(psg, (BYTE)ch);                          keydisp_psgvol(psg, (BYTE)ch);
                         if (value & 0x10) {                          if (value & 0x10) {
                                 psg->tone[ch].pvol = &psg->envvol;                                  psg->tone[ch].pvol = &psg->evol;
                         }                          }
                         else {                          else {
                                 psg->tone[ch].pvol = ((BYTE *)&psg->reg) + reg;                                  psg->tone[ch].pvol = psggencfg.volume + (value & 15);
                         }                          }
                         psg->tone[ch].puchi = psggencfg.puchidec;                          psg->tone[ch].puchi = psggencfg.puchidec;
                         psg->puchicount = psggencfg.puchidec;                          psg->puchicount = psggencfg.puchidec;
Line 151  void psggen_setreg(PSGGEN psg, BYTE reg, Line 151  void psggen_setreg(PSGGEN psg, BYTE reg,
         }          }
 }  }
   
 BYTE psggen_getreg(PSGGEN psg, BYTE reg) {  REG8 psggen_getreg(PSGGEN psg, REG8 reg) {
   
         return(((BYTE *)&psg->reg)[reg & 15]);          return(((BYTE *)&psg->reg)[reg & 15]);
 }  }
   
 void psggen_setpan(PSGGEN psg, UINT ch, BYTE pan) {  void psggen_setpan(PSGGEN psg, UINT ch, REG8 pan) {
   
         if ((psg) && (ch < 3)) {          if ((psg) && (ch < 3)) {
                 psg->tone[ch].pan = pan;                  psg->tone[ch].pan = pan;

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


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