Diff for /np2/sound/fmboard.c between versions 1.3 and 1.7

version 1.3, 2003/10/18 09:02:38 version 1.7, 2004/01/23 15:05:05
Line 1 Line 1
 #include        "compiler.h"  #include        "compiler.h"
 #include        "joymng.h"  #include        "joymng.h"
 #include        "soundmng.h"  #include        "soundmng.h"
 #include        "i286.h"  // #include     "cpucore.h"
 #include        "pccore.h"  #include        "pccore.h"
 #include        "iocore.h"  #include        "iocore.h"
 #include        "cbuscore.h"  #include        "cbuscore.h"
Line 20 Line 20
 #include        "keydisp.h"  #include        "keydisp.h"
   
   
         int                     usesound = 0;          UINT32          usesound;
           OPN_T           opn;
           AMD98           amd98;
           MUSICGEN        musicgen;
   
         _TMS3631        tms3631;          _TMS3631        tms3631;
         _FMTIMER        fmtimer;          _FMTIMER        fmtimer;
Line 35 Line 38
         _CS4231         cs4231;          _CS4231         cs4231;
   
   
         OPN_T           opn;  static void     (*extfn)(REG8 enable);
         AMD98           amd98;  
         MUSICGEN        musicgen;  
   
   
 static void             (*extfn)(BYTE enable);  
   
   
 // ----  // ----
   
 static  BYTE    rapids = 0;  static  REG8    rapids = 0;
   
 BYTE fmboard_getjoy(PSGGEN psg) {  REG8 fmboard_getjoy(PSGGEN psg) {
   
         BYTE    ret;          REG8    ret;
   
         rapids ^= 0xf0;                                                                                 // ver0.28          rapids ^= 0xf0;                                                                                 // ver0.28
         ret = 0xff;          ret = 0xff;
         if (!(psg->reg.io2 & 0x40)) {          if (!(psg->reg.io2 & 0x40)) {
                 ret &= (joymng_getstat() | (rapids & 0x30));                  ret &= (joymng_getstat() | (rapids & 0x30));
                 if (np2cfg.KEY_MODE == 1) {                  if (np2cfg.KEY_MODE == 1) {
                         ret &= keystat_getjoy();                          ret &= keyext_getjoy();
                 }                  }
         }          }
         else {          else {
                 if (np2cfg.KEY_MODE == 2) {                  if (np2cfg.KEY_MODE == 2) {
                         ret &= keystat_getjoy();                          ret &= keyext_getjoy();
                 }                  }
         }          }
         if (np2cfg.BTN_RAPID) {          if (np2cfg.BTN_RAPID) {
Line 86  BYTE fmboard_getjoy(PSGGEN psg) { Line 84  BYTE fmboard_getjoy(PSGGEN psg) {
   
 // ----  // ----
   
 void fmboard_extreg(void (*ext)(BYTE enable)) {  void fmboard_extreg(void (*ext)(REG8 enable)) {
   
         extfn = ext;          extfn = ext;
 }  }
   
 void fmboard_extenable(BYTE enable) {  void fmboard_extenable(REG8 enable) {
   
         if (extfn) {          if (extfn) {
                 (*extfn)(enable);                  (*extfn)(enable);
Line 102  void fmboard_extenable(BYTE enable) { Line 100  void fmboard_extenable(BYTE enable) {
   
 // ----  // ----
   
 void fmboard_reset(BYTE num) {  void fmboard_reset(UINT32 type) {
   
         BYTE    cross;          BYTE    cross;
   
         soundrom_reset();          soundrom_reset();
         beep_reset();                                                                                           // ver0.27a          beep_reset();                                                                                           // ver0.27a
         cross = np2cfg.snd_x;                                                                           // ver0.30          cross = np2cfg.snd_x;                                                                           // ver0.30
         usesound = num;  
   
         extfn = NULL;          extfn = NULL;
         ZeroMemory(&opn, sizeof(opn));          ZeroMemory(&opn, sizeof(opn));
         ZeroMemory(&musicgen, sizeof(musicgen));  
         ZeroMemory(&amd98, sizeof(amd98));  
   
         opn.channels = 3;          opn.channels = 3;
         opn.adpcmmask = (BYTE)~(0x1c);          opn.adpcmmask = (BYTE)~(0x1c);
         opn.reg[0xff] = 0x01;          opn.reg[0xff] = 0x01;
   
           ZeroMemory(&musicgen, sizeof(musicgen));
           ZeroMemory(&amd98, sizeof(amd98));
   
         tms3631_reset(&tms3631);          tms3631_reset(&tms3631);
         opngen_reset();          opngen_reset();
         psggen_reset(&psg1);          psggen_reset(&psg1);
Line 130  void fmboard_reset(BYTE num) { Line 127  void fmboard_reset(BYTE num) {
         pcm86_reset();          pcm86_reset();
         cs4231_reset();          cs4231_reset();
   
         switch(num) {          switch(usesound) {
                 case 0x01:                  case 0x01:
                         board14_reset();                          board14_reset();
                         break;                          break;
Line 170  void fmboard_reset(BYTE num) { Line 167  void fmboard_reset(BYTE num) {
                         break;                          break;
   
                 default:                  default:
                         usesound = 0;                          type = 0;
                         break;                          break;
         }          }
           usesound = type;
         soundmng_setreverse(cross);          soundmng_setreverse(cross);
         keydisp_setfmboard(num);          keydisp_setfmboard(type);
         opngen_setVR(np2cfg.spb_vrc, np2cfg.spb_vrl);          opngen_setVR(np2cfg.spb_vrc, np2cfg.spb_vrl);
 }  }
   
Line 194  void fmboard_bind(void) { Line 192  void fmboard_bind(void) {
                         break;                          break;
   
                 case 0x06:                  case 0x06:
                         board86c_bind();                          boardx2_bind();
                         break;                          break;
   
                 case 0x08:                  case 0x08:

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


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