summaryrefslogtreecommitdiff
path: root/lib/nes/sys/cartridge.hh
diff options
context:
space:
mode:
authorHannes Schulze <haschu0103@outlook.de>2025-02-01 01:25:15 +0100
committerHannes Schulze <haschu0103@outlook.de>2025-02-01 01:25:15 +0100
commitcbde52a60605a4fe853d3a3562b2a059e2143e6e (patch)
treea32ce689b17bab4b27025d437a51ce855eca043e /lib/nes/sys/cartridge.hh
parent9ca793417149cbaa7b5f4b7797bc929e6e191f28 (diff)
avoid copy construction for cartridge
Diffstat (limited to 'lib/nes/sys/cartridge.hh')
-rw-r--r--lib/nes/sys/cartridge.hh10
1 files changed, 2 insertions, 8 deletions
diff --git a/lib/nes/sys/cartridge.hh b/lib/nes/sys/cartridge.hh
index f8c3c3b..2cfb114 100644
--- a/lib/nes/sys/cartridge.hh
+++ b/lib/nes/sys/cartridge.hh
@@ -51,7 +51,7 @@ namespace nes::sys
}
};
- status status_{ status::error_uninitialized };
+ status status_{ status::error_invalid_ines_data };
u8 prg_rom_[max_prg_rom_size]{};
u8 chr_rom_[max_chr_rom_size]{};
u8 ram_[max_ram_size]{};
@@ -62,10 +62,7 @@ namespace nes::sys
mapper* mapper_{ &mapper::invalid() };
public:
- explicit cartridge() = default;
-
- static auto from_data(void const* data, u32 length) -> cartridge;
- static auto from_file(std::string_view path) -> cartridge;
+ explicit cartridge(u8 const* data, u32 length);
auto get_status() const -> status { return status_; }
auto get_prg_rom() const -> u8 const* { return prg_rom_; }
@@ -77,8 +74,5 @@ namespace nes::sys
auto get_ram_length() const -> u32 { return ram_size_; }
auto get_mapper() const -> mapper& { return *mapper_; }
auto get_name_table_arrangement() const -> name_table_arrangement { return name_table_arrangement_; }
-
- private:
- explicit cartridge(status);
};
} // namespace nes::sys \ No newline at end of file