#ifndef CARTRIDGE_H #define CARTRIDGE_H #include #include #include namespace sn { using Byte = std::uint8_t; using Address = std::uint16_t; class Cartridge { public: Cartridge(); bool loadFromFile(std::string path); const std::vector& getROM(); const std::vector& getVROM(); Byte getMapper(); Byte getNameTableMirroring(); bool hasExtendedRAM(); private: std::vector m_PRG_ROM; std::vector m_CHR_ROM; Byte m_nameTableMirroring; Byte m_mapperNumber; bool m_extendedRAM; bool m_chrRAM; }; }; #endif // CARTRIDGE_H