Diff for /np2/fdd/diskdrv.c between versions 1.7 and 1.10

version 1.7, 2004/05/07 11:42:29 version 1.10, 2005/03/19 18:54:58
Line 13 Line 13
   
         int             diskdrv_delay[4];          int             diskdrv_delay[4];
         int             diskdrv_ro[4];          int             diskdrv_ro[4];
         char    diskdrv_fname[4][MAX_PATH];          OEMCHAR diskdrv_fname[4][MAX_PATH];
   
   
 void diskdrv_sethdd(REG8 drv, const char *fname) {  void diskdrv_sethdd(REG8 drv, const OEMCHAR *fname) {
   
         UINT    num;          UINT    num;
         char    *p;          OEMCHAR *p;
         int             leng;          int             leng;
   
         num = drv & 0x0f;          num = drv & 0x0f;
Line 28  void diskdrv_sethdd(REG8 drv, const char Line 28  void diskdrv_sethdd(REG8 drv, const char
         if (!(drv & 0x20)) {                    // SASI or IDE          if (!(drv & 0x20)) {                    // SASI or IDE
                 if (num < 2) {                  if (num < 2) {
                         p = np2cfg.sasihdd[num];                          p = np2cfg.sasihdd[num];
                         leng = sizeof(np2cfg.sasihdd[0]);                          leng = NELEMENTS(np2cfg.sasihdd[0]);
                 }                  }
         }          }
 #if defined(SUPPORT_SCSI)  #if defined(SUPPORT_SCSI)
         else {                                                  // SCSI          else {                                                  // SCSI
                 if (num < 4) {                  if (num < 4) {
                         p = np2cfg.scsihdd[num];                          p = np2cfg.scsihdd[num];
                         leng = sizeof(np2cfg.scsihdd[0]);                          leng = NELEMENTS(np2cfg.scsihdd[0]);
                 }                  }
         }          }
 #endif  #endif
Line 50  void diskdrv_sethdd(REG8 drv, const char Line 50  void diskdrv_sethdd(REG8 drv, const char
         }          }
 }  }
   
 void diskdrv_setfdd(REG8 drv, const char *fname, int readonly) {  void diskdrv_readyfdd(REG8 drv, const OEMCHAR *fname, int readonly) {
   
           if ((drv < 4) && (fdc.equip & (1 << drv))) {
                   if ((fname != NULL) && (fname[0] != '\0')) {
                           fdd_set(drv, fname, FTYPE_NONE, readonly);
                           fdc.stat[drv] = FDCRLT_AI | drv;
                           fdc_interrupt();
                           sysmng_update(SYS_UPDATEFDD);
                   }
           }
   }
   
   void diskdrv_setfdd(REG8 drv, const OEMCHAR *fname, int readonly) {
   
         if ((drv < 4) && (fdc.equip & (1 << drv))) {          if ((drv < 4) && (fdc.equip & (1 << drv))) {
                 fdd_eject(drv);                  fdd_eject(drv);
Line 62  void diskdrv_setfdd(REG8 drv, const char Line 74  void diskdrv_setfdd(REG8 drv, const char
                 if (fname) {                  if (fname) {
                         diskdrv_delay[drv] = DISK_DELAY;                          diskdrv_delay[drv] = DISK_DELAY;
                         diskdrv_ro[drv] = readonly;                          diskdrv_ro[drv] = readonly;
                         file_cpyname(diskdrv_fname[drv], fname, sizeof(diskdrv_fname[0]));                          file_cpyname(diskdrv_fname[drv], fname,
                                                                                                   NELEMENTS(diskdrv_fname[0]));
                 }                  }
                 sysmng_update(SYS_UPDATEFDD);                  sysmng_update(SYS_UPDATEFDD);
         }          }
Line 75  void diskdrv_callback(void) { Line 88  void diskdrv_callback(void) {
         for (drv=0; drv<4; drv++) {          for (drv=0; drv<4; drv++) {
                 if (diskdrv_delay[drv]) {                  if (diskdrv_delay[drv]) {
                         diskdrv_delay[drv]--;                          diskdrv_delay[drv]--;
                         if ((!diskdrv_delay[drv]) && (diskdrv_fname[drv][0])) {                          if (!diskdrv_delay[drv]) {
                                 fdd_set(drv, diskdrv_fname[drv], FTYPE_NONE, diskdrv_ro[drv]);                                  diskdrv_readyfdd(drv, diskdrv_fname[drv], diskdrv_ro[drv]);
                                 diskdrv_fname[drv][0] = '\0';                                  diskdrv_fname[drv][0] = '\0';
                                 fdc.stat[drv] = FDCRLT_AI | drv;  
                                 fdc_interrupt();  
                                 sysmng_update(SYS_UPDATEFDD);  
                         }                          }
                 }                  }
         }          }

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


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