ines.c: Simplify rom info logs and cleanup

This commit is contained in:
negativeExponent
2020-05-02 15:33:57 +08:00
parent e97a1e2100
commit 5263e0a22a

View File

@@ -415,7 +415,7 @@ typedef struct {
#define INES_BOARD_BEGIN() static BMAPPINGLocal bmap[] = {
#define INES_BOARD_END() { (uint8_t*)"", 0, NULL} };
#define INES_BOARD(a, b, c) { a, b, c },
#define INES_BOARD(a, b, c) { (uint8_t*)a, b, c },
INES_BOARD_BEGIN()
INES_BOARD( "NROM", 0, NROM_Init )
@@ -841,6 +841,7 @@ static void rom_load_ines2(void) {
}
int iNESLoad(const char *name, FCEUFILE *fp) {
const char *tv_region[] = { "NTSC", "PAL", "Multi-region", "Dendy" };
struct md5_context md5;
char* mappername = NULL;
uint64 filesize = FCEU_fgetsize(fp);
@@ -946,38 +947,49 @@ int iNESLoad(const char *name, FCEUFILE *fp) {
}
}
if (iNESCart.iNES2 == 0) {
if (strstr(name, "(E)") || strstr(name, "(e)") ||
strstr(name, "(Europe)") || strstr(name, "(PAL)") ||
strstr(name, "(F)") || strstr(name, "(f)") ||
strstr(name, "(G)") || strstr(name, "(g)") ||
strstr(name, "(I)") || strstr(name, "(i)") ||
strstr(name, "(S)") || strstr(name, "(s)") ||
strstr(name, "(France)") || strstr(name, "(Germany)") ||
strstr(name, "(Italy)") || strstr(name, "(Spain)") ||
strstr(name, "(Sweden)") || strstr(name, "(Sw)") ||
strstr(name, "(Australia)") || strstr(name, "(A)") ||
strstr(name, "(a)")) {
iNESCart.region = 1;
}
}
FCEU_printf(" PRG-ROM CRC32: 0x%08X\n", iNESCart.PRGCRC32);
FCEU_printf(" PRG+CHR CRC32: 0x%08X\n", iNESCart.CRC32);
FCEU_printf(" PRG+CHR MD5: 0x%s\n", md5_asciistr(iNESCart.MD5));
FCEU_printf(" PRG-ROM: %3d x 16KiB\n", ROM_size);
FCEU_printf(" CHR-ROM: %3d x 8KiB\n", VROM_size);
FCEU_printf(" Mapper #: %3d\n", iNESCart.mapper);
FCEU_printf(" Mapper name: %s\n", mappername);
FCEU_printf(" Mirroring: %s\n", iNESCart.mirror == 2 ? "None (Four-screen)" : iNESCart.mirror ? "Vertical" : "Horizontal");
FCEU_printf(" Battery: %s\n", (head.ROM_type & 2) ? "Yes" : "No");
FCEU_printf(" System: %s\n", tv_region[iNESCart.region]);
FCEU_printf(" Trained: %s\n", (head.ROM_type & 4) ? "Yes" : "No");
if (iNESCart.iNES2) {
const char *tv_region[] = { "NTSC", "PAL", "Multi-region", "Dendy" };
unsigned PRGRAM = iNESCart.PRGRamSize + iNESCart.PRGRamSaveSize;
unsigned CHRRAM = iNESCart.CHRRamSize + iNESCart.CHRRamSaveSize;
FCEU_printf(" NES 2.0 extended iNES.\n");
FCEU_printf(" Mapper #: %3d\n", iNESCart.mapper);
FCEU_printf(" Sub Mapper #: %3d\n", iNESCart.submapper);
FCEU_printf(" Mapper name: %s\n", mappername);
if (PRGRAM || CHRRAM) {
FCEU_printf(" PRG RAM: %d KB\n", PRGRAM / 1024);
FCEU_printf(" CHR RAM: %d KB\n", CHRRAM / 1024);
if (head.ROM_type & 0x02) {
FCEU_printf(" PRG RAM backed by battery: %d KiB\n", iNESCart.PRGRamSaveSize / 1024);
FCEU_printf(" CHR RAM backed by battery: %d KiB\n", iNESCart.CHRRamSaveSize / 1024);
FCEU_printf(" PRG RAM: %d KB (%d KB battery-backed)\n", PRGRAM / 1024, iNESCart.PRGRamSaveSize / 1024);
FCEU_printf(" CHR RAM: %d KB (%d KB battery-backed)\n", CHRRAM / 1024, iNESCart.CHRRamSaveSize / 1024);
} else {
FCEU_printf(" PRG RAM: %d KB\n", PRGRAM / 1024);
FCEU_printf(" CHR RAM: %d KB\n", CHRRAM / 1024);
}
}
FCEU_printf(" Mirroring: %s\n", iNESCart.mirror == 2 ? "None (Four-screen)" : iNESCart.mirror ? "Vertical" : "Horizontal");
FCEU_printf(" System: %s\n", tv_region[iNESCart.region]);
FCEU_printf(" Trained: %s\n", (head.ROM_type & 4) ? "Yes" : "No");
} else {
FCEU_printf(" Mapper #: %3d\n", iNESCart.mapper);
FCEU_printf(" Mapper name: %s\n", mappername);
FCEU_printf(" Mirroring: %s\n", iNESCart.mirror == 2 ? "None (Four-screen)" : iNESCart.mirror ? "Vertical" : "Horizontal");
FCEU_printf(" Battery-backed: %s\n", (head.ROM_type & 2) ? "Yes" : "No");
FCEU_printf(" Trained: %s\n", (head.ROM_type & 4) ? "Yes" : "No");
}
}
ResetCartMapping();
@@ -1035,40 +1047,12 @@ int iNESLoad(const char *name, FCEUFILE *fp) {
GameInterface = iNESGI;
/* if not ines2 header and no region override was set, then use filename keywords to set cpu/ppu timing */
if (iNESCart.iNES2 == 0 && iNESCart.region == 0) {
if (strstr(name, "(E)") || strstr(name, "(e)") ||
strstr(name, "(Europe)") || strstr(name, "(PAL)") ||
strstr(name, "(F)") || strstr(name, "(f)") ||
strstr(name, "(G)") || strstr(name, "(g)") ||
strstr(name, "(I)") || strstr(name, "(i)") ||
strstr(name, "(S)") || strstr(name, "(s)") ||
strstr(name, "(France)") || strstr(name, "(Germany)") ||
strstr(name, "(Italy)") || strstr(name, "(Spain)") ||
strstr(name, "(Sweden)") || strstr(name, "(Sw)") ||
strstr(name, "(Australia)") || strstr(name, "(A)") ||
strstr(name, "(a)")) {
iNESCart.region = 1;
}
}
switch (iNESCart.region) {
/* 0: RP2C02 ("NTSC NES")
* 1: RP2C07 ("Licensed PAL NES")
* 2: Multiple-region
* 3: UMC 6527P ("Dendy")
*/
case 1:
FCEUI_SetVidSystem(1);
break;
case 3:
dendy = 1;
/* fallthrough */
case 0:
case 2:
FCEUI_SetVidSystem(0);
break;
}
* 3: UMC 6527P ("Dendy") */
if (iNESCart.region == 3) dendy = 1;
FCEUI_SetVidSystem((iNESCart.region == 1) ? 1 : 0);
return 1;
}