Page 2 of 2
Posted: Fri Apr 02, 2010 9:21 am
by MatthewCallis
Here's my old code for reading a SNES internal header, it needs updated to deal with headers better but it works most of the time. Other game format headers in one directory up.
http://github.com/MatthewCallis/Lesminn ... doReader.m
It should make sense to anyone familiar with C.
Posted: Sat Apr 03, 2010 12:04 am
by Near
orwannon wrote:Another example is the ST-018 chip, which uses the same byte value as some SPC7110 ROMs.
Sorry to pull a tepples, but it's the ST-0010 and ST-0011 that are identical. And yeah, ROM size is how you tell.
Code: Select all
if(mapperid == 0x30 && rom_type == 0xf6 && rom_size >= 10) {
has_st010 = true;
}
if(mapperid == 0x30 && rom_type == 0xf6 && rom_size < 10) {
has_st011 = true;
}
Man, I don't even remember how I tell SuperFX1 from SuperFX2, or if I even do anything differently. I know I have an option for it, just been a while since I've messed with it ...
Posted: Sat Apr 03, 2010 1:56 am
by orwannon
byuu wrote:Sorry to pull a tepples, but it's the ST-0010 and ST-0011 that are identical.
Regardless, Nach's old
addon chip doc (which I was basically quoting) is accurate when it states about Seta's RISC processor (=ST-018):
Nach's doc wrote:This chip is in Hayazashi Nidan Morita Shougi 2. (...) The D6 is also found in some SPC7110 ROMs, so be sure to check both values.
I just went ahead and checked the byte value in said game (LoROM offset $7FD6): $F5. In Momotarou Densetsu Happy and Super Power League 4, the corresponding byte (found at $FFD6 as they're HiROM games) is $F5, too.
So ... yeah. You're both right.

Posted: Sat Apr 03, 2010 11:09 am
by Near
Oh I see. Yeah, you always want to compare both FFD5 and FFD6. But sometimes even that's not enough.