--- np2/fdd/fdd_mtr.c 2004/02/21 17:52:04 1.5 +++ np2/fdd/fdd_mtr.c 2004/05/15 16:26:54 1.8 @@ -108,7 +108,12 @@ static void fddmtr_event(void) { void fddmtr_initialize(void) { - fddmtr_event(); +#if defined(SUPPORT_SWSEEKSND) + fddmtrsnd_play(0, FALSE); +#else + soundmng_pcmstop(SOUND_PCMSEEK); +#endif + ZeroMemory(&fddmtr, sizeof(fddmtr)); FillMemory(fddmtr.head, sizeof(fddmtr.head), 42); } @@ -131,7 +136,7 @@ void fddmtr_seek(REG8 drv, REG8 c, UINT SINT32 waitcnt; drv &= 3; - regmove = fddmtr.head[drv] - c; + regmove = c - fddmtr.head[drv]; fddmtr.head[drv] = c; if (!np2cfg.MOTOR) { @@ -139,13 +144,13 @@ void fddmtr_seek(REG8 drv, REG8 c, UINT fddmtr.busy = 1; nevent_set(NEVENT_FDBIOSBUSY, size * pccore.multiple, fdbiosout, NEVENT_ABSOLUTE); - return; } + return; } waitcnt = (size * DISK1ROL_MS) / (1024 * 8); if (regmove < 0) { - regmove = 0 - 1; + regmove = 0 - regmove; } if (regmove == 1) { if (fddmtr.curevent < 80) {