Previous 199869 Revisions Next

r35185 Saturday 21st February, 2015 at 17:22:46 UTC by Olivier Galibert
wozfdc: Reduce the flux inversion pulse duration to the minimum [Peter Ferrie, O. Galibert]
[src/emu/machine]wozfdc.c

trunk/src/emu/machine/wozfdc.c
r243696r243697
431431   bool write_line_active = cur_lss.write_line_active;
432432
433433   attotime next_flux = floppy ? floppy->get_next_transition(cur_lss.tm - attotime::from_usec(1)) : attotime::never;
434   attotime next_flux_down = next_flux != attotime::never ? next_flux + attotime::from_usec(1) : attotime::never;
435434
436435   if(limit == attotime::never)
437436      limit = machine().time() + attotime::from_usec(50);
r243696r243697
439438   UINT64 cycles = cur_lss.cycles;
440439   UINT64 cycles_limit = time_to_cycles(limit);
441440   UINT64 cycles_next_flux = next_flux != attotime::never ? time_to_cycles(next_flux) : UINT64(-1);
442   UINT64 cycles_next_flux_down = next_flux_down != attotime::never ? time_to_cycles(next_flux_down) : UINT64(-1);
441   UINT64 cycles_next_flux_down = cycles_next_flux != UINT64(-1) ? cycles_next_flux+1 : UINT64(-1);
443442
444443   UINT8 address = cur_lss.address;
445444   UINT8 data_reg = cur_lss.data_reg;
r243696r243697
499498      else if(cycles == cycles_next_flux_down) {
500499         address |= 0x10;
501500         next_flux = floppy ? floppy->get_next_transition(cycles_to_time(cycles)) : attotime::never;
502         next_flux_down = next_flux != attotime::never ? next_flux + attotime::from_usec(1) : attotime::never;
503501         cycles_next_flux = next_flux != attotime::never ? time_to_cycles(next_flux) : UINT64(-1);
504         cycles_next_flux_down = next_flux_down != attotime::never ? time_to_cycles(next_flux_down) : UINT64(-1);
502         cycles_next_flux_down = cycles_next_flux != UINT64(-1) ? cycles_next_flux+1 : UINT64(-1);
505503      }
506504   }
507505


Previous 199869 Revisions Next


© 1997-2024 The MAME Team