diff --git a/Cart_Reader/PCE.ino b/Cart_Reader/PCE.ino index a20c9d0..edf3dad 100644 --- a/Cart_Reader/PCE.ino +++ b/Cart_Reader/PCE.ino @@ -404,13 +404,16 @@ uint32_t detect_rom_size_PCE(void) { rom_size = 1024; } - //If rom size is more than or equal to 512KB, detect Street fighter II' + //If rom size is more than or equal to 512KB, detect special cards if (rom_size >= 512) { - //Look for "NEC HE " - if (read_byte_PCE(0x7FFF9) == 'N' && read_byte_PCE(0x7FFFA) == 'E' && read_byte_PCE(0x7FFFB) == 'C' - && read_byte_PCE(0x7FFFC) == ' ' && read_byte_PCE(0x7FFFD) == 'H' && read_byte_PCE(0x7FFFE) == 'E') { + //Street Fighter II' - Champion Edition (Japan) + if (read_byte_PCE(0x7FFF9) == 'N' && read_byte_PCE(0x7FFFA) == 'E' && read_byte_PCE(0x7FFFB) == 'C' && read_byte_PCE(0x7FFFC) == ' ' && read_byte_PCE(0x7FFFD) == 'H' && read_byte_PCE(0x7FFFE) == 'E') { rom_size = 2560; } + //Populous (Japan) + if (read_byte_PCE(0x1F26) == 'P' && read_byte_PCE(0x1F27) == 'O' && read_byte_PCE(0x1F28) == 'P' && read_byte_PCE(0x1F29) == 'U' && read_byte_PCE(0x1F2A) == 'L' && read_byte_PCE(0x1F2B) == 'O' && read_byte_PCE(0x1F2C) == 'U' && read_byte_PCE(0x1F2D) == 'S') { + rom_size = 512; + } } return rom_size; @@ -496,7 +499,6 @@ void crc_search(char *file_p, char *folder_p, uint32_t rom_size __attribute__((u } } - if (flag == CHKSUM_SKIP) { print_Msg(F("Saved to ")); print_Msg(folder_p);