mirror of
https://github.com/rvtr/GodMode9i.git
synced 2025-11-02 00:11:07 -04:00
Replace all invalid characters when dumping GBA ROM
This commit is contained in:
parent
8a8385305e
commit
586b3c84db
@ -644,28 +644,34 @@ void gbaCartDump(void) {
|
|||||||
mkdir("fat:/gm9i/out", 0777);
|
mkdir("fat:/gm9i/out", 0777);
|
||||||
}
|
}
|
||||||
char gbaHeaderGameTitle[13] = "\0";
|
char gbaHeaderGameTitle[13] = "\0";
|
||||||
|
tonccpy((u8*)(0x080000A0), &gbaHeaderGameTitle, 12);
|
||||||
char gbaHeaderGameCode[5] = "\0";
|
char gbaHeaderGameCode[5] = "\0";
|
||||||
|
tonccpy((u8*)(0x080000AC), &gbaHeaderGameCode, 4);
|
||||||
char gbaHeaderMakerCode[3] = "\0";
|
char gbaHeaderMakerCode[3] = "\0";
|
||||||
if (*(u8*)(0x080000A0) == 0 || *(u8*)(0x080000A0) == 0xFF) {
|
tonccpy((u8*)(0x080000B0), &gbaHeaderMakerCode, 2);
|
||||||
|
if (gbaHeaderGameTitle[0] == 0 || gbaHeaderGameTitle[0] == 0xFF) {
|
||||||
sprintf(gbaHeaderGameTitle, "NO-TITLE");
|
sprintf(gbaHeaderGameTitle, "NO-TITLE");
|
||||||
} else for (int i = 0; i < 12; i++) {
|
} else {
|
||||||
gbaHeaderGameTitle[i] = *(char*)(0x080000A0+i);
|
for(uint i = 0; i < sizeof(gbaHeaderGameTitle); i++) {
|
||||||
if (*(u8*)(0x080000A0+i) == 0) {
|
switch(gbaHeaderGameTitle[i]) {
|
||||||
break;
|
case '>':
|
||||||
|
case '<':
|
||||||
|
case ':':
|
||||||
|
case '"':
|
||||||
|
case '/':
|
||||||
|
case '\x5C':
|
||||||
|
case '|':
|
||||||
|
case '?':
|
||||||
|
case '*':
|
||||||
|
gbaHeaderGameTitle[i] = '_';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (*(u8*)(0x080000AC) == 0 || *(u8*)(0x080000AC) == 0xFF) {
|
if (gbaHeaderGameCode[0] == 0 || gbaHeaderGameCode[0] == 0xFF) {
|
||||||
sprintf(gbaHeaderGameCode, "NONE");
|
sprintf(gbaHeaderGameCode, "NONE");
|
||||||
} else for (int i = 0; i < 4; i++) {
|
|
||||||
gbaHeaderGameCode[i] = *(char*)(0x080000AC+i);
|
|
||||||
if (*(u8*)(0x080000AC+i) == 0) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (*(u8*)(0x080000B0) == 0 || *(u8*)(0x080000B0) == 0xFF) {
|
if (gbaHeaderMakerCode[0] == 0 || gbaHeaderMakerCode[0] == 0xFF) {
|
||||||
sprintf(gbaHeaderMakerCode, "00");
|
sprintf(gbaHeaderMakerCode, "00");
|
||||||
} else for (int i = 0; i < 2; i++) {
|
|
||||||
gbaHeaderMakerCode[i] = *(char*)(0x080000B0+i);
|
|
||||||
}
|
}
|
||||||
u8 gbaHeaderSoftwareVersion = *(u8*)(0x080000BC);
|
u8 gbaHeaderSoftwareVersion = *(u8*)(0x080000BC);
|
||||||
char fileName[32] = {0};
|
char fileName[32] = {0};
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user