mirror of
https://github.com/TomHarte/CLK.git
synced 2026-04-25 11:17:26 +00:00
Puts the disk controller back into the loop with knowledge about reading mode, and uses that knowledge to cut off the PLL.
This commit is contained in:
@@ -525,7 +525,7 @@ void i8272::posit_event(int event_type) {
|
||||
WAIT_FOR_EVENT(Event::DataWritten);
|
||||
if(!has_input_) {
|
||||
SetOverrun();
|
||||
get_drive().end_writing();
|
||||
end_writing();
|
||||
goto abort;
|
||||
}
|
||||
write_byte(input_);
|
||||
@@ -540,7 +540,7 @@ void i8272::posit_event(int event_type) {
|
||||
write_crc();
|
||||
expects_input_ = false;
|
||||
WAIT_FOR_EVENT(Event::DataWritten);
|
||||
get_drive().end_writing();
|
||||
end_writing();
|
||||
|
||||
if(sector_ != command_[6]) {
|
||||
sector_++;
|
||||
@@ -646,7 +646,7 @@ void i8272::posit_event(int event_type) {
|
||||
switch(event_type) {
|
||||
case (int)Event::IndexHole:
|
||||
SetOverrun();
|
||||
get_drive().end_writing();
|
||||
end_writing();
|
||||
goto abort;
|
||||
break;
|
||||
case (int)Event::DataWritten:
|
||||
@@ -683,7 +683,7 @@ void i8272::posit_event(int event_type) {
|
||||
WAIT_FOR_EVENT((int)Event::DataWritten | (int)Event::IndexHole);
|
||||
if(event_type != (int)Event::IndexHole) goto format_track_pad;
|
||||
|
||||
get_drive().end_writing();
|
||||
end_writing();
|
||||
|
||||
cylinder_ = header_[0];
|
||||
head_ = header_[1];
|
||||
|
||||
Reference in New Issue
Block a user