SMS: add Alex Kidd Radaxian Rumble & fix Hong Kil Dong savestates

This commit is contained in:
dinkc64 2015-04-09 20:11:45 +00:00
parent 1ba0405a16
commit cfae234562
2 changed files with 25 additions and 5 deletions

View File

@ -896,6 +896,26 @@ struct BurnDriver BurnDrvsms_alexkiddj = {
};
// Alex Kidd in Radaxian Rumble 1.02e
static struct BurnRomInfo sms_alexkiddrrRomDesc[] = {
{ "akrr102e.sms", 0x80000, 0x368b64b0, BRF_PRG | BRF_ESS },
};
STD_ROM_PICK(sms_alexkiddrr)
STD_ROM_FN(sms_alexkiddrr)
struct BurnDriver BurnDrvsms_alexkiddrr = {
"sms_akrr102e", "sms_alexkidd", NULL, NULL, "2015",
"Alex Kidd in Radaxian Rumble (ver. 1.02e)\0", NULL, "Sega", "Sega Master System",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_SEGA_MASTER_SYSTEM, GBF_MISC, 0,
SMSGetZipName, sms_alexkiddrrRomInfo, sms_alexkiddrrRomName, NULL, NULL, SMSInputInfo, SMSDIPInfo,
SMSInit, SMSExit, SMSFrame, SMSDraw, SMSScan, &SMSPaletteRecalc, 0x1000,
256, 192, 4, 3
};
// Alex Kidd - The Lost Stars (World)
static struct BurnRomInfo sms_alexlostRomDesc[] = {
@ -27488,7 +27508,7 @@ struct BurnDriver BurnDrvsms_hongkildong = {
"sms_hongkildong", NULL, NULL, NULL, "1991",
"Hong Kil Dong (Kor)\0", NULL, "Clover", "Sega Master System",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_SEGA_MASTER_SYSTEM, GBF_MISC, 0,
BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_SEGA_MASTER_SYSTEM | HARDWARE_SMS_DISPLAY_PAL, GBF_MISC, 0,
SMSGetZipName, sms_hongkildongRomInfo, sms_hongkildongRomName, NULL, NULL, SMSInputInfo, SMSDIPInfo,
SMSInit, SMSExit, SMSFrame, SMSDraw, SMSScan, &SMSPaletteRecalc, 0x1000,
256, 192, 4, 3

View File

@ -304,7 +304,7 @@ void sms_reset(void)
cart.fcr[0] = 0x00;
cart.fcr[1] = 0x00;
cart.fcr[2] = 0x01;
cart.fcr[3] = 0x00;
cart.fcr[3] = 0x02;
// Default (0x0000 - 0xbfff) mappings:
if (cart.mapper == MAPPER_KOREA8K) { // aka Janggun ui Adeul (Kor)
@ -315,7 +315,7 @@ void sms_reset(void)
korean8kmap6000_7fff = cart.rom + 0x6000;
korean8kmap8000_9fff = cart.rom + 0x8000;
korean8kmapa000_bfff = cart.rom + 0xa000;
cart.fcr[2] = 0x00;
cart.fcr[2] = 0x00; cart.fcr[3] = 0x00;
} else
if (cart.mapper == MAPPER_XIN1) {
// HiCom Xin1 Carts
@ -341,7 +341,7 @@ void sms_reset(void)
ZetMapMemory((UINT8 *)&sms.wram + 0x0000, 0xc000, 0xdfff, MAP_RAM);
ZetMapMemory((UINT8 *)&sms.wram + 0x0000, 0xe000, 0xffff, MAP_RAM);
memset(&sms.wram[1], 0xf0, sizeof(sms.wram) - 1); // this memory pattern fixes booting of a few korean games
cart.fcr[2] = 0x00;
cart.fcr[2] = 0x00; cart.fcr[3] = 0x00;
}
ZetReset();
ZetClose();
@ -350,7 +350,7 @@ void sms_reset(void)
{
case MAPPER_MSX_NEMESIS: {
bprintf(0, _T("(Nemesis-MSX: cart rom-page 0x0f remapped to 0x0000 - 0x1fff)\n"));
cart.fcr[2] = 0x00;
cart.fcr[2] = 0x00; cart.fcr[3] = 0x00;
UINT32 poffset = (0x0f) << 13;
ZetOpen(0);
ZetMapMemory(cart.rom + poffset, 0x0000, 0x1fff, MAP_ROM);