mirror of
https://github.com/holub/mame
synced 2025-04-25 17:56:43 +03:00
swim2: Correct writing
floppy: Correct index duration (2ms, not 20us) and polarity in superdrive
This commit is contained in:
parent
25d91e9762
commit
b310c8ff63
@ -800,10 +800,10 @@ void floppy_image_device::index_resync()
|
|||||||
}
|
}
|
||||||
int position = int(delta.as_double()*angular_speed + 0.5);
|
int position = int(delta.as_double()*angular_speed + 0.5);
|
||||||
|
|
||||||
int new_idx = position < 20000;
|
int new_idx = position < 2000000;
|
||||||
|
|
||||||
if(new_idx) {
|
if(new_idx) {
|
||||||
attotime index_up_time = attotime::from_double(20000/angular_speed);
|
attotime index_up_time = attotime::from_double(2000000/angular_speed);
|
||||||
index_timer->adjust(index_up_time - delta);
|
index_timer->adjust(index_up_time - delta);
|
||||||
} else
|
} else
|
||||||
index_timer->adjust(rev_time - delta);
|
index_timer->adjust(rev_time - delta);
|
||||||
@ -2631,8 +2631,8 @@ bool mac_floppy_device::wpt_r()
|
|||||||
return !dskchg;
|
return !dskchg;
|
||||||
|
|
||||||
case 0x4:
|
case 0x4:
|
||||||
case 0xc: // Index pulse, probably only on the superdrive though
|
case 0xc: // Index pulse, probably only in mfm mode and while writing though
|
||||||
return !m_has_mfm ? false : !image || mon ? true : idx;
|
return !m_has_mfm ? false : !image || mon ? true : !idx;
|
||||||
|
|
||||||
case 0x5: // Is it a superdrive (supports 1.4M MFM) ?
|
case 0x5: // Is it a superdrive (supports 1.4M MFM) ?
|
||||||
return m_has_mfm;
|
return m_has_mfm;
|
||||||
|
@ -111,6 +111,7 @@ void swim2_device::flush_write(u64 when)
|
|||||||
m_flux_write_count = 0;
|
m_flux_write_count = 0;
|
||||||
if(last_on_edge)
|
if(last_on_edge)
|
||||||
m_flux_write[m_flux_write_count++] = when;
|
m_flux_write[m_flux_write_count++] = when;
|
||||||
|
m_flux_write_start = when;
|
||||||
} else
|
} else
|
||||||
m_flux_write_count = 0;
|
m_flux_write_count = 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user