Torch
Loading...
Searching...
No Matches
Cartridge.h
1#pragma once
2
3#include <vector>
4#include <string>
5#include <cstdint>
6
7namespace N64 {
8enum class CountryCode {
9 Japan,
10 NorthAmerica,
11 Europe,
12 Unknown
13};
14
15class Cartridge {
16public:
17 explicit Cartridge(const std::vector<uint8_t>& romData)
18 : gRomData(romData), gCountryCode(CountryCode::Unknown), gVersion(0), gGameTitle("Unknown"), gRomCRC(0) {
19 }
20 void Initialize();
21 const std::string& GetGameTitle();
22 std::string GetCountryCode();
23 CountryCode GetCountry();
24 uint8_t GetVersion() const;
25 std::string GetHash();
26 uint32_t GetCRC();
27private:
28 std::vector<uint8_t> gRomData;
29 CountryCode gCountryCode;
30 uint8_t gVersion;
31 std::string gGameTitle;
32 std::string gHash;
33 uint32_t gRomCRC;
34};
35}