diff --git a/Storage/Disk/Formats/AcornADF.cpp b/Storage/Disk/Formats/AcornADF.cpp index 9efd45811..b1e8d0794 100644 --- a/Storage/Disk/Formats/AcornADF.cpp +++ b/Storage/Disk/Formats/AcornADF.cpp @@ -37,6 +37,29 @@ AcornADF::AcornADF(const char *file_name) : if(bytes[0] != 'H' || bytes[1] != 'u' || bytes[2] != 'g' || bytes[3] != 'o') throw ErrorNotAcornADF; } +AcornADF::~AcornADF() +{ + if(get_is_modified()) + { + for(unsigned int head = 0; head < get_head_count(); head++) + { + for(unsigned int track = 0; track < get_head_position_count(); track++) + { + std::shared_ptr modified_track = get_modified_track_at_position(head, track); + if(modified_track) + { + Storage::Encodings::MFM::Parser parser(true, modified_track); + for(unsigned int c = 0; c < sectors_per_track; c++) + { + std::shared_ptr sector = parser.get_sector((uint8_t)track, (uint8_t)c); + printf("Sector %d: %p\n", c, sector.get()); + } + } + } + } + } +} + unsigned int AcornADF::get_head_position_count() { return 80; diff --git a/Storage/Disk/Formats/AcornADF.hpp b/Storage/Disk/Formats/AcornADF.hpp index 7be2d1b87..ea996303f 100644 --- a/Storage/Disk/Formats/AcornADF.hpp +++ b/Storage/Disk/Formats/AcornADF.hpp @@ -27,6 +27,7 @@ class AcornADF: public Disk, public Storage::FileHolder { @throws ErrorNotAcornADF if the file doesn't appear to contain an Acorn .ADF format image. */ AcornADF(const char *file_name); + ~AcornADF(); enum { ErrorNotAcornADF,