--- xmil/fdd/fdd_mtr.c 2004/08/01 05:31:30 1.1 +++ xmil/fdd/fdd_mtr.c 2004/08/03 12:50:54 1.4 @@ -1,20 +1,28 @@ #include "compiler.h" #include "soundmng.h" #include "pccore.h" -#include "x1_io.h" -#include "x1_fdc.h" +#include "iocore.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; DWORD nextevent = 0; BYTE FDC_HEAD[4] = {0, 0, 0, 0}; DWORD FDC_TIME[4] = {0, 0, 0, 0}; short curdrv = 0; -#define MOVE1TCK_MS 30 -#define MOVEMOTOR1_MS 30 -#define SEKSEC_MS 20 void fddmtr_event(void) { @@ -51,11 +59,11 @@ void fddmtr_callback(DWORD time) { void fddmtr_drvset(void) { - curdrv = FDC.drv; - if ((!FDC_TIME[curdrv]) && (!FDC.motor)) { + curdrv = fdc.drv; + if ((!FDC_TIME[curdrv]) && (!fdc.motor)) { FDC_TIME[curdrv] = GetTickCount() + 5000; } - else if ((FDC_TIME[curdrv]) && (FDC.motor)) { + else if ((FDC_TIME[curdrv]) && (fdc.motor)) { if (FDC_TIME[curdrv] < GetTickCount()) { FDC_HEAD[curdrv] = 24; } @@ -67,8 +75,8 @@ void fddmtr_motormove(void) { int regmove; - regmove = FDC_HEAD[curdrv] - FDC.c; - FDC_HEAD[curdrv] = FDC.c; + regmove = FDC_HEAD[curdrv] - fdc.c; + FDC_HEAD[curdrv] = fdc.c; if ((!xmilcfg.MOTOR) || (xmilcfg.NOWAIT)) { return; } @@ -98,7 +106,7 @@ void fddmtr_waitsec(BYTE value) { if ((!xmilcfg.MOTOR) || (xmilcfg.NOWAIT)) { return; } - if ((FDC.r != value) && (curevent < 1)) { + if ((fdc.r != value) && (curevent < 1)) { fddmtr_event(); curevent = 1; nextevent = GetTickCount() + SEKSEC_MS;