SNES: detect OBC1 chip.

This commit is contained in:
sorgelig
2019-05-15 22:57:50 +08:00
parent c782492dc0
commit 0cd59168cc

View File

@@ -177,25 +177,28 @@ uint8_t* snes_get_header(fileTYPE *f)
{ //DSP1
hdr[1] |= 0x80;
}
else if (buf[addr + Mapper] == 0x20 && buf[addr + RomType] == 0x05)
{ //DSP2
hdr[1] |= 0x90;
}
else if (buf[addr + Mapper] == 0x30 && buf[addr + RomType] == 0x05 && buf[addr + Company] == 0xb2)
{ //DSP3
hdr[1] |= 0xA0;
}
else if (buf[addr + Mapper] == 0x30 && buf[addr + RomType] == 0x03)
{ //DSP4
hdr[1] |= 0xB0;
}
else if (buf[addr + Mapper] == 0x20 && buf[addr + RomType] == 0x05)
{ //DSP2
hdr[1] |= 0x90;
}
else if (buf[addr + Mapper] == 0x30 && buf[addr + RomType] == 0x05 && buf[addr + Company] == 0xb2)
{ //DSP3
hdr[1] |= 0xA0;
}
else if (buf[addr + Mapper] == 0x30 && buf[addr + RomType] == 0x03)
{ //DSP4
hdr[1] |= 0xB0;
}
else if (buf[addr + Mapper] == 0x30 && buf[addr + RomType] == 0xf6)
{
//ST010
{ //ST010
hdr[1] |= 0x88;
if(buf[addr + RomSize] < 10) hdr[1] |= 0x20; // ST011
//ramsz = 2;
}
else if (buf[addr + Mapper] == 0x30 && buf[addr + RomType] == 0x25)
{ //OBC1
hdr[1] |= 0xC0;
}
//CX4 4
if (buf[addr + Mapper] == 0x20 && buf[addr + RomType] == 0xf3)
@@ -224,7 +227,7 @@ uint8_t* snes_get_header(fileTYPE *f)
hdr[1] |= 0x70;
}
//1..3,C..F - reserved for other mappers.
//1..3,D..F - reserved for other mappers.
hdr[2] = 0;