From a96d1fffdc371bad3bc81172d8663e0a5a902945 Mon Sep 17 00:00:00 2001 From: Roland Lutz Date: Tue, 11 Jul 2017 18:17:56 +0200 Subject: icemulti: Store image reference in header --- icemulti/icemulti.cc | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/icemulti/icemulti.cc b/icemulti/icemulti.cc index 45e53c1..143d0d9 100644 --- a/icemulti/icemulti.cc +++ b/icemulti/icemulti.cc @@ -122,11 +122,8 @@ void Image::write(std::ostream &ofs, uint32_t &file_offset) } class Header { - uint32_t image_offs; public: - Header() {} - Header(const Image &i) : - image_offs(i.offset()) {} + Image const *image; void write(std::ostream &ofs, uint32_t &file_offset, bool coldboot); }; @@ -146,9 +143,9 @@ void Header::write(std::ostream &ofs, uint32_t &file_offset, bool coldboot) // Boot address write_byte(ofs, file_offset, 0x44); write_byte(ofs, file_offset, 0x03); - write_byte(ofs, file_offset, (image_offs >> 16) & 0xff); - write_byte(ofs, file_offset, (image_offs >> 8) & 0xff); - write_byte(ofs, file_offset, image_offs & 0xff); + write_byte(ofs, file_offset, (image->offset() >> 16) & 0xff); + write_byte(ofs, file_offset, (image->offset() >> 8) & 0xff); + write_byte(ofs, file_offset, image->offset() & 0xff); // Bank offset write_byte(ofs, file_offset, 0x82); @@ -278,10 +275,10 @@ int main(int argc, char **argv) // Populate headers for (int i=0; i