Diff for /np2/cbus/board26k.c between versions 1.8 and 1.9

version 1.8, 2005/05/12 17:24:05 version 1.9, 2005/05/13 05:47:24
Line 10 Line 10
   
 static void IOOUTCALL opn_o188(UINT port, REG8 dat) {  static void IOOUTCALL opn_o188(UINT port, REG8 dat) {
   
         opn.opnreg = dat;          opn.addr = dat;
           opn.data = dat;
         (void)port;          (void)port;
 }  }
   
 static void IOOUTCALL opn_o18a(UINT port, REG8 dat) {  static void IOOUTCALL opn_o18a(UINT port, REG8 dat) {
   
         S98_put(NORMAL2608, opn.opnreg, dat);          UINT    addr;
         if (opn.opnreg < 0x10) {  
                 if (opn.opnreg != 0x0e) {          opn.data = dat;
                         psggen_setreg(&psg1, opn.opnreg, dat);          addr = opn.addr;
           S98_put(NORMAL2608, addr, dat);
           if (addr < 0x10) {
                   if (addr != 0x0e) {
                           psggen_setreg(&psg1, addr, dat);
                 }                  }
         }          }
         else {          else if (addr < 0x100) {
                 if (opn.opnreg < 0x30) {                  if (addr < 0x30) {
                         if (opn.opnreg == 0x28) {                          if (addr == 0x28) {
                                 if ((dat & 0x0f) < 3) {                                  if ((dat & 0x0f) < 3) {
                                         opngen_keyon(dat & 0x0f, dat);                                          opngen_keyon(dat & 0x0f, dat);
                                 }                                  }
                         }                          }
                         else {                          else {
                                 fmtimer_setreg(opn.opnreg, dat);                                  fmtimer_setreg(addr, dat);
                                 if (opn.opnreg == 0x27) {                                  if (addr == 0x27) {
                                         opnch[2].extop = dat & 0xc0;                                          opnch[2].extop = dat & 0xc0;
                                 }                                  }
                         }                          }
                 }                  }
                 else if (opn.opnreg < 0xc0) {                  else if (addr < 0xc0) {
                         opngen_setreg(0, opn.opnreg, dat);                          opngen_setreg(0, addr, dat);
                 }                  }
                 opn.reg[opn.opnreg] = dat;                  opn.reg[addr] = dat;
         }          }
         (void)port;          (void)port;
 }  }
Line 47  static void IOOUTCALL opn_o18a(UINT port Line 52  static void IOOUTCALL opn_o18a(UINT port
 static REG8 IOINPCALL opn_i188(UINT port) {  static REG8 IOINPCALL opn_i188(UINT port) {
   
         (void)port;          (void)port;
 #if 1                                                   // ドラッケンで未定義フラグ見てる テスト終了  
         return(fmtimer.status);          return(fmtimer.status);
 #else  
         return(fmtimer.status | 0x7c);  
 #endif  
 }  }
   
 static REG8 IOINPCALL opn_i18a(UINT port) {  static REG8 IOINPCALL opn_i18a(UINT port) {
   
         if (opn.opnreg == 0x0e) {          UINT    addr;
   
           addr = opn.addr;
           if (addr == 0x0e) {
                 return(fmboard_getjoy(&psg1));                  return(fmboard_getjoy(&psg1));
         }          }
         if (opn.opnreg < 0x10) {          else if (addr < 0x10) {
                 return(psggen_getreg(&psg1, opn.opnreg));                  return(psggen_getreg(&psg1, addr));
         }          }
         (void)port;          (void)port;
 #if 1          return(opn.data);
         return(opn.opnreg);  
 #else  
         return(0xff);  
 #endif  
 }  }
   
   

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


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