Merge upstream core at tag 1.51.0

This commit is contained in:
rdanbrook 2021-03-13 18:39:56 -05:00
parent ba3cb44043
commit e7295ef449
4 changed files with 115 additions and 22 deletions

View file

@ -1938,8 +1938,16 @@ namespace Nes
case 27:
name = "UNL WORLDHERO";
id = Type::UNL_WORLDHERO;
if (prg >= SIZE_128K)
{
name = "UNL WORLDHERO";
id = Type::UNL_WORLDHERO;
}
else
{
name = "UNL-CC-21";
id = Type::UNL_CC21;
}
break;
case 28:
@ -2850,8 +2858,21 @@ namespace Nes
case 176:
name = "XIAO ZHUAN YUAN";
id = Type::UNL_XZY;
if (prg >= SIZE_2048K)
{
name = "BMC-SUPER24IN1SC03";
id = Type::BMC_SUPER_24IN1;
}
else if (prg > SIZE_128K)
{
name = "BMC-FK23C";
id = Type::BMC_FKC23C;
}
else
{
name = "XIAO ZHUAN YUAN";
id = Type::UNL_XZY;
}
break;
case 177:
@ -3187,11 +3208,16 @@ namespace Nes
name = "BMC SUPER 42-IN-1";
id = Type::BMC_SUPER_42IN1;
}
else
else if (prg == SIZE_2048K)
{
name = "BMC 76-IN-1";
id = Type::BMC_76IN1;
}
else
{
name = "BMC-GHOSTBUSTERS63IN1";
id = Type::BMC_CTC65;
}
break;
case 227:
@ -3363,6 +3389,31 @@ namespace Nes
id = Type::UNL_KINGOFFIGHTERS97;
break;
case 265:
name = "BMC-T-262";
id = Type::BMC_T262;
break;
case 283:
if (prg > SIZE_256K)
{
name = "BMC-GS-2013";
id = Type::RCM_GS2013;
}
else
{
name = "BMC-GS-2004";
id = Type::RCM_GS2004;
}
break;
case 285:
name = "BMC-A65AS";
id = Type::BMC_A65AS;
break;
case 286:
name = "BMC-BS-5";
@ -3375,6 +3426,12 @@ namespace Nes
id = Type::UNL_TF1201;
break;
case 300:
name = "BMC-190IN1";
id = Type::BMC_GOLDEN_190IN1;
break;
case 301:
name = "BMC-8157";
@ -3405,12 +3462,42 @@ namespace Nes
id = Type::KAISER_KS7013B;
break;
case 314:
name = "BMC-64IN1NOREPEAT";
id = Type::BMC_Y2K_64IN1;
break;
case 329:
name = "UNL-EDU2000";
id = Type::UNL_EDU2000;
break;
case 332:
name = "BMC-WS";
id = Type::BMC_SUPER_40IN1;
break;
case 521:
name = "DREAMTECH01";
id = Type::DREAMTECH01;
break;
case 529:
name = "UNL-T-230";
id = Type::BTL_T230;
break;
case 530:
name = "UNL-AX5705";
id = Type::BTL_AX5705;
break;
default:
return false;

View file

@ -275,14 +275,14 @@ namespace Nes
BMC_76IN1 = MakeId< 226, 2048, 0, 0, 0, CRM_8, NMT_H, 0 >::ID,
BMC_8157 = MakeId< 301, 512, 0, 0, 0, CRM_8, NMT_V, 0 >::ID,
BMC_9999999IN1 = MakeId< 213, 128, 64, 0, 0, CRM_0, NMT_X, 0 >::ID,
BMC_A65AS = MakeId< NMPR, 512, 0, 0, 0, CRM_8, NMT_V, 1 >::ID,
BMC_A65AS = MakeId< 285, 512, 0, 0, 0, CRM_8, NMT_V, 1 >::ID,
BMC_BALLGAMES_11IN1 = MakeId< 51, 512, 0, 0, 0, CRM_8, NMT_V, 0 >::ID,
BMC_CTC65 = MakeId< NMPR, 2048, 0, 0, 0, CRM_8, NMT_H, 0 >::ID,
BMC_CTC65 = MakeId< 226, 2048, 0, 0, 0, CRM_8, NMT_H, 1 >::ID,
BMC_DRAGONBOLLPARTY = MakeId< 83, 1024, 1024, 8, 0, CRM_0, NMT_V, 0 >::ID,
BMC_FAMILY_4646B = MakeId< 134, 512, 512, 0, 0, CRM_0, NMT_X, 0 >::ID,
BMC_FKC23C = MakeId< NMPR, 1024, 1024, 0, 0, CRM_0, NMT_X, 0 >::ID,
BMC_FKC23C = MakeId< 176, 1024, 1024, 0, 0, CRM_0, NMT_X, 0 >::ID,
BMC_GAME_800IN1 = MakeId< 236, 512, 64, 0, 0, CRM_8, NMT_V, 0 >::ID,
BMC_GOLDEN_190IN1 = MakeId< NMPR, 128, 64, 0, 0, CRM_0, NMT_V, 0 >::ID,
BMC_GOLDEN_190IN1 = MakeId< 300, 128, 64, 0, 0, CRM_0, NMT_V, 0 >::ID,
BMC_GOLDENGAME_150IN1 = MakeId< 235, 2048, 0, 0, 0, CRM_8, NMT_V, 0 >::ID,
BMC_GOLDENGAME_260IN1 = MakeId< 235, 4096, 0, 0, 0, CRM_8, NMT_V, 0 >::ID,
BMC_GKA = MakeId< 57, 128, 128, 0, 0, CRM_0, NMT_V, 0 >::ID,
@ -294,9 +294,9 @@ namespace Nes
BMC_CH001 = MakeId< 63, 4096, 0, 0, 0, CRM_8, NMT_V, 0 >::ID,
BMC_POWERJOY_84IN1 = MakeId< 126, 2048, 1024, 0, 0, CRM_0, NMT_X, 0 >::ID,
BMC_RESETBASED_4IN1 = MakeId< 60, 64, 32, 0, 0, CRM_0, NMT_X, 0 >::ID,
BMC_SUPER_24IN1 = MakeId< NMPR, 4096, 2048, 8, 0, CRM_8, NMT_X, 0 >::ID,
BMC_SUPER_24IN1 = MakeId< 176, 4096, 2048, 0, 0, CRM_8, NMT_X, 0 >::ID,
BMC_SUPER_22GAMES = MakeId< 233, 1024, 0, 0, 0, CRM_8, NMT_Z, 0 >::ID,
BMC_SUPER_40IN1 = MakeId< NMPR, 128, 64, 0, 0, CRM_0, NMT_V, 1 >::ID,
BMC_SUPER_40IN1 = MakeId< 332, 128, 64, 0, 0, CRM_0, NMT_V, 1 >::ID,
BMC_SUPER_42IN1 = MakeId< 226, 1024, 0, 0, 0, CRM_8, NMT_H, 0 >::ID,
BMC_SUPER_700IN1 = MakeId< 62, 2048, 1024, 0, 0, CRM_0, NMT_V, 0 >::ID,
BMC_SUPERBIG_7IN1 = MakeId< 44, 1024, 1024, 0, 0, CRM_0, NMT_X, 0 >::ID,
@ -304,15 +304,15 @@ namespace Nes
BMC_SUPERHIK_4IN1 = MakeId< 49, 512, 512, 0, 0, CRM_0, NMT_X, 0 >::ID,
BMC_SUPERHIK_300IN1 = MakeId< 212, 128, 64, 0, 0, CRM_0, NMT_V, 0 >::ID,
BMC_SUPERVISION_16IN1 = MakeId< 53, 4096, 0, 0, 0, CRM_8, NMT_V, 0 >::ID,
BMC_T262 = MakeId< NMPR, 1024, 0, 0, 0, CRM_8, NMT_V, 0 >::ID,
BMC_T262 = MakeId< 265, 1024, 0, 0, 0, CRM_8, NMT_V, 0 >::ID,
BMC_VRC4 = MakeId< 23, 512, 0, 8, 0, CRM_8, NMT_V, 0 >::ID,
BMC_VT5201 = MakeId< 60, 128, 64, 0, 0, CRM_0, NMT_V, 0 >::ID,
BMC_Y2K_64IN1 = MakeId< NMPR, 1024, 512, 0, 0, CRM_0, NMT_V, 0 >::ID,
BMC_Y2K_64IN1 = MakeId< 314, 1024, 512, 0, 0, CRM_0, NMT_V, 0 >::ID,
// Bootlegs
BTL_2708 = MakeId< 103, 128, 0, 0, 16, CRM_8, NMT_V, 0 >::ID,
BTL_6035052 = MakeId< 238, 512, 256, 0, 0, CRM_0, NMT_X, 0 >::ID,
BTL_AISENSHINICOL = MakeId< 42, 128, 0, 0, 0, CRM_8, NMT_X, 0 >::ID,
BTL_AX5705 = MakeId< NMPR, 128, 256, 0, 0, CRM_0, NMT_X, 0 >::ID,
BTL_AX5705 = MakeId< 530, 128, 256, 0, 0, CRM_0, NMT_X, 0 >::ID,
BTL_DRAGONNINJA = MakeId< 222, 128, 256, 0, 0, CRM_0, NMT_X, 0 >::ID,
BTL_GENIUSMERIOBROS = MakeId< 55, 64, 8, 2, 0, CRM_0, NMT_X, 0 >::ID,
BTL_MARIOBABY = MakeId< 42, 128, 128, 0, 0, CRM_0, NMT_X, 0 >::ID,
@ -323,7 +323,7 @@ namespace Nes
BTL_SMB2_C = MakeId< 43, 128, 8, 0, 0, CRM_0, NMT_X, 0 >::ID,
BTL_SMB3 = MakeId< 106, 256, 128, 8, 0, CRM_0, NMT_H, 0 >::ID,
BTL_SUPERBROS11 = MakeId< 196, 512, 128, 0, 0, CRM_0, NMT_V, 0 >::ID,
BTL_T230 = MakeId< NMPR, 256, 0, 0, 0, CRM_8, NMT_V, 0 >::ID,
BTL_T230 = MakeId< 529, 256, 0, 0, 0, CRM_8, NMT_V, 0 >::ID,
BTL_TOBIDASEDAISAKUSEN = MakeId< 120, 128, 8, 0, 0, CRM_0, NMT_X, 0 >::ID,
// Camerica
CAMERICA_BF9093 = MakeId< 71, 256, 0, 0, 0, CRM_8, NMT_X, 0 >::ID,
@ -472,8 +472,8 @@ namespace Nes
// Open Corp
OPENCORP_DAOU306 = MakeId< 156, 256, 512, 8, 0, CRM_0, NMT_1, 0 >::ID,
// RCM
RCM_GS2004 = MakeId< NMPR, 512, 0, 0, 0, CRM_8, NMT_X, 0 >::ID,
RCM_GS2013 = MakeId< NMPR, 512, 0, 0, 0, CRM_8, NMT_X, 1 >::ID,
RCM_GS2004 = MakeId< 283, 256, 0, 0, 0, CRM_8, NMT_X, 0 >::ID,
RCM_GS2013 = MakeId< 283, 512, 0, 0, 0, CRM_8, NMT_X, 1 >::ID,
RCM_GS2015 = MakeId< 216, 64, 64, 0, 0, CRM_0, NMT_X, 0 >::ID,
RCM_TETRISFAMILY = MakeId< 61, 512, 0, 0, 0, CRM_8, NMT_V, 0 >::ID,
// Rex Soft
@ -527,7 +527,6 @@ namespace Nes
TENGEN_800004 = MakeId< 206, 128, 64, 0, 0, CRM_0, NMT_2, 1 >::ID,
TENGEN_800008 = MakeId< 3, 64, 64, 0, 0, CRM_0, NMT_X, 0 >::ID,
TENGEN_800030 = MakeId< 206, 128, 64, 0, 0, CRM_0, NMT_X, 1 >::ID,
//TENGEN_800032 = MakeId< 64, 128, 128, 0, 0, CRM_0, NMT_V, 0 >::ID,
TENGEN_800032 = MakeId< 64, 128, 256, 0, 0, CRM_0, NMT_V, 0 >::ID,
TENGEN_800037 = MakeId< 158, 128, 128, 0, 0, CRM_0, NMT_Z, 0 >::ID,
TENGEN_800042 = MakeId< 68, 128, 256, 0, 0, CRM_0, NMT_V, 1 >::ID,
@ -540,8 +539,8 @@ namespace Nes
TXC_TW = MakeId< 189, 128, 256, 0, 0, CRM_0, NMT_X, 0 >::ID,
// Unlicensed
UNL_A9746 = MakeId< 219, 128, 256, 0, 0, CRM_0, NMT_X, 0 >::ID,
UNL_CC21 = MakeId< NMPR, 32, 16, 0, 0, CRM_0, NMT_Z, 0 >::ID,
UNL_EDU2000 = MakeId< NMPR, 1024, 0, 32, 0, CRM_8, NMT_Z, 0 >::ID,
UNL_CC21 = MakeId< 27, 32, 8, 0, 0, CRM_0, NMT_Z, 0 >::ID,
UNL_EDU2000 = MakeId< 329, 1024, 0, 0, 32, CRM_8, NMT_Z, 0 >::ID,
UNL_KINGOFFIGHTERS96 = MakeId< 187, 512, 512, 0, 0, CRM_0, NMT_X, 0 >::ID,
UNL_KINGOFFIGHTERS97 = MakeId< 263, 256, 256, 0, 0, CRM_0, NMT_X, 0 >::ID,
UNL_MORTALKOMBAT2 = MakeId< 91, 256, 512, 0, 0, CRM_0, NMT_X, 0 >::ID,

View file

@ -191,7 +191,11 @@ namespace Nes
{
cycles++;
if (reload)
if (latch == 1)
{
count = 0;
}
else if (reload)
{
reload = false;
count = latch | (latch ? 1 : 0);
@ -201,6 +205,8 @@ namespace Nes
if (!latch && cycles > A12_FILTER)
count = 1;
else if (latch && (cycles > (A12_FILTER * 3)))
count++;
cycles = 0;
}

View file

@ -49,7 +49,8 @@ namespace Nes
NES_POKE_A(Cc21,8000)
{
ppu.SetMirroring( (address & 0x2) ? Ppu::NMT_1 : Ppu::NMT_0 );
chr.SwapBank<SIZE_8K,0x0000>( address );
chr.SwapBank<SIZE_4K,0x0000>( address );
chr.SwapBank<SIZE_4K,0x1000>( address );
}
}
}