Diff for /np2/io/fdc.c between versions 1.1 and 1.4

version 1.1, 2003/10/16 17:57:52 version 1.4, 2003/11/12 00:55:38
Line 4 Line 4
   
   
 #include        "compiler.h"  #include        "compiler.h"
 #include        "dosio.h"  
 #include        "i286.h"  
 #include        "pccore.h"  #include        "pccore.h"
 #include        "iocore.h"  #include        "iocore.h"
 #include        "fddfile.h"  #include        "fddfile.h"
Line 74  void fdcbusy_error7(NEVENTITEM item) { Line 72  void fdcbusy_error7(NEVENTITEM item) {
         }          }
 }  }
   
   #if 0           // ↑イベントは残しとく...
 static void fdcderay_error7(SINT16 ms) {                                                        // ver0.27  static void fdcderay_error7(SINT16 ms) {                                                        // ver0.27
   
         fdc.busy = 1;          fdc.busy = 1;
Line 81  static void fdcderay_error7(SINT16 ms) { Line 80  static void fdcderay_error7(SINT16 ms) {
         fdc.status &= ~FDCSTAT_RQM;          fdc.status &= ~FDCSTAT_RQM;
         nevent_setbyms(NEVENT_FDCBUSY, ms, fdcbusy_error7, NEVENT_ABSOLUTE);          nevent_setbyms(NEVENT_FDCBUSY, ms, fdcbusy_error7, NEVENT_ABSOLUTE);
 }  }
   #endif
   
   
 // ----------------------------------------------------------------------  // ----------------------------------------------------------------------
Line 352  static void readsector(void) { Line 352  static void readsector(void) {
                 fdcsend_error7();                  fdcsend_error7();
                 return;                  return;
         }          }
   
         fdc.event = FDCEVENT_BUFSEND2;          fdc.event = FDCEVENT_BUFSEND2;
         fdc.bufp = 0;          fdc.bufp = 0;
 #if 1                                                                                                                   // ver0.27 ??  #if 1                                                                                                                   // ver0.27 ??
Line 467  static void FDC_ReadID(void) {       //  Line 468  static void FDC_ReadID(void) {       // 
   
         switch(fdc.event) {          switch(fdc.event) {
                 case FDCEVENT_CMDRECV:                  case FDCEVENT_CMDRECV:
                           fdc.mf = fdc.cmd & 0x40;
                         get_hdus();                          get_hdus();
                           if (fdd_readid() == SUCCESS) {
                                   fdcsend_success7();
                           }
                           else {
                                   fdc.stat[fdc.us] = fdc.us | (fdc.hd << 2) |
                                                                                                           FDCRLT_IC0 | FDCRLT_MA;
                                   fdcsend_error7();
                           }
                         break;                          break;
         }          }
 }  }
Line 586  static const FDCOPE FDC_Ope[0x20] = { Line 596  static const FDCOPE FDC_Ope[0x20] = {
                                 FDC_Recalibrate,                                  FDC_Recalibrate,
                                 FDC_SenceintStatus,                                  FDC_SenceintStatus,
                                 FDC_WriteData,                                  FDC_WriteData,
                                 FDC_Invalid,                    // FDC_ReadID,                                  FDC_ReadID,
                                 FDC_Invalid,                                  FDC_Invalid,
                                 FDC_ReadData,                                  FDC_ReadData,
                                 FDC_WriteID,                                  FDC_WriteID,
Line 704  BYTE DMACCALL fdc_DataRegRead(void) { Line 714  BYTE DMACCALL fdc_DataRegRead(void) {
   
 static void IOOUTCALL fdc_o92(UINT port, BYTE dat) {  static void IOOUTCALL fdc_o92(UINT port, BYTE dat) {
   
   //      TRACEOUT(("fdc out %x %x", port, dat));
         CTRL_FDMEDIA = DISKTYPE_2HD;          CTRL_FDMEDIA = DISKTYPE_2HD;
         if ((fdc.status & (FDCSTAT_RQM | FDCSTAT_DIO)) == FDCSTAT_RQM) {          if ((fdc.status & (FDCSTAT_RQM | FDCSTAT_DIO)) == FDCSTAT_RQM) {
                 fdc_DataRegWrite(dat);                  fdc_DataRegWrite(dat);
Line 713  static void IOOUTCALL fdc_o92(UINT port, Line 724  static void IOOUTCALL fdc_o92(UINT port,
   
 static void IOOUTCALL fdc_o94(UINT port, BYTE dat) {  static void IOOUTCALL fdc_o94(UINT port, BYTE dat) {
   
   //      TRACEOUT(("fdc out %x %x", port, dat));
         CTRL_FDMEDIA = DISKTYPE_2HD;          CTRL_FDMEDIA = DISKTYPE_2HD;
         if ((fdc.ctrlreg ^ dat) & 0x10) {          if ((fdc.ctrlreg ^ dat) & 0x10) {
                 fdcstatusreset();                  fdcstatusreset();
Line 725  static void IOOUTCALL fdc_o94(UINT port, Line 737  static void IOOUTCALL fdc_o94(UINT port,
   
 static BYTE IOINPCALL fdc_i90(UINT port) {  static BYTE IOINPCALL fdc_i90(UINT port) {
   
   //      TRACEOUT(("fdc in %x %x", port, fdc.status));
         CTRL_FDMEDIA = DISKTYPE_2HD;          CTRL_FDMEDIA = DISKTYPE_2HD;
   
         (void)port;          (void)port;
Line 744  static BYTE IOINPCALL fdc_i92(UINT port) Line 757  static BYTE IOINPCALL fdc_i92(UINT port)
                 ret = fdc.lastdata;                  ret = fdc.lastdata;
         }          }
         (void)port;          (void)port;
   //      TRACEOUT(("fdc in %x %x", port, ret));
         return(ret);          return(ret);
 }  }
   

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


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