diff --git a/Storage/Disk/Formats/OricMFMDSK.cpp b/Storage/Disk/Formats/OricMFMDSK.cpp index 2f0de70aa..6b6e6959b 100644 --- a/Storage/Disk/Formats/OricMFMDSK.cpp +++ b/Storage/Disk/Formats/OricMFMDSK.cpp @@ -133,4 +133,11 @@ std::shared_ptr OricMFMDSK::get_uncached_track_at_position(unsigned int h void OricMFMDSK::store_updated_track_at_position(unsigned int head, unsigned int position, const std::shared_ptr &track, std::mutex &file_access_mutex) { + Storage::Encodings::MFM::Parser parser(true, track); + std::vector parsed_track = parser.get_track((uint8_t)position); + std::lock_guard lock_guard(file_access_mutex); + + long file_offset = get_file_offset_for_position(head, position); + fseek(file_, file_offset, SEEK_SET); + fwrite(parsed_track.data(), 1, parsed_track.size(), file_); }