1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-23 03:32:32 +00:00

Return some status after reading. Seemingly wrong.

This commit is contained in:
Thomas Harte 2023-12-01 09:37:30 -05:00
parent d101483714
commit 88e67d9ad6

View File

@ -134,6 +134,8 @@ class FloppyController {
case Command::ReadData: { case Command::ReadData: {
printf("FDC: Read %d:%d at %d/%d\n", decoder_.target().drive, decoder_.target().head, decoder_.geometry().cylinder, decoder_.geometry().head); printf("FDC: Read %d:%d at %d/%d\n", decoder_.target().drive, decoder_.target().head, decoder_.geometry().cylinder, decoder_.geometry().head);
status_.begin(decoder_);
// Search for a matching sector. // Search for a matching sector.
const auto target = decoder_.geometry(); const auto target = decoder_.geometry();
bool found_sector = false; bool found_sector = false;
@ -155,6 +157,12 @@ class FloppyController {
} }
if(wrote_in_full) { if(wrote_in_full) {
results_.serialise(
status_,
decoder_.geometry().cylinder,
decoder_.geometry().head,
decoder_.geometry().sector,
decoder_.geometry().size);
} else { } else {
} }
@ -165,6 +173,7 @@ class FloppyController {
if(!found_sector) { if(!found_sector) {
} }
pic_.apply_edge<6>(true);
} break; } break;
case Command::Seek: case Command::Seek:
@ -220,10 +229,6 @@ class FloppyController {
break; break;
} }
// Set interrupt upon the end of any valid command other than sense interrupt status.
// if(decoder_.command() != Command::SenseInterruptStatus && decoder_.command() != Command::Invalid) {
// pic_.apply_edge<6>(true);
// }
decoder_.clear(); decoder_.clear();
// If there are any results to provide, set data direction and data ready. // If there are any results to provide, set data direction and data ready.