From aa15fd1fffd6f72aba4454c87e500f40012b9c94 Mon Sep 17 00:00:00 2001 From: Thomas Harte <thomas.harte@gmail.com> Date: Sat, 2 Dec 2023 00:00:44 -0500 Subject: [PATCH 1/2] Comment more. --- Machines/PCCompatible/PCCompatible.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Machines/PCCompatible/PCCompatible.cpp b/Machines/PCCompatible/PCCompatible.cpp index bf4d0842d..f72314c63 100644 --- a/Machines/PCCompatible/PCCompatible.cpp +++ b/Machines/PCCompatible/PCCompatible.cpp @@ -134,7 +134,13 @@ class FloppyController { break; case Command::ReadData: { - printf("FDC: Read %d:%d at %d/%d/%d\n", decoder_.target().drive, decoder_.target().head, decoder_.geometry().cylinder, decoder_.geometry().head, decoder_.geometry().sector); + printf("FDC: Read from drive %d / head %d / track %d of head %d / track %d / sector %d\n", + decoder_.target().drive, + decoder_.target().head, + drives_[decoder_.target().drive].track, + decoder_.geometry().head, + decoder_.geometry().cylinder, + decoder_.geometry().sector); // log = true; status_.begin(decoder_); @@ -152,13 +158,17 @@ class FloppyController { found_sector = true; bool wrote_in_full = true; + printf("Writing data beginning: "); for(int c = 0; c < 128 << target.size; c++) { + if(c < 8) printf("%02x ", pair.second.samples[0].data()[c]); + if(!dma_.write(2, pair.second.samples[0].data()[c])) { printf("FDC: DMA not permitted\n"); wrote_in_full = false; break; } } + printf("\n"); if(wrote_in_full) { results_.serialise( From dde58faaf16ef07faa544c073315b272267b5ef1 Mon Sep 17 00:00:00 2001 From: Thomas Harte <thomas.harte@gmail.com> Date: Sat, 2 Dec 2023 00:00:57 -0500 Subject: [PATCH 2/2] Add additional 8-sector format. --- Storage/Disk/DiskImage/Formats/PCBooter.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Storage/Disk/DiskImage/Formats/PCBooter.cpp b/Storage/Disk/DiskImage/Formats/PCBooter.cpp index 617ec16c8..54e14a8ea 100644 --- a/Storage/Disk/DiskImage/Formats/PCBooter.cpp +++ b/Storage/Disk/DiskImage/Formats/PCBooter.cpp @@ -28,6 +28,12 @@ PCBooter::PCBooter(const std::string &file_name) : sector_count_ = 8; break; + case 512 * 8 * 40 * 2: + head_count_ = 2; + track_count_ = 40; + sector_count_ = 8; + break; + case 512 * 9 * 40: head_count_ = 1; track_count_ = 40;