Diff for /xmil/io/sndboard.c between versions 1.3 and 1.7

version 1.3, 2004/08/05 11:30:12 version 1.7, 2008/06/02 20:07:31
Line 2 Line 2
 #include        "joymng.h"  #include        "joymng.h"
 #include        "pccore.h"  #include        "pccore.h"
 #include        "iocore.h"  #include        "iocore.h"
 #include        "sndctrl.h"  
 #include        "keystat.h"  #include        "keystat.h"
   #include        "sound.h"
   #include        "sndctrl.h"
 #include        "x1f.h"  #include        "x1f.h"
   
   
   #if defined(SUPPORT_TURBOZ) || defined(SUPPORT_OPM)
 void IOOUTCALL opm_o(UINT port, REG8 dat) {  void IOOUTCALL opm_o(UINT port, REG8 dat) {
   
         REG8    lsb;          REG8    lsb;
         REG8    reg;          REG8    reg;
   
         lsb = (UINT8)port;          lsb = (UINT8)port;
         if (lsb == 0x00) {                                      // 0700          if (lsb == 0x00) {                                      /* 0700 */
                 sndboard.opmreg = (UINT8)dat;                  sndboard.opmreg = (UINT8)dat;
         }          }
         else if (lsb == 0x01) {                         // 0701          else if (lsb == 0x01) {                         /* 0701 */
                 reg = sndboard.opmreg;                  reg = sndboard.opmreg;
                 sndboard.opmdat[reg] = dat;                  sndboard.opmdat[reg] = dat;
                 x1f_opm(reg, dat);                  x1f_opm(reg, dat);
   #if !defined(DISABLE_SOUND)
                 opmgen_setreg(reg, dat);                  opmgen_setreg(reg, dat);
   #endif
         }          }
         else if ((lsb & (~3)) == 0x04) {        // 0704-0707          else if ((lsb & (~3)) == 0x04) {        /* 0704-0707 */
                 ctc_o(port, dat);                  ctc_o(port, dat);
         }          }
 }  }
Line 32  REG8 IOINPCALL opm_i(UINT port) { Line 36  REG8 IOINPCALL opm_i(UINT port) {
         REG8    lsb;          REG8    lsb;
   
         lsb = (UINT8)port;          lsb = (UINT8)port;
         if ((lsb & (~1)) == 0x00) {                     // 0700/0701          if ((lsb & (~1)) == 0x00) {                     /* 0700/0701 */
                 return(0x00);                                                                                   // ゼリアード                  return(0x00);                                                                                   /* ゼリアード */
         }          }
         else if ((lsb & (~3)) == 0x04) {        // 0704-0707          else if ((lsb & (~3)) == 0x04) {        /* 0704-0707 */
                 return(ctc_i(port));                  return(ctc_i(port));
         }          }
         else {          else {
                 return(0xff);                  return(0xff);
         }          }
 }  }
   #endif
   
   
 void IOOUTCALL sndboard_psgreg(UINT port, REG8 dat) {  void IOOUTCALL sndboard_psgreg(UINT port, REG8 dat) {
   
         sndboard.psgreg = dat;          sndboard.psgreg = dat;
           (void)port;
 }  }
   
 void IOOUTCALL sndboard_psgdat(UINT port, REG8 dat) {  void IOOUTCALL sndboard_psgdat(UINT port, REG8 dat) {
Line 57  void IOOUTCALL sndboard_psgdat(UINT port Line 63  void IOOUTCALL sndboard_psgdat(UINT port
         if (reg < 0x0e) {          if (reg < 0x0e) {
                 sndboard.psgdat[reg] = dat;                  sndboard.psgdat[reg] = dat;
                 x1f_psg(reg, dat);                  x1f_psg(reg, dat);
   #if !defined(DISABLE_SOUND)
                 psggen_setreg(&psggen, reg, dat);                  psggen_setreg(&psggen, reg, dat);
   #endif
         }          }
           (void)port;
 }  }
   
 REG8 IOINPCALL sndboard_psgsta(UINT port) {  REG8 IOINPCALL sndboard_psgsta(UINT port) {
Line 86  REG8 IOINPCALL sndboard_psgsta(UINT port Line 95  REG8 IOINPCALL sndboard_psgsta(UINT port
                 return(ret);                  return(ret);
         }          }
         else {          else {
                   (void)port;
                 return(0xff);                  return(0xff);
         }          }
 }  }
   
   
 // ----  /* reset */
   
   #if !defined(DISABLE_SOUND)
   void sndboard_update(void) {
   
           UINT    i;
   
           for (i=0; i<14; i++) {
                   psggen_setreg(&psggen, (REG8)i, sndboard.psgdat[i]);
           }
   #if defined(SUPPORT_TURBOZ) || defined(SUPPORT_OPM)
           for (i=0x20; i<0x100; i++) {
                   opmgen_setreg((REG8)i, sndboard.opmdat[i]);
           }
   #endif
   }
   #endif
   
 void sndboard_reset(void) {  void sndboard_reset(void) {
   
         ZeroMemory(&sndboard, sizeof(sndboard));          ZeroMemory(&sndboard, sizeof(sndboard));
         CopyMemory(sndboard.psgdat, psggen_deftbl, sizeof(psggen_deftbl));          sndboard.psgdat[0x07] = 0x3f;
         sndctrl_reset();          sndctrl_reset();
 }  }
   

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


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