Files
matar/include/header.hh
2023-09-21 10:52:40 +05:30

49 lines
960 B
C++

#pragma once
#include <cstdint>
#include <string>
namespace matar {
struct Header {
static constexpr uint8_t HEADER_SIZE = 192;
enum class UniqueCode {
Old, // old games
New, // new games
Newer, // unused (newer games)
Famicom, // NES
YoshiKoro, // acceleration sensor
Ereader, // dot code scanner
Warioware, // rumble and z-axis gyro
Boktai, // RTC and solar sensor
DrillDozer, // rumble
};
enum class I18n {
Japan,
Europe,
French,
Spanish,
Usa,
German,
Italian
};
enum class BootMode {
Joybus,
Normal,
Multiplay
};
uint32_t entrypoint;
std::string title;
std::string title_code;
UniqueCode unique_code;
I18n i18n;
uint8_t version;
BootMode multiboot;
uint32_t multiboot_entrypoint;
uint8_t slave_id;
};
}