mirror of
https://github.com/TomHarte/CLK.git
synced 2025-08-08 14:25:05 +00:00
Include seek ended flag.
This commit is contained in:
@@ -708,8 +708,9 @@ void i8272::posit_event(int event_type) {
|
|||||||
// If a drive was found, return its results. Otherwise return a single 0x80.
|
// If a drive was found, return its results. Otherwise return a single 0x80.
|
||||||
if(found_drive != -1) {
|
if(found_drive != -1) {
|
||||||
drives_[found_drive].phase = Drive::NotSeeking;
|
drives_[found_drive].phase = Drive::NotSeeking;
|
||||||
|
status_.set_status0(uint8_t(found_drive | uint8_t(Status0::SeekEnded)));
|
||||||
// status_.end_sense_interrupt_status(found_drive, 0);
|
// status_.end_sense_interrupt_status(found_drive, 0);
|
||||||
status_.set(Status0::SeekEnded);
|
// status_.set(Status0::SeekEnded);
|
||||||
|
|
||||||
result_stack_ = { drives_[found_drive].head_position, status_[0]};
|
result_stack_ = { drives_[found_drive].head_position, status_[0]};
|
||||||
} else {
|
} else {
|
||||||
|
@@ -119,7 +119,7 @@ class FloppyController {
|
|||||||
printf("FDC: Recalibrate\n");
|
printf("FDC: Recalibrate\n");
|
||||||
drives_[decoder_.target().drive].track = 0;
|
drives_[decoder_.target().drive].track = 0;
|
||||||
drives_[decoder_.target().drive].raised_interrupt = true;
|
drives_[decoder_.target().drive].raised_interrupt = true;
|
||||||
drives_[decoder_.target().drive].status = decoder_.target().drive;
|
drives_[decoder_.target().drive].status = decoder_.target().drive | uint8_t(Intel::i8272::Status0::SeekEnded);
|
||||||
pic_.apply_edge<6>(true);
|
pic_.apply_edge<6>(true);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -129,7 +129,7 @@ class FloppyController {
|
|||||||
drives_[decoder_.target().drive].side = decoder_.target().head;
|
drives_[decoder_.target().drive].side = decoder_.target().head;
|
||||||
|
|
||||||
drives_[decoder_.target().drive].raised_interrupt = true;
|
drives_[decoder_.target().drive].raised_interrupt = true;
|
||||||
drives_[decoder_.target().drive].status = decoder_.drive_head();
|
drives_[decoder_.target().drive].status = decoder_.drive_head() | uint8_t(Intel::i8272::Status0::SeekEnded);
|
||||||
pic_.apply_edge<6>(true);
|
pic_.apply_edge<6>(true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user