Timing fixes for authentity and special longer timings for PCJr

This commit is contained in:
Toni Riikonen
2025-09-19 23:20:08 +03:00
parent dc037036d0
commit b8f61913b0

View File

@@ -316,15 +316,13 @@ fdd_seek(int drive, int track_diff)
return;
}
// Count actual seek time (6ms per track + 50ms base)
// 80 tracks -> 50 + 6 * 80 = 530ms
//double seek_ratio = 80.0 / (double)drive_types[fdd[drive].type].max_track;
double seek_ratio = 1.0;
uint64_t seek_time_us = (15000 + (abs(actual_track_diff) * 6000 * seek_ratio)) * TIMER_USEC;
if (!fdd_seek_timer[drive].callback) {
timer_add(&(fdd_seek_timer[drive]), fdd_seek_complete_callback, &drives[drive], 0);
}
double initial_seek_time = FDC_FLAG_PCJR & fdd_fdc->flags ? 50000.0 : 15000.0;
double track_seek_time = FDC_FLAG_PCJR & fdd_fdc->flags ? 10000.0 : 6000.0;
uint64_t seek_time_us = (initial_seek_time + (abs(actual_track_diff) * track_seek_time)) * TIMER_USEC;
timer_set_delay_u64(&fdd_seek_timer[drive], seek_time_us);
}