SNES: detect OBC1 chip.
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user