1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-09 21:29:53 +00:00

Made an initial attempt at [a subset of] multi-sector reads.

This commit is contained in:
Thomas Harte 2017-08-10 11:11:26 -04:00
parent 7d1023ea98
commit 2eed24e859

View File

@ -253,6 +253,8 @@ void i8272::posit_event(int event_type) {
sector_ = command_[4];
size_ = command_[5];
read_next_data:
// Sets a maximum index hole limit of 2 then performs a find header/read header loop, continuing either until
// the index hole limit is breached or a sector is found with a cylinder, head, sector and size equal to the
// values in the internal registers.
@ -286,6 +288,12 @@ void i8272::posit_event(int event_type) {
WAIT_FOR_EVENT(Event::Token);
WAIT_FOR_EVENT(Event::Token);
// check whether that's it
if(sector_ != command_[6]) {
sector_++;
goto read_next_data;
}
// For a final result phase, post the standard ST0, ST1, ST2, C, H, R, N
goto post_st012chrn;