mirror of
https://github.com/holub/mame
synced 2025-07-01 16:19:38 +03:00
wozfdc: Reduce the flux inversion pulse duration to the minimum [Peter Ferrie, O. Galibert]
This commit is contained in:
parent
5bba5a93a4
commit
5099c74845
@ -431,7 +431,6 @@ void wozfdc_device::lss_predict(attotime limit)
|
|||||||
bool write_line_active = cur_lss.write_line_active;
|
bool write_line_active = cur_lss.write_line_active;
|
||||||
|
|
||||||
attotime next_flux = floppy ? floppy->get_next_transition(cur_lss.tm - attotime::from_usec(1)) : attotime::never;
|
attotime next_flux = floppy ? floppy->get_next_transition(cur_lss.tm - attotime::from_usec(1)) : attotime::never;
|
||||||
attotime next_flux_down = next_flux != attotime::never ? next_flux + attotime::from_usec(1) : attotime::never;
|
|
||||||
|
|
||||||
if(limit == attotime::never)
|
if(limit == attotime::never)
|
||||||
limit = machine().time() + attotime::from_usec(50);
|
limit = machine().time() + attotime::from_usec(50);
|
||||||
@ -439,7 +438,7 @@ void wozfdc_device::lss_predict(attotime limit)
|
|||||||
UINT64 cycles = cur_lss.cycles;
|
UINT64 cycles = cur_lss.cycles;
|
||||||
UINT64 cycles_limit = time_to_cycles(limit);
|
UINT64 cycles_limit = time_to_cycles(limit);
|
||||||
UINT64 cycles_next_flux = next_flux != attotime::never ? time_to_cycles(next_flux) : UINT64(-1);
|
UINT64 cycles_next_flux = next_flux != attotime::never ? time_to_cycles(next_flux) : UINT64(-1);
|
||||||
UINT64 cycles_next_flux_down = next_flux_down != attotime::never ? time_to_cycles(next_flux_down) : UINT64(-1);
|
UINT64 cycles_next_flux_down = cycles_next_flux != UINT64(-1) ? cycles_next_flux+1 : UINT64(-1);
|
||||||
|
|
||||||
UINT8 address = cur_lss.address;
|
UINT8 address = cur_lss.address;
|
||||||
UINT8 data_reg = cur_lss.data_reg;
|
UINT8 data_reg = cur_lss.data_reg;
|
||||||
@ -499,9 +498,8 @@ void wozfdc_device::lss_predict(attotime limit)
|
|||||||
else if(cycles == cycles_next_flux_down) {
|
else if(cycles == cycles_next_flux_down) {
|
||||||
address |= 0x10;
|
address |= 0x10;
|
||||||
next_flux = floppy ? floppy->get_next_transition(cycles_to_time(cycles)) : attotime::never;
|
next_flux = floppy ? floppy->get_next_transition(cycles_to_time(cycles)) : attotime::never;
|
||||||
next_flux_down = next_flux != attotime::never ? next_flux + attotime::from_usec(1) : attotime::never;
|
|
||||||
cycles_next_flux = next_flux != attotime::never ? time_to_cycles(next_flux) : UINT64(-1);
|
cycles_next_flux = next_flux != attotime::never ? time_to_cycles(next_flux) : UINT64(-1);
|
||||||
cycles_next_flux_down = next_flux_down != attotime::never ? time_to_cycles(next_flux_down) : UINT64(-1);
|
cycles_next_flux_down = cycles_next_flux != UINT64(-1) ? cycles_next_flux+1 : UINT64(-1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user