Diff for /np2/cbus/board14.c between versions 1.2 and 1.3

version 1.2, 2003/11/12 20:02:54 version 1.3, 2003/12/08 00:55:30
Line 13 Line 13
   
 // ---- 8253C-2  // ---- 8253C-2
   
 static UINT16 pit3_latch(void) {  static UINT pit3_latch(void) {
   
         SINT32  clock;          SINT32  clock;
   
Line 24  static UINT16 pit3_latch(void) { Line 24  static UINT16 pit3_latch(void) {
                 if (pc.baseclock == PCBASECLOCK25) {                  if (pc.baseclock == PCBASECLOCK25) {
                         clock = clock * 13 / 16;                          clock = clock * 13 / 16;
                 }                  }
                 return((UINT16)clock);                  return(clock);
         }          }
         return(0);          return(0);
 }  }
   
 static void pit3_setflag(BYTE value) {  static void pit3_setflag(REG8 value) {
   
         pit.flag[3] = 0;          pit.flag[3] = 0;
         if (value & 0x30) {          if (value & 0x30) {
Line 41  static void pit3_setflag(BYTE value) { Line 41  static void pit3_setflag(BYTE value) {
         }          }
 }  }
   
 static BOOL pit3_setcount(BYTE value) {  static BOOL pit3_setcount(REG8 value) {
   
         switch(pit.mode[3] & 0x30) {          switch(pit.mode[3] & 0x30) {
                 case 0x10:              // access low                  case 0x10:              // access low
Line 67  static BOOL pit3_setcount(BYTE value) { Line 67  static BOOL pit3_setcount(BYTE value) {
         return(FALSE);          return(FALSE);
 }  }
   
 static BYTE pit3_getcount(void) {  static REG8 pit3_getcount(void) {
   
         BYTE    ret;          REG8    ret;
         UINT16  w;          REG16   w;
   
         if (!(pit.mode[3] & 0x30)) {          if (!(pit.mode[3] & 0x30)) {
                 w = pit.latch[3];                  w = pit.latch[3];
Line 80  static BYTE pit3_getcount(void) { Line 80  static BYTE pit3_getcount(void) {
         }          }
         switch(pit.mode[3] & 0x30) {          switch(pit.mode[3] & 0x30) {
                 case 0x10:                                              // access low                  case 0x10:                                              // access low
                         return((BYTE)w);                          return((UINT8)w);
   
                 case 0x20:                                              // access high                  case 0x20:                                              // access high
                         return((BYTE)(w >> 8));                          return((UINT8)(w >> 8));
         }          }
                                                                                 // access word                                                                                  // access word
         if (!(pit.flag[3] & 1)) {          if (!(pit.flag[3] & 1)) {
                 ret = (BYTE)w;                  ret = (UINT8)w;
         }          }
         else {          else {
                 ret = (BYTE)(w >> 8);                  ret = (UINT8)(w >> 8);
         }          }
         pit.flag[3] ^= 1;          pit.flag[3] ^= 1;
         return(ret);          return(ret);
Line 131  void musicgenint(NEVENTITEM item) { Line 131  void musicgenint(NEVENTITEM item) {
   
 // ---- I/O  // ---- I/O
   
 static void IOOUTCALL musicgen_o088(UINT port, BYTE dat) {  static void IOOUTCALL musicgen_o088(UINT port, REG8 dat) {
   
         musicgen.porta = dat;          musicgen.porta = dat;
         (void)port;          (void)port;
 }  }
   
 static void IOOUTCALL musicgen_o08a(UINT port, BYTE dat) {  static void IOOUTCALL musicgen_o08a(UINT port, REG8 dat) {
   
         musicgen.portb = dat;          musicgen.portb = dat;
         (void)port;          (void)port;
 }  }
   
 static void IOOUTCALL musicgen_o08c(UINT port, BYTE dat) {  static void IOOUTCALL musicgen_o08c(UINT port, REG8 dat) {
   
         if (dat & 0x80) {          if (dat & 0x80) {
                 if (!(musicgen.portc & 0x80)) {                  if (!(musicgen.portc & 0x80)) {
Line 154  static void IOOUTCALL musicgen_o08c(UINT Line 154  static void IOOUTCALL musicgen_o08c(UINT
                         musicgen.sync = 0;                          musicgen.sync = 0;
                         sound_sync();                          sound_sync();
                         musicgen.key[musicgen.ch] = dat;                          musicgen.key[musicgen.ch] = dat;
                         tms3631_setkey(&tms3631, (BYTE)musicgen.ch, dat);                          tms3631_setkey(&tms3631, (REG8)musicgen.ch, dat);
                 }                  }
                 else if ((!(dat & 0x40)) && (musicgen.portc & 0x40)) {                  else if ((!(dat & 0x40)) && (musicgen.portc & 0x40)) {
                         musicgen.sync = 1;                          musicgen.sync = 1;
Line 165  static void IOOUTCALL musicgen_o08c(UINT Line 165  static void IOOUTCALL musicgen_o08c(UINT
         (void)port;          (void)port;
 }  }
   
 static void IOOUTCALL musicgen_o188(UINT port, BYTE dat) {  static void IOOUTCALL musicgen_o188(UINT port, REG8 dat) {
   
         sound_sync();          sound_sync();
         musicgen.mask = dat;          musicgen.mask = dat;
Line 173  static void IOOUTCALL musicgen_o188(UINT Line 173  static void IOOUTCALL musicgen_o188(UINT
         (void)port;          (void)port;
 }  }
   
 static void IOOUTCALL musicgen_o18c(UINT port, BYTE dat) {  static void IOOUTCALL musicgen_o18c(UINT port, REG8 dat) {
   
         if (!pit3_setcount(dat)) {          if (!pit3_setcount(dat)) {
                 setmusicgenevent(NEVENT_ABSOLUTE);                  setmusicgenevent(NEVENT_ABSOLUTE);
Line 181  static void IOOUTCALL musicgen_o18c(UINT Line 181  static void IOOUTCALL musicgen_o18c(UINT
         (void)port;          (void)port;
 }  }
   
 static void IOOUTCALL musicgen_o18e(UINT port, BYTE dat) {  static void IOOUTCALL musicgen_o18e(UINT port, REG8 dat) {
   
         pit3_setflag(dat);          pit3_setflag(dat);
         (void)port;          (void)port;
 }  }
   
 static BYTE IOINPCALL musicgen_i088(UINT port) {  static REG8 IOINPCALL musicgen_i088(UINT port) {
   
         (void)port;          (void)port;
         return(musicgen.porta);          return(musicgen.porta);
 }  }
   
 static BYTE IOINPCALL musicgen_i08a(UINT port) {  static REG8 IOINPCALL musicgen_i08a(UINT port) {
   
         (void)port;          (void)port;
         return(musicgen.portb);          return(musicgen.portb);
 }  }
   
 static BYTE IOINPCALL musicgen_i08c(UINT port) {  static REG8 IOINPCALL musicgen_i08c(UINT port) {
   
         (void)port;          (void)port;
         return(musicgen.portc);          return(musicgen.portc);
 }  }
   
 static BYTE IOINPCALL musicgen_i08e(UINT port) {  static REG8 IOINPCALL musicgen_i08e(UINT port) {
   
         (void)port;          (void)port;
         return(0x08);          return(0x08);
 }  }
   
 static BYTE IOINPCALL musicgen_i188(UINT port) {  static REG8 IOINPCALL musicgen_i188(UINT port) {
   
         (void)port;          (void)port;
         return(musicgen.mask);          return(musicgen.mask);
 }  }
   
 static BYTE IOINPCALL musicgen_i18c(UINT port) {  static REG8 IOINPCALL musicgen_i18c(UINT port) {
   
         (void)port;          (void)port;
         return(pit3_getcount());          return(pit3_getcount());
 }  }
   
 static BYTE IOINPCALL musicgen_i18e(UINT port) {  static REG8 IOINPCALL musicgen_i18e(UINT port) {
   
         (void)port;          (void)port;
 #if 1  #if 1
Line 264  void board14_bind(void) { Line 264  void board14_bind(void) {
   
 void board14_allkeymake(void) {  void board14_allkeymake(void) {
   
         int             i;          REG8    i;
   
         for (i=0; i<8; i++) {          for (i=0; i<8; i++) {
                 tms3631_setkey(&tms3631, (BYTE)i, musicgen.key[i]);                  tms3631_setkey(&tms3631, i, musicgen.key[i]);
         }          }
 }  }
   

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


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