BMC-8157: ignore prg mapping for split rom types
- fixes 1 of only 2 CK-001 4-in-1 carts i found so far
This commit is contained in:
@@ -36,10 +36,13 @@ static void Sync(void) {
|
|||||||
uint32 base = ((cmdreg & 0x060) | ((cmdreg & 0x100) >> 1)) >> 2;
|
uint32 base = ((cmdreg & 0x060) | ((cmdreg & 0x100) >> 1)) >> 2;
|
||||||
uint32 bank = (cmdreg & 0x01C) >> 2;
|
uint32 bank = (cmdreg & 0x01C) >> 2;
|
||||||
uint32 lbank = (cmdreg & 0x200) ? 7 : ((cmdreg & 0x80) ? bank : 0);
|
uint32 lbank = (cmdreg & 0x200) ? 7 : ((cmdreg & 0x80) ? bank : 0);
|
||||||
if (PRGptr[1]) {
|
/* this fails to load at least one game, which probably has invalid PRG size in header
|
||||||
setprg16r(base >> 3, 0x8000, bank); /* for versions with split ROMs */
|
* (rom is only 512KB but reported as having 3 prg banks with 128k each) */
|
||||||
|
/*if (PRGptr[1]) {
|
||||||
|
setprg16r(base >> 3, 0x8000, bank); // for versions with split ROMs
|
||||||
setprg16r(base >> 3, 0xC000, lbank);
|
setprg16r(base >> 3, 0xC000, lbank);
|
||||||
} else {
|
} else*/
|
||||||
|
{
|
||||||
setprg16(0x8000, base | bank);
|
setprg16(0x8000, base | bank);
|
||||||
setprg16(0xC000, base | lbank);
|
setprg16(0xC000, base | lbank);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright notice for this file:
|
* Copyright notice for this file:
|
||||||
* Copyright (C) 2007 CaH4e3
|
* Copyright (C) 2007 CaH4e3
|
||||||
* Copyright (C) 2019 Libretro Team (IRQ Update)
|
* Copyright (C) 2019 Libretro Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
Reference in New Issue
Block a user