Diff for /np2/fdd/fdd_d88.c between versions 1.6 and 1.11

version 1.6, 2004/06/18 07:42:13 version 1.11, 2005/02/12 12:40:39
Line 30  static UINT32 nexttrackptr(FDDFILE fdd,  Line 30  static UINT32 nexttrackptr(FDDFILE fdd, 
 typedef struct {  typedef struct {
         FDDFILE fdd;          FDDFILE fdd;
         UINT    track;          UINT    track;
         BYTE    type;          UINT    type;
         long    fptr;          long    fptr;
         UINT    size;          UINT    size;
         BOOL    write;          BOOL    write;
         BYTE    buf[D88BUFSIZE];          UINT8   buf[D88BUFSIZE];
 } _D88TRK, *D88TRK;  } _D88TRK, *D88TRK;
   
 static  _D88TRK         d88trk;  static  _D88TRK         d88trk;
   
   
 static BOOL d88trk_flushdata(D88TRK trk) {  static BRESULT d88trk_flushdata(D88TRK trk) {
   
         FDDFILE         fdd;          FDDFILE         fdd;
         FILEH           fh;          FILEH           fh;
Line 71  dtfd_err1: Line 71  dtfd_err1:
         return(FAILURE);          return(FAILURE);
 }  }
   
 static BOOL d88trk_read(D88TRK trk, FDDFILE fdd, UINT track, BYTE type) {  static BRESULT d88trk_read(D88TRK trk, FDDFILE fdd, UINT track, UINT type) {
   
         UINT8   rpm;          UINT8   rpm;
         FILEH   fh;          FILEH   fh;
Line 84  static BOOL d88trk_read(D88TRK trk, FDDF Line 84  static BOOL d88trk_read(D88TRK trk, FDDF
         }          }
   
         rpm = fdc.rpm[fdc.us];          rpm = fdc.rpm[fdc.us];
         TRACEOUT(("d88trk_read(%d,%d)", rpm, track));  
         switch(fdd->inf.d88.fdtype_major) {          switch(fdd->inf.d88.fdtype_major) {
                 case DISKTYPE_2D:                  case DISKTYPE_2D:
                         TRACEOUT(("DISKTYPE_2D"));                          TRACEOUT(("DISKTYPE_2D"));
Line 147  dtrd_err1: Line 146  dtrd_err1:
 }  }
   
   
 static BOOL rpmcheck(D88SEC sec) {  static BRESULT rpmcheck(D88SEC sec) {
   
         FDDFILE fdd = fddfile + fdc.us;          FDDFILE fdd = fddfile + fdc.us;
         UINT8   rpm;          UINT8   rpm;
Line 194  static void drvflush(FDDFILE fdd) { Line 193  static void drvflush(FDDFILE fdd) {
         }          }
 }  }
   
 static BOOL trkseek(FDDFILE fdd, UINT track) {  static BRESULT trkseek(FDDFILE fdd, UINT track) {
   
         D88TRK  trk;          D88TRK  trk;
         BOOL    r;          BOOL    r;
Line 213  static BOOL trkseek(FDDFILE fdd, UINT tr Line 212  static BOOL trkseek(FDDFILE fdd, UINT tr
   
 static D88SEC searchsector_d88(BOOL check) {                    // ver0.29  static D88SEC searchsector_d88(BOOL check) {                    // ver0.29
   
         BYTE    *p;          UINT8   *p;
         UINT    sec;          UINT    sec;
         UINT    pos = 0;          UINT    pos = 0;
         UINT    nsize;          UINT    nsize;
Line 264  static D88SEC searchsector_d88(BOOL chec Line 263  static D88SEC searchsector_d88(BOOL chec
   
 // ----  // ----
   
 BOOL fddd88_set(FDDFILE fdd, const char *fname, int ro) {  BRESULT fddd88_set(FDDFILE fdd, const OEMCHAR *fname, int ro) {
   
         short   attr;          short   attr;
         FILEH   fh;          FILEH   fh;
Line 301  fdst_err: Line 300  fdst_err:
         return(FAILURE);          return(FAILURE);
 }  }
   
 BOOL fddd88_eject(FDDFILE fdd) {  BRESULT fddd88_eject(FDDFILE fdd) {
   
         drvflush(fdd);          drvflush(fdd);
         fdd->fname[0] = '\0';          fdd->fname[0] = '\0';
Line 311  BOOL fddd88_eject(FDDFILE fdd) { Line 310  BOOL fddd88_eject(FDDFILE fdd) {
 }  }
   
   
 BOOL fdd_diskaccess_d88(void) {                                                                         // ver0.31  BRESULT fdd_diskaccess_d88(void) {                                                                      // ver0.31
   
         FDDFILE fdd = fddfile + fdc.us;          FDDFILE fdd = fddfile + fdc.us;
         UINT8   rpm;          UINT8   rpm;
Line 341  BOOL fdd_diskaccess_d88(void) {          Line 340  BOOL fdd_diskaccess_d88(void) {         
         return(SUCCESS);          return(SUCCESS);
 }  }
   
 BOOL fdd_seek_d88(void) {  BRESULT fdd_seek_d88(void) {
   
         FDDFILE fdd = fddfile + fdc.us;          FDDFILE fdd = fddfile + fdc.us;
   
         return(trkseek(fdd, (fdc.ncn << 1) + fdc.hd));          return(trkseek(fdd, (fdc.ncn << 1) + fdc.hd));
 }  }
   
 BOOL fdd_seeksector_d88(void) {  BRESULT fdd_seeksector_d88(void) {
   
         FDDFILE fdd = fddfile + fdc.us;          FDDFILE fdd = fddfile + fdc.us;
   
Line 361  BOOL fdd_seeksector_d88(void) { Line 360  BOOL fdd_seeksector_d88(void) {
         return(SUCCESS);          return(SUCCESS);
 }  }
   
 BOOL fdd_read_d88(void) {  BRESULT fdd_read_d88(void) {
   
         FDDFILE         fdd = fddfile + fdc.us;          FDDFILE         fdd = fddfile + fdc.us;
         D88SEC          p;          D88SEC          p;
Line 397  BOOL fdd_read_d88(void) { Line 396  BOOL fdd_read_d88(void) {
         return(SUCCESS);          return(SUCCESS);
 }  }
   
 BOOL fdd_write_d88(void) {  BRESULT fdd_write_d88(void) {
   
         FDDFILE         fdd = fddfile + fdc.us;          FDDFILE         fdd = fddfile + fdc.us;
         D88SEC          p;          D88SEC          p;
Line 432  BOOL fdd_write_d88(void) { Line 431  BOOL fdd_write_d88(void) {
         return(SUCCESS);          return(SUCCESS);
 }  }
   
 BOOL fdd_readid_d88(void) {  BRESULT fdd_readid_d88(void) {
   
         FDDFILE fdd = fddfile + fdc.us;          FDDFILE fdd = fddfile + fdc.us;
         BYTE    *p;          UINT8   *p;
         UINT    sec;          UINT    sec;
         UINT    pos = 0;          UINT    pos = 0;
         UINT    sectors;          UINT    sectors;
Line 485  BOOL fdd_readid_d88(void) { Line 484  BOOL fdd_readid_d88(void) {
   
 // えーと…こんなところにあって大丈夫?  // えーと…こんなところにあって大丈夫?
 static BOOL formating = FALSE;  static BOOL formating = FALSE;
 static BYTE formatsec = 0;  static UINT8 formatsec = 0;
 static BYTE formatwrt = 0;  static UINT8 formatwrt = 0;
 static UINT formatpos = 0;  static UINT formatpos = 0;
   
 static int fileappend(FILEH hdl, FDDFILE fdd,  static int fileappend(FILEH hdl, FDDFILE fdd,
Line 496  static int fileappend(FILEH hdl, FDDFILE Line 495  static int fileappend(FILEH hdl, FDDFILE
         UINT    size;          UINT    size;
         UINT    rsize;          UINT    rsize;
         int             t;          int             t;
         BYTE    tmp[0x1000];          UINT8   tmp[0x400];                                                     // Stack 0x1000->0x400
         UINT32  cur;          UINT32  cur;
   
         if ((length = last - ptr) <= 0) {                       // 書き換える必要なし          if ((length = last - ptr) <= 0) {                       // 書き換える必要なし
Line 528  static int fileappend(FILEH hdl, FDDFILE Line 527  static int fileappend(FILEH hdl, FDDFILE
 }  }
   
   
 static void endoftrack(UINT fmtsize, BYTE sectors) {  static void endoftrack(UINT fmtsize, UINT8 sectors) {
   
         FDDFILE fdd = fddfile + fdc.us;          FDDFILE fdd = fddfile + fdc.us;
   
Line 595  static void endoftrack(UINT fmtsize, BYT Line 594  static void endoftrack(UINT fmtsize, BYT
 }  }
   
   
 BOOL fdd_formatinit_d88(void) {  BRESULT fdd_formatinit_d88(void) {
   
         if (fdc.treg[fdc.us] < 82) {          if (fdc.treg[fdc.us] < 82) {
                 formating = TRUE;                  formating = TRUE;
Line 609  BOOL fdd_formatinit_d88(void) { Line 608  BOOL fdd_formatinit_d88(void) {
 }  }
   
         // todo アンフォーマットとか ディスク1周した時の切り捨てとか…          // todo アンフォーマットとか ディスク1周した時の切り捨てとか…
 BOOL fdd_formating_d88(const BYTE *ID) {  BRESULT fdd_formating_d88(const UINT8 *ID) {
   
         FDDFILE fdd = fddfile + fdc.us;          FDDFILE fdd = fddfile + fdc.us;
   

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


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