Change override structure to not use multi-byte char literals

This commit is contained in:
Jeffrey Pfau 2014-01-31 02:05:01 -08:00
parent 9b150bbaa3
commit 307404adf7
1 changed files with 44 additions and 44 deletions

View File

@ -22,75 +22,75 @@ enum {
}; };
struct GBACartridgeOverride { struct GBACartridgeOverride {
uint32_t id; const char id[4];
enum SavedataType type; enum SavedataType type;
int gpio; int gpio;
}; };
static const struct GBACartridgeOverride _overrides[] = { static const struct GBACartridgeOverride _overrides[] = {
// Boktai: The Sun is in Your Hand // Boktai: The Sun is in Your Hand
{ 'EI3U', SAVEDATA_EEPROM, GPIO_RTC | GPIO_LIGHT_SENSOR }, { "U3IE", SAVEDATA_EEPROM, GPIO_RTC | GPIO_LIGHT_SENSOR },
{ 'PI3U', SAVEDATA_EEPROM, GPIO_RTC | GPIO_LIGHT_SENSOR }, { "U3IP", SAVEDATA_EEPROM, GPIO_RTC | GPIO_LIGHT_SENSOR },
// Boktai 2: Solar Boy Django // Boktai 2: Solar Boy Django
{ 'E23U', SAVEDATA_EEPROM, GPIO_RTC | GPIO_LIGHT_SENSOR }, { "U32E", SAVEDATA_EEPROM, GPIO_RTC | GPIO_LIGHT_SENSOR },
{ 'P23U', SAVEDATA_EEPROM, GPIO_RTC | GPIO_LIGHT_SENSOR }, { "U32P", SAVEDATA_EEPROM, GPIO_RTC | GPIO_LIGHT_SENSOR },
// Drill Dozer // Drill Dozer
{ 'J94V', SAVEDATA_SRAM, GPIO_RUMBLE }, { "V49J", SAVEDATA_SRAM, GPIO_RUMBLE },
{ 'E94V', SAVEDATA_SRAM, GPIO_RUMBLE }, { "V49E", SAVEDATA_SRAM, GPIO_RUMBLE },
// Pokemon Ruby // Pokemon Ruby
{ 'JVXA', SAVEDATA_FLASH1M, GPIO_RTC }, { "AXVJ", SAVEDATA_FLASH1M, GPIO_RTC },
{ 'EVXA', SAVEDATA_FLASH1M, GPIO_RTC }, { "AXVE", SAVEDATA_FLASH1M, GPIO_RTC },
{ 'PVXA', SAVEDATA_FLASH1M, GPIO_RTC }, { "AXVP", SAVEDATA_FLASH1M, GPIO_RTC },
{ 'IVXA', SAVEDATA_FLASH1M, GPIO_RTC }, { "AXVI", SAVEDATA_FLASH1M, GPIO_RTC },
{ 'SVXA', SAVEDATA_FLASH1M, GPIO_RTC }, { "AXVS", SAVEDATA_FLASH1M, GPIO_RTC },
{ 'DVXA', SAVEDATA_FLASH1M, GPIO_RTC }, { "AXVD", SAVEDATA_FLASH1M, GPIO_RTC },
{ 'FVXA', SAVEDATA_FLASH1M, GPIO_RTC }, { "AXVF", SAVEDATA_FLASH1M, GPIO_RTC },
// Pokemon Sapphire // Pokemon Sapphire
{ 'JPXA', SAVEDATA_FLASH1M, GPIO_RTC }, { "AXPJ", SAVEDATA_FLASH1M, GPIO_RTC },
{ 'EPXA', SAVEDATA_FLASH1M, GPIO_RTC }, { "AXPE", SAVEDATA_FLASH1M, GPIO_RTC },
{ 'PPXA', SAVEDATA_FLASH1M, GPIO_RTC }, { "AXPP", SAVEDATA_FLASH1M, GPIO_RTC },
{ 'IPXA', SAVEDATA_FLASH1M, GPIO_RTC }, { "AXPI", SAVEDATA_FLASH1M, GPIO_RTC },
{ 'SPXA', SAVEDATA_FLASH1M, GPIO_RTC }, { "AXPS", SAVEDATA_FLASH1M, GPIO_RTC },
{ 'DPXA', SAVEDATA_FLASH1M, GPIO_RTC }, { "AXPD", SAVEDATA_FLASH1M, GPIO_RTC },
{ 'FPXA', SAVEDATA_FLASH1M, GPIO_RTC }, { "AXPF", SAVEDATA_FLASH1M, GPIO_RTC },
// Pokemon Emerald // Pokemon Emerald
{ 'JEPB', SAVEDATA_FLASH1M, GPIO_RTC }, { "BPEJ", SAVEDATA_FLASH1M, GPIO_RTC },
{ 'EEPB', SAVEDATA_FLASH1M, GPIO_RTC }, { "BPEE", SAVEDATA_FLASH1M, GPIO_RTC },
{ 'PEPB', SAVEDATA_FLASH1M, GPIO_RTC }, { "BPEP", SAVEDATA_FLASH1M, GPIO_RTC },
{ 'IEPB', SAVEDATA_FLASH1M, GPIO_RTC }, { "BPEI", SAVEDATA_FLASH1M, GPIO_RTC },
{ 'SEPB', SAVEDATA_FLASH1M, GPIO_RTC }, { "BPES", SAVEDATA_FLASH1M, GPIO_RTC },
{ 'DEPB', SAVEDATA_FLASH1M, GPIO_RTC }, { "BPED", SAVEDATA_FLASH1M, GPIO_RTC },
{ 'FEPB', SAVEDATA_FLASH1M, GPIO_RTC }, { "BPEF", SAVEDATA_FLASH1M, GPIO_RTC },
// Pokemon FireRed // Pokemon FireRed
{ 'JRPB', SAVEDATA_FLASH1M, GPIO_NONE }, { "BPRJ", SAVEDATA_FLASH1M, GPIO_NONE },
{ 'ERPB', SAVEDATA_FLASH1M, GPIO_NONE }, { "BPRE", SAVEDATA_FLASH1M, GPIO_NONE },
{ 'PRPB', SAVEDATA_FLASH1M, GPIO_NONE }, { "BPRP", SAVEDATA_FLASH1M, GPIO_NONE },
// Pokemon LeafGreen // Pokemon LeafGreen
{ 'JGPB', SAVEDATA_FLASH1M, GPIO_NONE }, { "BPGJ", SAVEDATA_FLASH1M, GPIO_NONE },
{ 'EGPB', SAVEDATA_FLASH1M, GPIO_NONE }, { "BPGE", SAVEDATA_FLASH1M, GPIO_NONE },
{ 'PGPB', SAVEDATA_FLASH1M, GPIO_NONE }, { "BPGP", SAVEDATA_FLASH1M, GPIO_NONE },
// RockMan EXE 4.5 - Real Operation // RockMan EXE 4.5 - Real Operation
{ 'J4RB', SAVEDATA_FLASH512, GPIO_RTC }, { "BR4J", SAVEDATA_FLASH512, GPIO_RTC },
// Super Mario Advance 4 // Super Mario Advance 4
{ 'J4XA', SAVEDATA_FLASH1M, GPIO_NONE }, { "AX4J", SAVEDATA_FLASH1M, GPIO_NONE },
{ 'E4XA', SAVEDATA_FLASH1M, GPIO_NONE }, { "AX4E", SAVEDATA_FLASH1M, GPIO_NONE },
{ 'P4XA', SAVEDATA_FLASH1M, GPIO_NONE }, { "AX4P", SAVEDATA_FLASH1M, GPIO_NONE },
// Wario Ware Twisted // Wario Ware Twisted
{ 'JWZR', SAVEDATA_SRAM, GPIO_RUMBLE | GPIO_GYRO }, { "RWZJ", SAVEDATA_SRAM, GPIO_RUMBLE | GPIO_GYRO },
{ 'EWZR', SAVEDATA_SRAM, GPIO_RUMBLE | GPIO_GYRO }, { "RWZE", SAVEDATA_SRAM, GPIO_RUMBLE | GPIO_GYRO },
{ 'PWZR', SAVEDATA_SRAM, GPIO_RUMBLE | GPIO_GYRO }, { "RWZP", SAVEDATA_SRAM, GPIO_RUMBLE | GPIO_GYRO },
{ 0, 0, 0 } { { 0, 0, 0, 0 }, 0, 0 }
}; };
static void GBAProcessEvents(struct ARMBoard* board); static void GBAProcessEvents(struct ARMBoard* board);
@ -560,8 +560,8 @@ void GBAIllegal(struct ARMBoard* board, uint32_t opcode) {
void _checkOverrides(struct GBA* gba, uint32_t id) { void _checkOverrides(struct GBA* gba, uint32_t id) {
int i; int i;
for (i = 0; _overrides[i].id; ++i) { for (i = 0; _overrides[i].id[0]; ++i) {
if (_overrides[i].id == id) { if (*(uint32_t*) &_overrides[i].id == id) {
switch (_overrides[i].type) { switch (_overrides[i].type) {
case SAVEDATA_FLASH512: case SAVEDATA_FLASH512:
case SAVEDATA_FLASH1M: case SAVEDATA_FLASH1M: