Found an error in my romType code in getCartInfo(). If the romType is 0x32 (or 0x3A), then the code currently sets it to HiROM. This works for SDD1 (and SPC7110) carts.
While dumping Nintendo Power carts, I ran across "Super Momotarou Dentetsu 2" which is romType 0x32 but LoROM. This was the NP game that I was dumping wrong because I had flagged it based on romType as HiROM.
EDIT: Here's the modified code:
void getCartInfo () {
...
// Check if LoROM or HiROM
romType = dumpByte(0, 0xFFD5 + offsetEx, false);
// Check RomSpeed
romSpeed = (dumpByte(0, 0xFFD5 + offsetEx, false) >> 4);
// Check RomChips
romChips = dumpByte(0, 0xFFD6 + offsetEx, false);
// Identify LoROM or HiROM or ExHiROM
if (romType == 0x35) // ExHiROM
romType = 2;
else if (romType == 0x32) {
if ((romChips == 0x43) || (romChips == 0x45)) // SDD1
romType = 1; //HiROM
else
romType = 0;
}
else if (romType == 0x3A) // SPC7110
romType = 1; //HiROM
else
romType = romType & 1; // 0xFFD5
...
}
I moved the section that modifies the romType to after the romChips check. We'll use the romChips 0x43 or 0x45 to flag the SDD1 carts as HiROM.
Good Luck!