Diff for /np2/io/fdc.c between versions 1.5 and 1.7

version 1.5, 2003/12/08 00:55:32 version 1.7, 2004/01/22 01:10:04
Line 8 Line 8
 #include        "iocore.h"  #include        "iocore.h"
 #include        "fddfile.h"  #include        "fddfile.h"
   
   enum {
           FDC_DMACH2HD    = 2,
           FDC_DMACH2DD    = 3
   };
   
 static const UINT8 FDCCMD_TABLE[32] = {  static const UINT8 FDCCMD_TABLE[32] = {
                                                 0, 0, 8, 2, 1, 8, 8, 1, 0, 8, 1, 0, 8, 5, 0, 2,                                                  0, 0, 8, 2, 1, 8, 8, 1, 0, 8, 1, 0, 8, 5, 0, 2,
Line 56  REG8 DMACCALL fdc_dmafunc(REG8 func) { Line 60  REG8 DMACCALL fdc_dmafunc(REG8 func) {
 static void fdc_dmaready(REG8 enable) {  static void fdc_dmaready(REG8 enable) {
   
         if (CTRL_FDMEDIA == DISKTYPE_2HD) {          if (CTRL_FDMEDIA == DISKTYPE_2HD) {
                 dmac.dmach[DMA_2HD].ready = enable;                  dmac.dmach[FDC_DMACH2HD].ready = enable;
         }          }
         else {          else {
                 dmac.dmach[DMA_2DD].ready = enable;                  dmac.dmach[FDC_DMACH2DD].ready = enable;
         }          }
 }  }
   
Line 628  static void fdcstatusreset(void) { Line 632  static void fdcstatusreset(void) {
         fdc.status = FDCSTAT_RQM;          fdc.status = FDCSTAT_RQM;
 }  }
   
 void DMACCALL fdc_DataRegWrite(REG8 data) {  void DMACCALL fdc_datawrite(REG8 data) {
   
 //      if ((fdc.status & (FDCSTAT_RQM | FDCSTAT_DIO)) == FDCSTAT_RQM) {  //      if ((fdc.status & (FDCSTAT_RQM | FDCSTAT_DIO)) == FDCSTAT_RQM) {
                 switch(fdc.event) {                  switch(fdc.event) {
Line 667  void DMACCALL fdc_DataRegWrite(REG8 data Line 671  void DMACCALL fdc_DataRegWrite(REG8 data
 //      }  //      }
 }  }
   
 REG8 DMACCALL fdc_DataRegRead(void) {  REG8 DMACCALL fdc_dataread(void) {
   
 //      if ((fdc.status & (FDCSTAT_RQM | FDCSTAT_DIO))  //      if ((fdc.status & (FDCSTAT_RQM | FDCSTAT_DIO))
 //                                                                      == (FDCSTAT_RQM | FDCSTAT_DIO)) {  //                                                                      == (FDCSTAT_RQM | FDCSTAT_DIO)) {
Line 716  static void IOOUTCALL fdc_o92(UINT port, Line 720  static void IOOUTCALL fdc_o92(UINT port,
 //      TRACEOUT(("fdc out %x %x", port, 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_datawrite(dat);
         }          }
         (void)port;          (void)port;
 }  }
Line 750  static REG8 IOINPCALL fdc_i92(UINT port) Line 754  static REG8 IOINPCALL fdc_i92(UINT port)
         CTRL_FDMEDIA = DISKTYPE_2HD;          CTRL_FDMEDIA = DISKTYPE_2HD;
         if ((fdc.status & (FDCSTAT_RQM | FDCSTAT_DIO))          if ((fdc.status & (FDCSTAT_RQM | FDCSTAT_DIO))
                                                                                 == (FDCSTAT_RQM | FDCSTAT_DIO)) {                                                                                  == (FDCSTAT_RQM | FDCSTAT_DIO)) {
                 ret = fdc_DataRegRead();                  ret = fdc_dataread();
         }          }
         else {          else {
                 ret = fdc.lastdata;                  ret = fdc.lastdata;
Line 772  static REG8 IOINPCALL fdc_i94(UINT port) Line 776  static REG8 IOINPCALL fdc_i94(UINT port)
 static void IOOUTCALL fdc_oca(UINT port, REG8 dat) {  static void IOOUTCALL fdc_oca(UINT port, REG8 dat) {
   
         CTRL_FDMEDIA = DISKTYPE_2DD;          CTRL_FDMEDIA = DISKTYPE_2DD;
         fdc_DataRegWrite(dat);          fdc_datawrite(dat);
         (void)port;          (void)port;
 }  }
   
Line 796  static REG8 IOINPCALL fdc_ica(UINT port) Line 800  static REG8 IOINPCALL fdc_ica(UINT port)
         REG8    ret;          REG8    ret;
   
         CTRL_FDMEDIA = DISKTYPE_2DD;          CTRL_FDMEDIA = DISKTYPE_2DD;
         ret = fdc_DataRegRead();          ret = fdc_dataread();
   
         (void)port;          (void)port;
         return(ret);          return(ret);
Line 843  void fdc_reset(void) { Line 847  void fdc_reset(void) {
         ZeroMemory(&fdc, sizeof(fdc));          ZeroMemory(&fdc, sizeof(fdc));
         fdcstatusreset();          fdcstatusreset();
         CTRL_FDMEDIA = DISKTYPE_2HD;          CTRL_FDMEDIA = DISKTYPE_2HD;
           dmac_attach(DMADEV_FDD, FDC_DMACH2HD);
           dmac_attach(DMADEV_FDD, FDC_DMACH2DD);
 }  }
   
 void fdc_bind(void) {  void fdc_bind(void) {

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


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