mirror of https://github.com/stella-emu/stella.git
Tweaked EF bankswitch autodetection.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2410 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
parent
f6e8c25546
commit
02ad41e60a
|
@ -641,14 +641,17 @@ bool Cartridge::isProbablyEF(const uInt8* image, uInt32 size)
|
|||
// EF cart bankswitching switches banks by accessing addresses 0xFE0
|
||||
// to 0xFEF, usually with either a NOP or LDA
|
||||
// It's likely that the code will switch to bank 0, so that's what is tested
|
||||
uInt8 signature[2][3] = {
|
||||
uInt8 signature[4][3] = {
|
||||
{ 0x0C, 0xE0, 0xFF }, // NOP $FFE0
|
||||
{ 0xAD, 0xE0, 0xFF } // LDA $FFE0
|
||||
{ 0xAD, 0xE0, 0xFF }, // LDA $FFE0
|
||||
{ 0x0C, 0xE0, 0x1F }, // NOP $1FE0
|
||||
{ 0xAD, 0xE0, 0x1F } // LDA $1FE0
|
||||
};
|
||||
if(searchForBytes(image, size, signature[0], 3, 1))
|
||||
for(uInt32 i = 0; i < 4; ++i)
|
||||
if(searchForBytes(image, size, signature[i], 3, 1))
|
||||
return true;
|
||||
else
|
||||
return searchForBytes(image, size, signature[1], 3, 1);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
|
Loading…
Reference in New Issue