Diff for /np2/fdd/fdd_xdf.c between versions 1.3 and 1.5

version 1.3, 2004/01/27 10:55:47 version 1.5, 2004/02/13 14:52:21
Line 36  BOOL fddxdf_set(FDDFILE fdd, const char  Line 36  BOOL fddxdf_set(FDDFILE fdd, const char 
 const _XDFINFO  *xdf;  const _XDFINFO  *xdf;
         short           attr;          short           attr;
         FILEH           fh;          FILEH           fh;
         UINT            fdsize;          UINT32          fdsize;
         UINT            size;          UINT            size;
   
         attr = file_attr(fname);          attr = file_attr(fname);
Line 47  const _XDFINFO *xdf; Line 47  const _XDFINFO *xdf;
         if (fh == FILEH_INVALID) {          if (fh == FILEH_INVALID) {
                 return(FAILURE);                  return(FAILURE);
         }          }
         fdsize = file_seek(fh, 0, FSEEK_END);          fdsize = file_getsize(fh);
         file_close(fh);          file_close(fh);
   
         xdf = supportxdf;          xdf = supportxdf;
Line 72  BOOL fddxdf_setfdi(FDDFILE fdd, const ch Line 72  BOOL fddxdf_setfdi(FDDFILE fdd, const ch
   
         short   attr;          short   attr;
         FILEH   fh;          FILEH   fh;
         FDIHDR  fdi;          UINT32  fdsize;
         UINT    r;          UINT    r;
           FDIHDR  fdi;
         UINT32  fddtype;          UINT32  fddtype;
         UINT32  headersize;          UINT32  headersize;
         UINT32  size;          UINT32  size;
Line 88  BOOL fddxdf_setfdi(FDDFILE fdd, const ch Line 89  BOOL fddxdf_setfdi(FDDFILE fdd, const ch
         if (attr & 0x18) {          if (attr & 0x18) {
                 return(FAILURE);                  return(FAILURE);
         }          }
           fdsize = 0;
         r = 0;          r = 0;
         fh = file_open_rb(fname);          fh = file_open_rb(fname);
         if (fh != FILEH_INVALID) {          if (fh != FILEH_INVALID) {
                   fdsize = file_getsize(fh);
                 r = file_read(fh, &fdi, sizeof(fdi));                  r = file_read(fh, &fdi, sizeof(fdi));
                 file_close(fh);                  file_close(fh);
         }          }
Line 109  BOOL fddxdf_setfdi(FDDFILE fdd, const ch Line 112  BOOL fddxdf_setfdi(FDDFILE fdd, const ch
                 (cylinders == 0) || (cylinders >= 128)) {                  (cylinders == 0) || (cylinders >= 128)) {
                 return(FAILURE);                  return(FAILURE);
         }          }
           if (fdsize != (headersize + (size * sectors * surfaces * cylinders))) {
                   return(FAILURE);
           }
         size >>= 8;          size >>= 8;
         n = 0;          n = 0;
         while(size) {          while(size) {
Line 166  BOOL fddxdf_diskaccess(FDDFILE fdd) { Line 172  BOOL fddxdf_diskaccess(FDDFILE fdd) {
                 (CTRL_FDMEDIA != fdd->inf.xdf.disktype)) {                  (CTRL_FDMEDIA != fdd->inf.xdf.disktype)) {
                 return(FAILURE);                  return(FAILURE);
         }          }
         (void)fdd;  
         return(SUCCESS);          return(SUCCESS);
 }  }
   
Line 174  BOOL fddxdf_seek(FDDFILE fdd) { Line 179  BOOL fddxdf_seek(FDDFILE fdd) {
   
         if ((fdd->type != DISKTYPE_BETA) ||          if ((fdd->type != DISKTYPE_BETA) ||
                 (CTRL_FDMEDIA != fdd->inf.xdf.disktype) ||                  (CTRL_FDMEDIA != fdd->inf.xdf.disktype) ||
                 (fdc.rpm != fdd->inf.xdf.rpm) ||                  (fdc.rpm[fdc.us] != fdd->inf.xdf.rpm) ||
                 (fdc.ncn >= (fdd->inf.xdf.tracks >> 1))) {                  (fdc.ncn >= (fdd->inf.xdf.tracks >> 1))) {
                 return(FAILURE);                  return(FAILURE);
         }          }
Line 185  BOOL fddxdf_seeksector(FDDFILE fdd) { Line 190  BOOL fddxdf_seeksector(FDDFILE fdd) {
   
         if ((fdd->type != DISKTYPE_BETA) ||          if ((fdd->type != DISKTYPE_BETA) ||
                 (CTRL_FDMEDIA != fdd->inf.xdf.disktype) ||                  (CTRL_FDMEDIA != fdd->inf.xdf.disktype) ||
                 (fdc.rpm != fdd->inf.xdf.rpm) ||                  (fdc.rpm[fdc.us] != fdd->inf.xdf.rpm) ||
                 (fdc.treg[fdc.us] >= (fdd->inf.xdf.tracks >> 1))) {                  (fdc.treg[fdc.us] >= (fdd->inf.xdf.tracks >> 1))) {
                 fddlasterror = 0xe0;                  fddlasterror = 0xe0;
                 return(FAILURE);                  return(FAILURE);
Line 287  BOOL fddxdf_write(FDDFILE fdd) { Line 292  BOOL fddxdf_write(FDDFILE fdd) {
 BOOL fddxdf_readid(FDDFILE fdd) {  BOOL fddxdf_readid(FDDFILE fdd) {
   
         fddlasterror = 0x00;          fddlasterror = 0x00;
         if ((fdc.rpm != fdd->inf.xdf.rpm) ||          if ((!fdc.mf) ||
                   (fdc.rpm[fdc.us] != fdd->inf.xdf.rpm) ||
                 (fdc.crcn >= fdd->inf.xdf.sectors)) {                  (fdc.crcn >= fdd->inf.xdf.sectors)) {
                 fddlasterror = 0xe0;                  fddlasterror = 0xe0;
                 return(FAILURE);                  return(FAILURE);

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


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