5#include "absl/flags/declare.h"
6#include "absl/flags/flag.h"
7#include "absl/strings/str_format.h"
19 constexpr size_t kMockRomSize = 0x100000;
20 std::vector<uint8_t> mock_data(kMockRomSize, 0x00);
23 constexpr size_t kHeaderOffset = 0x7FC0;
26 const char* title =
"YAZE MOCK ROM TEST ";
27 for (
size_t i = 0; i < 21; ++i) {
28 mock_data[kHeaderOffset + i] = title[i];
32 mock_data[kHeaderOffset + 0x15] = 0x20;
35 mock_data[kHeaderOffset + 0x16] = 0x00;
38 mock_data[kHeaderOffset + 0x17] = 0x09;
41 mock_data[kHeaderOffset + 0x18] = 0x03;
44 mock_data[kHeaderOffset + 0x19] = 0x01;
47 mock_data[kHeaderOffset + 0x1A] = 0x33;
50 mock_data[kHeaderOffset + 0x1B] = 0x00;
57 if (!load_status.ok()) {
58 return absl::InternalError(
59 absl::StrFormat(
"Failed to initialize mock ROM: %s",
60 load_status.message()));
66 if (!labels_status.ok()) {
67 return absl::InternalError(
68 absl::StrFormat(
"Failed to initialize embedded labels: %s",
69 labels_status.message()));
78 return absl::OkStatus();
82 return absl::GetFlag(FLAGS_mock_rom);
The Rom class is used to load, save, and modify Rom data.
absl::Status LoadFromData(const std::vector< uint8_t > &data, bool z3_load=true)
core::ResourceLabelManager * resource_label()
ABSL_DECLARE_FLAG(bool, mock_rom)
absl::Status InitializeMockRom(Rom &rom)
Initialize a mock ROM for testing without requiring an actual ROM file.
bool ShouldUseMockRom()
Check if mock ROM mode should be used based on flags.
Main namespace for the application.
std::unordered_map< std::string, std::unordered_map< std::string, std::string > > labels_
Modern project structure with comprehensive settings consolidation.
std::unordered_map< std::string, std::unordered_map< std::string, std::string > > resource_labels
absl::Status InitializeEmbeddedLabels()