Diff for /np2/fdd/fdd_xdf.c between versions 1.6 and 1.10

version 1.6, 2004/02/19 03:04:01 version 1.10, 2005/02/12 12:40:39
Line 13  static const _XDFINFO supportxdf[] = { Line 13  static const _XDFINFO supportxdf[] = {
                         // 512                          // 512
                         {0, 154, 15, 2, DISKTYPE_2HD, 0},                          {0, 154, 15, 2, DISKTYPE_2HD, 0},
 #endif  #endif
   #if 1
                           // 512
                           {0, 160, 15, 2, DISKTYPE_2HD, 0},
   #endif
                         // 1024                          // 1024
                         {0, 154,  8, 3, DISKTYPE_2HD, 0},                          {0, 154,  8, 3, DISKTYPE_2HD, 0},
                         // 1.44MB                          // 1.44MB
Line 20  static const _XDFINFO supportxdf[] = { Line 24  static const _XDFINFO supportxdf[] = {
 };  };
   
 typedef struct {  typedef struct {
         BYTE    dummy[4];          UINT8   dummy[4];
         BYTE    fddtype[4];          UINT8   fddtype[4];
         BYTE    headersize[4];          UINT8   headersize[4];
         BYTE    fddsize[4];          UINT8   fddsize[4];
         BYTE    sectorsize[4];          UINT8   sectorsize[4];
         BYTE    sectors[4];          UINT8   sectors[4];
         BYTE    surfaces[4];          UINT8   surfaces[4];
         BYTE    cylinders[4];          UINT8   cylinders[4];
 } FDIHDR;  } FDIHDR;
   
   
 BOOL fddxdf_set(FDDFILE fdd, const char *fname, int ro) {  BRESULT fddxdf_set(FDDFILE fdd, const OEMCHAR *fname, int ro) {
   
 const _XDFINFO  *xdf;  const _XDFINFO  *xdf;
         short           attr;          short           attr;
Line 51  const _XDFINFO *xdf; Line 55  const _XDFINFO *xdf;
         file_close(fh);          file_close(fh);
   
         xdf = supportxdf;          xdf = supportxdf;
         while(xdf < (supportxdf + (sizeof(supportxdf)/sizeof(_XDFINFO)))) {          while(xdf < (supportxdf + NELEMENTS(supportxdf))) {
                 size = xdf->tracks;                  size = xdf->tracks;
                 size *= xdf->sectors;                  size *= xdf->sectors;
                 size <<= (7 + xdf->n);                  size <<= (7 + xdf->n);
Line 68  const _XDFINFO *xdf; Line 72  const _XDFINFO *xdf;
 }  }
   
 // こっそり対応したりして  // こっそり対応したりして
 BOOL fddxdf_setfdi(FDDFILE fdd, const char *fname, int ro) {  BRESULT fddxdf_setfdi(FDDFILE fdd, const OEMCHAR *fname, int ro) {
   
         short   attr;          short   attr;
         FILEH   fh;          FILEH   fh;
Line 146  BOOL fddxdf_setfdi(FDDFILE fdd, const ch Line 150  BOOL fddxdf_setfdi(FDDFILE fdd, const ch
                 default:                  default:
                         return(FAILURE);                          return(FAILURE);
         }          }
         file_cpyname(fdd->fname, fname, sizeof(fdd->fname));          file_cpyname(fdd->fname, fname, NELEMENTS(fdd->fname));
         fdd->type = DISKTYPE_BETA;          fdd->type = DISKTYPE_BETA;
         fdd->protect = ((attr & 1) || (ro))?TRUE:FALSE;          fdd->protect = ((attr & 1) || (ro))?TRUE:FALSE;
         fdd->inf.xdf.headersize = headersize;          fdd->inf.xdf.headersize = headersize;
Line 158  BOOL fddxdf_setfdi(FDDFILE fdd, const ch Line 162  BOOL fddxdf_setfdi(FDDFILE fdd, const ch
         return(SUCCESS);          return(SUCCESS);
 }  }
   
 BOOL fddxdf_eject(FDDFILE fdd) {  BRESULT fddxdf_eject(FDDFILE fdd) {
   
         fdd->fname[0] = '\0';          fdd->fname[0] = '\0';
         fdd->type = DISKTYPE_NOTREADY;          fdd->type = DISKTYPE_NOTREADY;
Line 166  BOOL fddxdf_eject(FDDFILE fdd) { Line 170  BOOL fddxdf_eject(FDDFILE fdd) {
 }  }
   
   
 BOOL fddxdf_diskaccess(FDDFILE fdd) {  BRESULT fddxdf_diskaccess(FDDFILE fdd) {
   
         if ((fdd->type != DISKTYPE_BETA) ||          if ((fdd->type != DISKTYPE_BETA) ||
                 (CTRL_FDMEDIA != fdd->inf.xdf.disktype)) {                  (CTRL_FDMEDIA != fdd->inf.xdf.disktype)) {
Line 175  BOOL fddxdf_diskaccess(FDDFILE fdd) { Line 179  BOOL fddxdf_diskaccess(FDDFILE fdd) {
         return(SUCCESS);          return(SUCCESS);
 }  }
   
 BOOL fddxdf_seek(FDDFILE fdd) {  BRESULT 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) ||
Line 186  BOOL fddxdf_seek(FDDFILE fdd) { Line 190  BOOL fddxdf_seek(FDDFILE fdd) {
         return(SUCCESS);          return(SUCCESS);
 }  }
   
 BOOL fddxdf_seeksector(FDDFILE fdd) {  BRESULT 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) ||
Line 206  BOOL fddxdf_seeksector(FDDFILE fdd) { Line 210  BOOL fddxdf_seeksector(FDDFILE fdd) {
         return(SUCCESS);          return(SUCCESS);
 }  }
   
 BOOL fddxdf_read(FDDFILE fdd) {  BRESULT fddxdf_read(FDDFILE fdd) {
   
         FILEH   hdl;          FILEH   hdl;
         long    seekp;          long    seekp;
Line 245  BOOL fddxdf_read(FDDFILE fdd) { Line 249  BOOL fddxdf_read(FDDFILE fdd) {
         return(SUCCESS);          return(SUCCESS);
 }  }
   
 BOOL fddxdf_write(FDDFILE fdd) {  BRESULT fddxdf_write(FDDFILE fdd) {
   
         FILEH   hdl;          FILEH   hdl;
         long    seekp;          long    seekp;
Line 289  BOOL fddxdf_write(FDDFILE fdd) { Line 293  BOOL fddxdf_write(FDDFILE fdd) {
         return(SUCCESS);          return(SUCCESS);
 }  }
   
 BOOL fddxdf_readid(FDDFILE fdd) {  BRESULT fddxdf_readid(FDDFILE fdd) {
   
         fddlasterror = 0x00;          fddlasterror = 0x00;
         if ((!fdc.mf) ||          if ((!fdc.mf) ||

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


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