Diff for /xmil/fdd/fdd_mtr.c between versions 1.1 and 1.4

version 1.1, 2004/08/01 05:31:30 version 1.4, 2004/08/03 12:50:54
Line 1 Line 1
 #include        "compiler.h"  #include        "compiler.h"
 #include        "soundmng.h"  #include        "soundmng.h"
 #include        "pccore.h"  #include        "pccore.h"
 #include        "x1_io.h"  #include        "iocore.h"
 #include        "x1_fdc.h"  
   
   
 extern  FDC_REGS        FDC;  enum {
           MOVE1TCK_MS             = 30,
           MOVEMOTOR1_MS   = 30,
           SEKSEC_MS               = 20
   };
   
   typedef struct {
   //      int             busy;
           UINT8   head[4];
   //      UINT    nextevent;
   //      UINT8   curevent;
   } _FDDMTR, *FDDMTR;
   
                 BYTE            curevent = 0;                  BYTE            curevent = 0;
                 DWORD           nextevent = 0;                  DWORD           nextevent = 0;
                 BYTE            FDC_HEAD[4] = {0, 0, 0, 0};                  BYTE            FDC_HEAD[4] = {0, 0, 0, 0};
                 DWORD           FDC_TIME[4] = {0, 0, 0, 0};                  DWORD           FDC_TIME[4] = {0, 0, 0, 0};
                 short           curdrv = 0;                  short           curdrv = 0;
   
 #define         MOVE1TCK_MS             30   
 #define         MOVEMOTOR1_MS   30  
 #define         SEKSEC_MS               20  
   
 void fddmtr_event(void) {  void fddmtr_event(void) {
   
Line 51  void fddmtr_callback(DWORD time) { Line 59  void fddmtr_callback(DWORD time) {
   
 void fddmtr_drvset(void) {  void fddmtr_drvset(void) {
   
         curdrv = FDC.drv;          curdrv = fdc.drv;
         if ((!FDC_TIME[curdrv]) && (!FDC.motor)) {          if ((!FDC_TIME[curdrv]) && (!fdc.motor)) {
                 FDC_TIME[curdrv] = GetTickCount() + 5000;                  FDC_TIME[curdrv] = GetTickCount() + 5000;
         }          }
         else if ((FDC_TIME[curdrv]) && (FDC.motor)) {          else if ((FDC_TIME[curdrv]) && (fdc.motor)) {
                 if (FDC_TIME[curdrv] < GetTickCount()) {                  if (FDC_TIME[curdrv] < GetTickCount()) {
                         FDC_HEAD[curdrv] = 24;                          FDC_HEAD[curdrv] = 24;
                 }                  }
Line 67  void fddmtr_motormove(void) { Line 75  void fddmtr_motormove(void) {
   
         int             regmove;          int             regmove;
   
         regmove = FDC_HEAD[curdrv] - FDC.c;          regmove = FDC_HEAD[curdrv] - fdc.c;
         FDC_HEAD[curdrv] = FDC.c;          FDC_HEAD[curdrv] = fdc.c;
         if ((!xmilcfg.MOTOR) || (xmilcfg.NOWAIT)) {          if ((!xmilcfg.MOTOR) || (xmilcfg.NOWAIT)) {
                 return;                  return;
         }          }
Line 98  void fddmtr_waitsec(BYTE value) { Line 106  void fddmtr_waitsec(BYTE value) {
         if ((!xmilcfg.MOTOR) || (xmilcfg.NOWAIT)) {          if ((!xmilcfg.MOTOR) || (xmilcfg.NOWAIT)) {
                 return;                  return;
         }          }
         if ((FDC.r != value) && (curevent < 1)) {          if ((fdc.r != value) && (curevent < 1)) {
                 fddmtr_event();                  fddmtr_event();
                 curevent = 1;                  curevent = 1;
                 nextevent = GetTickCount() + SEKSEC_MS;                  nextevent = GetTickCount() + SEKSEC_MS;

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


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