Diff for /np2/fdd/fdd_d88.c between versions 1.3 and 1.4

version 1.3, 2003/10/18 01:21:58 version 1.4, 2003/11/12 00:55:38
Line 59  static BOOL d88trk_flushdata(D88TRK trk) Line 59  static BOOL d88trk_flushdata(D88TRK trk)
                 goto dtfd_err2;                  goto dtfd_err2;
         }          }
         file_close(fh);          file_close(fh);
           trk->write = FALSE;
   
 dtfd_exit:  dtfd_exit:
         return(SUCCESS);          return(SUCCESS);
Line 230  static void drvflush(FDDFILE fdd) { Line 231  static void drvflush(FDDFILE fdd) {
         trk = &d88trk;          trk = &d88trk;
         if (trk->fdd == fdd) {          if (trk->fdd == fdd) {
                 d88trk_flushdata(trk);                  d88trk_flushdata(trk);
                   trk->fdd = NULL;
         }          }
 }  }
   
Line 629  static void endoftrack(UINT fmtsize, BYT Line 631  static void endoftrack(UINT fmtsize, BYT
   
         FDDFILE fdd = fddfile + fdc.us;          FDDFILE fdd = fddfile + fdc.us;
   
           D88SEC          d88sec;
         FILEH           hdl;          FILEH           hdl;
         int                     i;          int                     i;
         UINT            trk;          UINT            trk;
Line 643  static void endoftrack(UINT fmtsize, BYT Line 646  static void endoftrack(UINT fmtsize, BYT
   
         ptr = 0;          ptr = 0;
         for (i=0; i<(int)sectors; i++) {          for (i=0; i<(int)sectors; i++) {
                 STOREINTELWORD(((D88SEC)(&d88trk.buf[ptr]))->sectors, sectors);                  d88sec = (D88SEC)(d88trk.buf + ptr);
                 ptr += LOADINTELWORD(((D88SEC)(&d88trk.buf[ptr]))->size);                  STOREINTELWORD(d88sec->sectors, sectors);
                   ptr += LOADINTELWORD(d88sec->size);
                 ptr += sizeof(_D88SEC);                  ptr += sizeof(_D88SEC);
         }          }
   
Line 652  static void endoftrack(UINT fmtsize, BYT Line 656  static void endoftrack(UINT fmtsize, BYT
         if (hdl == FILEH_INVALID) {          if (hdl == FILEH_INVALID) {
                 return;                  return;
         }          }
         lastpointer = file_seek(hdl, 0, 2);          lastpointer = file_seek(hdl, 0, FSEEK_END);
         fpointer = fdd->inf.d88.ptr[trk];          fpointer = fdd->inf.d88.ptr[trk];
         if (fpointer == 0) {          if (fpointer == 0) {
                 for (i=trk; i>=0; i--) {                                        // 新規トラック                  for (i=trk; i>=0; i--) {                                        // 新規トラック
Line 683  static void endoftrack(UINT fmtsize, BYT Line 687  static void endoftrack(UINT fmtsize, BYT
         STOREINTELDWORD(fdd->inf.d88.head.trackp[trk], fpointer);          STOREINTELDWORD(fdd->inf.d88.head.trackp[trk], fpointer);
         file_seek(hdl, fpointer, 0);          file_seek(hdl, fpointer, 0);
         file_write(hdl, d88trk.buf, fmtsize);          file_write(hdl, d88trk.buf, fmtsize);
         file_seek(hdl, 0, 0);          file_seek(hdl, 0, FSEEK_SET);
         file_write(hdl, &fdd->inf.d88.head, sizeof(fdd->inf.d88.head));          file_write(hdl, &fdd->inf.d88.head, sizeof(fdd->inf.d88.head));
         file_close(hdl);          file_close(hdl);
   //      TRACEOUT(("fmt %d %d", fpointer, fmtsize));
 }  }
   
   
Line 696  BOOL fdd_formatinit_d88(void) { Line 701  BOOL fdd_formatinit_d88(void) {
                 formatsec = 0;                  formatsec = 0;
                 formatpos = 0;                  formatpos = 0;
                 formatwrt = 0;                  formatwrt = 0;
                 drvflush(NULL);                  drvflush(fddfile + fdc.us);
                 return(SUCCESS);                  return(SUCCESS);
         }          }
         return(FAILURE);          return(FAILURE);

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


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