|
|
| 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; |