diff --git a/Components/1770/1770.cpp b/Components/1770/1770.cpp index 35c1d8c5b..8888bea69 100644 --- a/Components/1770/1770.cpp +++ b/Components/1770/1770.cpp @@ -626,7 +626,6 @@ void WD1770::posit_event(Event new_event_type) for(int b = 0; b < 16; b++) write_bit(!(b&1)); } -// printf("%d\n", counter); WAIT_FOR_EVENT(Event::DataWritten); distance_into_section_ = 0; @@ -637,7 +636,9 @@ void WD1770::posit_event(Event new_event_type) update_status([] (Status &status) { status.data_request = true; }); + printf("- %d\n", counter); WAIT_FOR_EVENT(Event::DataWritten); + printf("+ %d\n", counter); distance_into_section_++; if(distance_into_section_ == 128 << header_[3]) { @@ -652,6 +653,8 @@ void WD1770::posit_event(Event new_event_type) goto wait_for_command; } + goto type2_write_loop; + type2_write_crc: // TODO: write CRC and FF for(int b = 0; b < 48; b++) diff --git a/Storage/Disk/DiskController.cpp b/Storage/Disk/DiskController.cpp index 8507141bc..827d47b12 100644 --- a/Storage/Disk/DiskController.cpp +++ b/Storage/Disk/DiskController.cpp @@ -189,7 +189,7 @@ void Controller::set_expected_bit_length(Time bit_length) bit_length_ = bit_length; bit_length_.simplify(); - cycles_per_bit_ = Storage::Time(8000000) * (bit_length * rotational_multiplier_); + cycles_per_bit_ = Storage::Time(8000000) * (bit_length * rotational_multiplier_) * Storage::Time(clock_rate_multiplier_); cycles_per_bit_.simplify(); // this conversion doesn't need to be exact because there's a lot of variation to be taken