RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
|
A class to encode a general file format. More...
#include <format.h>
Public Member Functions | |
Format (offset_t file_offset=0) | |
virtual void | Clear () |
Resets all fields to their default values, deallocate memory. | |
virtual void | ReadFile (Reader &rd)=0 |
Loads file into memory. | |
offset_t | WriteFile (Writer &wr) const override=0 |
Stores data in memory to file. | |
virtual void | Dump (Dumper::Dumper &dump) const |
Display file contents in a nice manner. | |
offset_t | ImageSize () const override |
Retrieves size of stored data. | |
offset_t | WriteFile (Writer &wr, offset_t count, offset_t offset=0) const override |
Writes data of non-zero filled sections. | |
![]() | |
virtual std::shared_ptr< const ActualImage > | AsImage () const |
Retrieves a randomly accessible image. | |
std::shared_ptr< ActualImage > | AsImage () |
Retrieves a randomly accessible image. | |
Public Attributes | |
offset_t | file_offset |
A class to encode a general file format.
|
virtual |
Resets all fields to their default values, deallocate memory.
Reimplemented in Binary::CommodoreFormat, Binary::CPM3Format, ARM::AIFFormat, Binary::GenericBinaryFormat, Binary::BinaryFormat, COFF::COFFFormat, DigitalResearch::CPM68KFormat, DigitalResearch::CPM86Format, DigitalResearch::CPM8KFormat, Microsoft::MZFormat, O65::O65Format, and Ergo::XPFormat.
|
virtual |
Display file contents in a nice manner.
Reimplemented in Binary::AppleFormat, Binary::AtariFormat, Binary::CommodoreFormat, Binary::CPM3Format, Binary::FLEXFormat, Binary::PRLFormat, Binary::UZIFormat, Binary::UZI280Format, ARM::AIFFormat, AOut::AOutFormat, Archive::ArchiveFormat, AS86Obj::AS86ObjFormat, Binary::GenericBinaryFormat, Binary::BinaryFormat, DOS16M::BWFormat, COFF::COFFFormat, DigitalResearch::CPM68KFormat, DigitalResearch::CPM86Format, DigitalResearch::CPM8KFormat, SeychellDOS32::AdamFormat, BrocaD3X::D3X1Format, DX64::LVFormat, ELF::ELFFormat, ELF::FatELFFormat, GEOS::GeodeFormat, Apple::OMFFormat, X68000::HUFormat, Amiga::HunkFormat, Java::ClassFormat, Microsoft::LEFormat, MachO::MachOFormat, MachO::FatMachOFormat, Apple::AppleSingleDouble::Entry, Apple::AppleSingleDouble, Apple::ResourceFork::Resource, Apple::ResourceFork::GenericResource, Apple::ResourceFork::JumpTableCodeResource, Apple::ResourceFork::CodeResource, Apple::ResourceFork, Apple::RealName, Apple::FileInfo::Macintosh, Apple::FileInfo::ProDOS, Apple::FileInfo::MSDOS, Apple::FileInfo::AUX, Apple::FileDatesInfo, Apple::FinderInfo, Apple::MacintoshFileInfo, Apple::ProDOSFileInfo, Apple::MSDOSFileInfo, Apple::MacBinary, MINIX::MINIXFormat, Microsoft::MZFormat, Microsoft::NEFormat, O65::O65Format, OMF::OMFFormat, PCOS::CMDFormat, Microsoft::PEFormat, Apple::PEFFormat, PharLap::MPFormat, PharLap::P3Format, PharLap::P3Format::Flat, PharLap::P3Format::MultiSegmented, PharLap::P3FormatContainer, PMODE::PMW1Format, Microsoft::W3Format, Xenix::BOutFormat, Xenix::XOutFormat, and Ergo::XPFormat.
|
overridevirtual |
Retrieves size of stored data.
Implements Linker::Image.
Reimplemented in Binary::GenericBinaryFormat, Apple::OMFFormat, Amiga::HunkFormat, Apple::ResourceFork::GenericResource, Apple::ResourceFork::JumpTableCodeResource, Apple::ResourceFork, Apple::RealName, Apple::FileInfo::Macintosh, Apple::FileInfo::ProDOS, Apple::FileInfo::MSDOS, Apple::MacintoshFileInfo, Apple::ProDOSFileInfo, Apple::MSDOSFileInfo, MINIX::MINIXFormat, Microsoft::NEFormat, Ergo::XPFormat, and Apple::ResourceFork::Resource.
|
pure virtual |
Loads file into memory.
Implemented in Binary::AppleFormat, Binary::AtariFormat, Binary::CPM3Format, Binary::PRLFormat, ARM::AIFFormat, AOut::AOutFormat, Archive::ArchiveFormat, AS86Obj::AS86ObjFormat, Binary::GenericBinaryFormat, Binary::BinaryFormat, DOS16M::BWFormat, COFF::COFFFormat, DigitalResearch::CPM68KFormat, DigitalResearch::CPM86Format, DigitalResearch::CPM8KFormat, SeychellDOS32::AdamFormat, BrocaD3X::D3X1Format, DX64::LVFormat, ELF::ELFFormat, ELF::FatELFFormat, GEOS::GeodeFormat, Apple::OMFFormat, X68000::HUFormat, Amiga::HunkFormat, Java::ClassFormat, Microsoft::LEFormat, MachO::MachOFormat, MachO::FatMachOFormat, Apple::AppleSingleDouble, Apple::AppleSingleDouble::Entry, Apple::ResourceFork::Resource, Apple::MacDriver, MINIX::MINIXFormat, Microsoft::MZFormat, Microsoft::NEFormat, O65::O65Format, OMF::OMFFormat, PCOS::CMDFormat, Microsoft::PEFormat, Apple::PEFFormat, PharLap::MPFormat, PharLap::P3Format, PharLap::P3FormatContainer, PMODE::PMW1Format, Microsoft::W3Format, Xenix::BOutFormat, Xenix::XOutFormat, and Ergo::XPFormat.
|
overridepure virtual |
Stores data in memory to file.
Reimplemented from Linker::Image.
Implemented in Apple::AppleSingleDouble::Entry, Binary::AppleFormat, Binary::AtariFormat, Binary::CommodoreFormat, Binary::CPM3Format, Binary::FLEXFormat, Binary::PRLFormat, Binary::UZIFormat, Binary::UZI280Format, ARM::AIFFormat, AOut::AOutFormat, Archive::ArchiveFormat, AS86Obj::AS86ObjFormat, Binary::GenericBinaryFormat, Binary::BinaryFormat, DOS16M::BWFormat, COFF::COFFFormat, DigitalResearch::CPM68KFormat, DigitalResearch::CPM86Format, DigitalResearch::CPM8KFormat, SeychellDOS32::AdamFormat, BrocaD3X::D3X1Format, DX64::LVFormat, ELF::ELFFormat, ELF::FatELFFormat, GEOS::GeodeFormat, Apple::OMFFormat, X68000::HUFormat, Amiga::HunkFormat, Java::ClassFormat, Microsoft::LEFormat, MachO::MachOFormat, MachO::FatMachOFormat, Apple::AppleSingleDouble, Apple::ResourceFork::Resource, Apple::ResourceFork::GenericResource, Apple::ResourceFork::JumpTableCodeResource, Apple::ResourceFork::CodeResource, Apple::ResourceFork, Apple::RealName, Apple::FileInfo::Macintosh, Apple::FileInfo::ProDOS, Apple::FileInfo::MSDOS, Apple::FileInfo::AUX, Apple::FileDatesInfo, Apple::FinderInfo, Apple::MacintoshFileInfo, Apple::ProDOSFileInfo, Apple::MSDOSFileInfo, Apple::MacBinary, Apple::MacDriver, MINIX::MINIXFormat, Microsoft::MZFormat, Microsoft::NEFormat, O65::O65Format, OMF::OMFFormat, PCOS::CMDFormat, Microsoft::PEFormat, Apple::PEFFormat, PharLap::MPFormat, PharLap::P3Format, PharLap::P3Format::Flat, PharLap::P3Format::MultiSegmented, PharLap::P3FormatContainer, PMODE::PMW1Format, Microsoft::W3Format, Xenix::BOutFormat, Xenix::XOutFormat, and Ergo::XPFormat.
|
overridevirtual |
Writes data of non-zero filled sections.
Implements Linker::Image.