diff --git a/Storage/MassStorage/Formats/HFV.cpp b/Storage/MassStorage/Formats/HFV.cpp index 85fa20847..5b617ad1e 100644 --- a/Storage/MassStorage/Formats/HFV.cpp +++ b/Storage/MassStorage/Formats/HFV.cpp @@ -31,3 +31,9 @@ std::vector HFV::get_block(size_t address) { file_.seek(file_offset, SEEK_SET); return file_.read(get_block_size()); } + +void HFV::set_block(size_t address, const std::vector &contents) { + const long file_offset = long(get_block_size() * address); + file_.seek(file_offset, SEEK_SET); + file_.write(contents); +} diff --git a/Storage/MassStorage/Formats/HFV.hpp b/Storage/MassStorage/Formats/HFV.hpp index c3c556ee6..a44a29bdc 100644 --- a/Storage/MassStorage/Formats/HFV.hpp +++ b/Storage/MassStorage/Formats/HFV.hpp @@ -29,6 +29,7 @@ class HFV: public MassStorageDevice { size_t get_block_size() final; size_t get_number_of_blocks() final; std::vector get_block(size_t address) final; + void set_block(size_t address, const std::vector &) final; };