Diff for /np2/fdd/sxsi.c between versions 1.10 and 1.12

version 1.10, 2004/01/27 07:24:25 version 1.12, 2004/03/23 13:32:50
Line 66  SXSIDEV sxsi_getptr(REG8 drv) { Line 66  SXSIDEV sxsi_getptr(REG8 drv) {
         UINT    num;          UINT    num;
   
         num = drv & 0x0f;          num = drv & 0x0f;
         if (!(drv & 0x20)) {                    // SASI or IDE          if (!(drv & 0x20)) {                                    // SASI or IDE
                 if (num < 2) {                  if (num < SASIHDD_MAX) {
                         return(sxsi_dev + num);                          return(sxsi_dev + num);
                 }                  }
         }          }
   #if defined(SUPPORT_SCSI)
         else {          else {
                 if (num < 4) {                          // SCSI                  if (num < SCSIHDD_MAX) {                        // SCSI
                         return(sxsi_dev + SASIHDD_MAX + num);                          return(sxsi_dev + SASIHDD_MAX + num);
                 }                  }
         }          }
   #endif
         return(NULL);          return(NULL);
 }  }
   
Line 219  void sxsi_open(void) { Line 221  void sxsi_open(void) {
                         drv++;                          drv++;
                 }                  }
         }          }
   #if defined(SUPPORT_SCSI)
         drv = 0x20;          drv = 0x20;
         for (i=0; i<4; i++) {          for (i=0; i<4; i++) {
                 if (sxsi_hddopen(drv, np2cfg.scsihdd[i]) == SUCCESS) {                  if (sxsi_hddopen(drv, np2cfg.scsihdd[i]) == SUCCESS) {
                         drv++;                          drv++;
                 }                  }
         }          }
   #endif
 }  }
   
 void sxsi_flash(void) {  void sxsi_flash(void) {
Line 262  void sxsi_trash(void) { Line 266  void sxsi_trash(void) {
   
 static SXSIDEV getdrive(REG8 drv) {  static SXSIDEV getdrive(REG8 drv) {
   
         UINT    num;  
         SXSIDEV ret;          SXSIDEV ret;
   
         num = drv & 0x0f;          ret = sxsi_getptr(drv);
         if (num >= 2) {          if ((ret == NULL) || (ret->fname[0] == '\0')) {
                 return(NULL);  
         }  
         num += (drv & 0x20) >> 4;  
         ret = sxsi_dev + num;  
         if (ret->fname[0] == '\0') {  
                 return(NULL);                  return(NULL);
         }          }
         if ((FILEH)ret->fh == FILEH_INVALID) {          if ((FILEH)ret->fh == FILEH_INVALID) {
Line 347  const _SXSIDEV *sxsi; Line 345  const _SXSIDEV *sxsi;
         if (sxsi == NULL) {          if (sxsi == NULL) {
                 return(0x60);                  return(0x60);
         }          }
         pos = pos * sxsi->size + sxsi->headersize;          if ((pos < 0) || (pos >= sxsi->totals)) {
         r = file_seek((FILEH)sxsi->fh, pos, FSEEK_SET);  
         if (r == -1) {  
                 return(0x40);                  return(0x40);
         }          }
           pos = pos * sxsi->size + sxsi->headersize;
           r = file_seek((FILEH)sxsi->fh, pos, FSEEK_SET);
         if (pos != r) {          if (pos != r) {
                 return(0xd0);                  return(0xd0);
         }          }
Line 377  const _SXSIDEV *sxsi; Line 375  const _SXSIDEV *sxsi;
         if (sxsi == NULL) {          if (sxsi == NULL) {
                 return(0x60);                  return(0x60);
         }          }
         pos = pos * sxsi->size + sxsi->headersize;          if ((pos < 0) || (pos >= sxsi->totals)) {
         r = file_seek((FILEH)sxsi->fh, pos, FSEEK_SET);  
         if (r == -1) {  
                 return(0x40);                  return(0x40);
         }          }
           pos = pos * sxsi->size + sxsi->headersize;
           r = file_seek((FILEH)sxsi->fh, pos, FSEEK_SET);
         if (pos != r) {          if (pos != r) {
                 return(0xd0);                  return(0xd0);
         }          }
Line 410  const _SXSIDEV *sxsi; Line 408  const _SXSIDEV *sxsi;
         if (sxsi == NULL) {          if (sxsi == NULL) {
                 return(0x60);                  return(0x60);
         }          }
         pos = pos * sxsi->size + sxsi->headersize;          if ((pos < 0) || (pos >= sxsi->totals)) {
         r = file_seek((FILEH)sxsi->fh, pos, FSEEK_SET);  
         if (r == -1) {  
                 return(0x40);                  return(0x40);
         }          }
           pos = pos * sxsi->size + sxsi->headersize;
           r = file_seek((FILEH)sxsi->fh, pos, FSEEK_SET);
         if (pos != r) {          if (pos != r) {
                 return(0xd0);                  return(0xd0);
         }          }

Removed from v.1.10  
changed lines
  Added in v.1.12


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