hp9845: fixed a weird case of missed synchronization in 9895 drive

This commit is contained in:
fulivi 2017-01-31 15:20:31 +01:00
parent 2602b52517
commit 78f2381549
3 changed files with 3 additions and 24 deletions

View File

@ -48,8 +48,8 @@
Hardware Maintenance Manual
TODO/Issues:
* floppy_image_device sometimes reports the wrong state for ready &
wpt signals
* floppy_image_device sometimes reports the wrong state for wpt
signal
* IBM mode hasn't been tested yet
*********************************************************************/
@ -232,10 +232,6 @@ void hp9895_device::device_reset()
m_timeout_timer->reset();
m_byte_timer->reset();
m_half_bit_timer->reset();
#if 0
// DEBUG DEBUG DEBUG DEBUG
for (auto& r : m_ready) r = 2;
#endif
}
void hp9895_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
@ -705,19 +701,6 @@ READ8_MEMBER(hp9895_device::switches2_r)
void hp9895_device::floppy_ready_cb(floppy_image_device *floppy , int state)
{
#if 0
// DEBUG DEBUG DEBUG DEBUG
for (unsigned i = 0; i < 2; i++) {
if (floppy == m_drives[ i ]->get_device()) {
if (m_ready[ i ] != state) {
LOG(("Ready %u=%d\n" , i , state));
m_ready[ i ] = state;
}
break;
}
}
#endif
if (state) {
// Set Disk Changed flag when a drive is not ready
for (unsigned i = 0; i < 2; i++) {

View File

@ -109,10 +109,6 @@ private:
uint8_t m_sync_cnt; // U28 & U73
bool m_hiden;
bool m_mgnena;
#if 0
// DEBUG DEBUG DEBUG DEBUG
int m_ready[ 2 ];
#endif
// Timers
emu_timer *m_timeout_timer;

View File

@ -80,7 +80,7 @@ int fdc_pll_t::feed_read_data(attotime &tm, const attotime& edge, const attotime
ctime = next;
tm = next;
if(edge.is_never() || edge >= next) {
if(edge.is_never() || edge > next) {
// No transition in the window means 0 and pll in free run mode
phase_adjust = attotime::zero;
return 0;