diff --git a/subprojects/memcard/include/memcard/block.hpp b/subprojects/memcard/include/memcard/block.hpp index d4cf491..97e1f75 100644 --- a/subprojects/memcard/include/memcard/block.hpp +++ b/subprojects/memcard/include/memcard/block.hpp @@ -23,6 +23,8 @@ class BasicBlock { public: using data_type = typename std::conditional::type; + static const constexpr unsigned int FrameSize = 128; + explicit BasicBlock (data_type* beg); ~BasicBlock(); @@ -36,7 +38,7 @@ public: data_type* frame(unsigned int idx); const data_type* frame(unsigned int idx) const; - static constexpr std::size_t size() { return 8192; } + static constexpr std::size_t size() { return FrameSize * 64; } const std::vector& palette() const { return m_icon_palette; } bool has_magic() const; diff --git a/subprojects/memcard/src/block.cpp b/subprojects/memcard/src/block.cpp index 5410a6c..a85f94b 100644 --- a/subprojects/memcard/src/block.cpp +++ b/subprojects/memcard/src/block.cpp @@ -92,9 +92,8 @@ auto BasicBlock::frame(unsigned int idx) -> data_type* { template auto BasicBlock::frame(unsigned int idx) const -> const data_type* { - const constexpr unsigned int framesize = 128; - assert(idx * framesize + framesize <= this->size()); - return this->begin() + framesize * idx; + assert(idx * FrameSize + FrameSize <= this->size()); + return this->begin() + FrameSize * idx; } template