AxibugEmuOnline/AxibugEmuOnline.Client/Assets/VirtualNes.Core/Mapper/Mapper000.cs

45 lines
1.3 KiB
C#
Raw Normal View History

2024-08-05 23:16:39 +08:00
//////////////////////////////////////////////////////////////////////////
// Mapper000 //
//////////////////////////////////////////////////////////////////////////
using static VirtualNes.MMU;
2024-08-16 10:20:00 +08:00
2024-08-05 23:16:39 +08:00
namespace VirtualNes.Core
{
2024-08-16 10:20:00 +08:00
public class Mapper000 : Mapper
{
2024-08-05 23:16:39 +08:00
2024-08-16 10:20:00 +08:00
public Mapper000(NES parent) : base(parent) { }
2024-08-05 23:16:39 +08:00
2024-08-16 10:20:00 +08:00
public override void Reset()
{
switch (PROM_16K_SIZE)
{
default:
case 1: // 16K only
SetPROM_16K_Bank(4, 0);
SetPROM_16K_Bank(6, 0);
break;
case 2: // 32K
SetPROM_32K_Bank(0);
break;
}
2024-08-05 23:16:39 +08:00
2024-08-16 10:20:00 +08:00
uint crc = nes.rom.GetPROM_CRC();
if (crc == 0x4e7db5af)
{ // Circus Charlie(J)
nes.SetRenderMethod(EnumRenderMethod.POST_RENDER);
}
if (crc == 0x57970078)
{ // F-1 Race(J)
nes.SetRenderMethod(EnumRenderMethod.POST_RENDER);
}
if (crc == 0xaf2bbcbc // Mach Rider(JU)
|| crc == 0x3acd4bf1)
{ // Mach Rider(Alt)(JU)
nes.SetRenderMethod(EnumRenderMethod.POST_RENDER);
}
}
}
2024-08-05 23:16:39 +08:00
}