Previous 199869 Revisions Next

r19116 Friday 23rd November, 2012 at 18:15:50 UTC by O. Galibert
wd1772: Paranoia (nw)
[src/mess/machine]wd1772.c

trunk/src/mess/machine/wd1772.c
r19115r19116
183183      else
184184         status &= ~S_HLD;
185185   }
186   sub_state = has_motor() ? SPINUP : SPINUP_DONE;
186   sub_state = has_motor() && !has_head_load() ? SPINUP : SPINUP_DONE;
187187   status_type_1 = true;
188188   seek_continue();
189189}
r19115r19116
223223            floppy->dir_w(last_dir);
224224            floppy->stp_w(0);
225225            floppy->stp_w(1);
226
227            // When stepping with update, the track register is updated before seeking.
228            // Important for the sam coupe format code.
229            if(main_state == STEP && (command & 0x10))
230               track += last_dir ? -1 : 1;
231226         }
227         // When stepping with update, the track register is updated before seeking.
228         // Important for the sam coupe format code.
229         if(main_state == STEP && (command & 0x10))
230            track += last_dir ? -1 : 1;
232231         counter++;
233232         sub_state = SEEK_WAIT_STEP_TIME;
234233         delay_cycles(t_gen, step_time(command & 3));
r19115r19116
278277
279278      case SEEK_DONE:
280279         if(command & 0x04) {
280            if(has_ready() && !is_ready()) {
281               status |= S_RNF;
282               command_end();
283               return;
284            }
281285            sub_state = SCAN_ID;
282286            counter = 0;
283287            live_start(SEARCH_ADDRESS_MARK_HEADER);
r19115r19116
338342   drop_drq();
339343   if (has_side_select() && floppy)
340344      floppy->ss_w(BIT(command, 1));
341   sub_state = has_motor() ? SPINUP : SPINUP_DONE;
345   sub_state = has_motor() && !has_head_load() ? SPINUP : SPINUP_DONE;
342346   status_type_1 = false;
343347   read_sector_continue();
344348}
r19115r19116
428432   drop_drq();
429433   if (has_side_select() && floppy)
430434      floppy->ss_w(BIT(command, 1));
431   sub_state = has_motor() ? SPINUP : SPINUP_DONE;
435   sub_state = has_motor() && !has_head_load()  ? SPINUP : SPINUP_DONE;
432436   status_type_1 = false;
433437   read_track_continue();
434438}
r19115r19116
495499   drop_drq();
496500   if (has_side_select() && floppy)
497501      floppy->ss_w(BIT(command, 1));
498   sub_state = has_motor() ? SPINUP : SPINUP_DONE;
502   sub_state = has_motor() && !has_head_load()  ? SPINUP : SPINUP_DONE;
499503   status_type_1 = false;
500504   read_id_continue();
501505}
r19115r19116
560564   drop_drq();
561565   if (has_side_select() && floppy)
562566      floppy->ss_w(BIT(command, 1));
563   sub_state = has_motor() ? SPINUP : SPINUP_DONE;
567   sub_state = has_motor() && !has_head_load() ? SPINUP : SPINUP_DONE;
564568   status_type_1 = false;
565569   write_track_continue();
566570}
r19115r19116
642646   drop_drq();
643647   if (has_side_select() && floppy)
644648      floppy->ss_w(BIT(command, 1));
645   sub_state = has_motor() ? SPINUP : SPINUP_DONE;
649   sub_state = has_motor() && !has_head_load()  ? SPINUP : SPINUP_DONE;
646650   status_type_1 = false;
647651   write_sector_continue();
648652}

Previous 199869 Revisions Next


© 1997-2024 The MAME Team