From 99e10944586e3d2b8c81f96dce94be305e99da74 Mon Sep 17 00:00:00 2001 From: Toni Riikonen Date: Sat, 13 Sep 2025 07:53:55 +0300 Subject: [PATCH] FDC seeking fixed, not instant anymore drive is set to busy during the operation and when it's finished at call fdc to set the appropriate fdc flags. Also added time logic to fdd to calculate seek duration and a callback function for it. --- ...ffseek_80_tracks_1000ms_48000_16_1_PCM.wav | Bin 0 -> 94412 bytes src/floppy/fdc.c | 29 ++++++++- src/floppy/fdd.c | 55 +++++++++++++++++- src/include/86box/fdc.h | 1 + 4 files changed, 80 insertions(+), 5 deletions(-) create mode 100644 samples/mitsumi_offseek_80_tracks_1000ms_48000_16_1_PCM.wav diff --git a/samples/mitsumi_offseek_80_tracks_1000ms_48000_16_1_PCM.wav b/samples/mitsumi_offseek_80_tracks_1000ms_48000_16_1_PCM.wav new file mode 100644 index 0000000000000000000000000000000000000000..afd95b8d0ffb7610c1fb7d7e8348bc23a1c653e0 GIT binary patch literal 94412 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 HnhE~{nqONQ literal 0 HcmV?d00001 diff --git a/src/floppy/fdc.c b/src/floppy/fdc.c index 9d68365d2..57bee9f2e 100644 --- a/src/floppy/fdc.c +++ b/src/floppy/fdc.c @@ -664,6 +664,28 @@ real_drive(fdc_t *fdc, int drive) return drive; } +/* FDD notifies FDC when seek operation is complete */ +void +fdc_seek_complete_interrupt(fdc_t *fdc, int drive) +{ + if (!fdc) { + fdc_log("ERROR: fdc_seek_complete_interrupt called with NULL fdc!\n"); + return; + } + + fdc_log("FDD %c: Seek complete interrupt\n", 0x41 + drive); + + fdc->fintr = 1; + fdc->st0 = 0x20 | (drive & 3); + + if (fdd_get_head(drive)) + fdc->st0 |= 0x04; + + fdc_int(fdc, 1); + + fdc->stat = (fdc->stat & 0xf) | 0x80; +} + void fdc_seek(fdc_t *fdc, int drive, int params) { @@ -1231,7 +1253,7 @@ fdc_write(uint16_t addr, uint8_t val, void *priv) case 0x0f: /* Seek */ fdc->rw_drive = fdc->params[0] & 3; fdc->stat = (1 << fdc->drive); - if (!(fdc->flags & FDC_FLAG_PCJR)) + if (!(fdc->flags & FDC_FLAG_PCJR)) fdc->stat |= 0x80; fdc->head = 0; /* TODO: See if this is correct. */ fdc->st0 = fdc->params[0] & 0x03; @@ -1909,7 +1931,10 @@ fdc_callback(void *priv) timer_set_delay_u64(&fdc->timer, 1024 * TIMER_USEC); } else { fdc->interrupt = -3; - fdc_callback(fdc); + // 10 seconds before timeout -> error, Usually BIOS gets angry before this happens + // FDD does the seeking and calls callback when done + timer_set_delay_u64(&fdc->timer, 1024 * 1024 * 10 * TIMER_USEC); + // fdc_callback(fdc); // Immediate callback causes seek to be instant } return; case 0x10: /*Version*/ diff --git a/src/floppy/fdd.c b/src/floppy/fdd.c index 178e3c333..41e3ba216 100644 --- a/src/floppy/fdd.c +++ b/src/floppy/fdd.c @@ -83,6 +83,7 @@ char floppyfns[FDD_NUM][512]; char *fdd_image_history[FDD_NUM][FLOPPY_IMAGE_HISTORY]; pc_timer_t fdd_poll_time[FDD_NUM]; +pc_timer_t fdd_seek_timer[FDD_NUM]; static int fdd_notfound = 0; static int driveloaders[FDD_NUM]; @@ -187,11 +188,32 @@ int fdd_do_log = ENABLE_FDD_LOG; static void fdd_log(const char *fmt, ...) { - va_list ap; + va_list ap, ap_copy; + char timebuf[32]; + char fullbuf[1056]; // 32 + 1024 bytes for timestamp + message if (fdd_do_log) { + uint32_t ticks = plat_get_ticks(); + uint32_t seconds = ticks / 1000; + uint32_t milliseconds = ticks % 1000; + + snprintf(timebuf, sizeof(timebuf), "[%07u.%03u] ", seconds, milliseconds); + va_start(ap, fmt); - pclog_ex(fmt, ap); + va_copy(ap_copy, ap); + + strcpy(fullbuf, timebuf); + vsnprintf(fullbuf + strlen(timebuf), sizeof(fullbuf) - strlen(timebuf), fmt, ap_copy); + + va_end(ap_copy); + va_end(ap); + + va_start(ap, fmt); + va_end(ap); + + char *msg = fullbuf; + va_start(ap, fmt); + pclog_ex("%s", (va_list) &msg); va_end(ap); } } @@ -247,9 +269,21 @@ fdd_forced_seek(int drive, int track_diff) fdd_do_seek(drive, fdd[drive].track); } +static void +fdd_seek_complete_callback(void *priv) +{ + DRIVE *drive = (DRIVE *) priv; + + fdd_log("fdd_seek_complete_callback(drive=%d) - TIMER FIRED! seek_in_progress=1\n", drive->id); + fdd_log("Notifying FDC of seek completion\n"); + + fdc_seek_complete_interrupt(fdd_fdc, drive->id); +} + void fdd_seek(int drive, int track_diff) { + fdd_log("fdd_seek(drive=%d, track_diff=%d)\n", drive, track_diff); if (!track_diff) return; @@ -274,13 +308,23 @@ fdd_seek(int drive, int track_diff) /* Multi-track seek */ fdd_audio_play_multi_track_seek(drive, old_track, fdd[drive].track); } - + + // Count actual seek time (6ms per track + 50ms base) + // 80 tracks -> 50 + 6 * 80 = 530ms + uint64_t seek_time_us = (50000 + (abs(track_diff) * 6000)) * TIMER_USEC; + if (!fdd_seek_timer[drive].callback) { + timer_add(&(fdd_seek_timer[drive]), fdd_seek_complete_callback, &drives[drive], 0); + } + + timer_set_delay_u64(&fdd_seek_timer[drive], seek_time_us); fdd_do_seek(drive, fdd[drive].track); } int fdd_track0(int drive) { + fdd_log("fdd_track0(drive=%d)\n", drive); + /* If drive is disabled, TRK0 never gets set. */ if (!drive_types[fdd[drive].type].max_track) return 0; @@ -423,6 +467,7 @@ fdd_is_double_sided(int drive) void fdd_set_head(int drive, int head) { + fdd_log("fdd_set_head(%d, %d)\n", drive, head); if (head && !fdd_is_double_sided(drive)) fdd[drive].head = 0; else @@ -470,6 +515,7 @@ fdd_get_densel(int drive) void fdd_load(int drive, char *fn) { + fdd_log("fdd_load(%d, %s)\n", drive, fn); int c = 0; int size; const char *p; @@ -558,6 +604,7 @@ fdd_byteperiod(int drive) void fdd_set_motor_enable(int drive, int motor_enable) { + fdd_log("fdd_set_motor_enable(%d, %d)\n", drive, motor_enable); fdd_audio_set_motor_enable(drive, motor_enable); if (motor_enable && !motoron[drive]) { @@ -629,6 +676,7 @@ fdd_reset(void) void fdd_readsector(int drive, int sector, int track, int side, int density, int sector_size) { + fdd_log("fdd_readsector(%d, %d, %d, %d, %d, %d)\n", drive, sector, track, side, density, sector_size); if (drives[drive].readsector) drives[drive].readsector(drive, sector, track, side, density, sector_size); else @@ -638,6 +686,7 @@ fdd_readsector(int drive, int sector, int track, int side, int density, int sect void fdd_writesector(int drive, int sector, int track, int side, int density, int sector_size) { + fdd_log("fdd_writesector(%d, %d, %d, %d, %d, %d)\n", drive, sector, track, side, density, sector_size); if (drives[drive].writesector) drives[drive].writesector(drive, sector, track, side, density, sector_size); else diff --git a/src/include/86box/fdc.h b/src/include/86box/fdc.h index cd1e58db7..d5d0022f1 100644 --- a/src/include/86box/fdc.h +++ b/src/include/86box/fdc.h @@ -251,6 +251,7 @@ extern uint8_t fdc_read(uint16_t addr, void *priv); extern void fdc_reset(void *priv); extern uint8_t fdc_get_current_drive(void); +extern void fdc_seek_complete_interrupt(fdc_t *fdc, int drive); #ifdef EMU_DEVICE_H extern const device_t fdc_xt_device;