📄 nes_sxrom.c
字号:
#include "..\..\DLL\d_UNIF.h"
#include "..\..\Hardware\h_MMC1.h"
static void Sync_SAROM (void)
{
MMC1_SyncMirror();
MMC1_SyncPRG(0x7,0);
MMC1_SyncCHR_ROM(0x0F,0);
MMC1_SyncWRAM();
}
static void Sync_SBROM (void)
{
MMC1_SyncMirror();
MMC1_SyncPRG(0x7,0);
MMC1_SyncCHR_ROM(0x0F,0);
}
static void Sync_SCROM (void)
{
MMC1_SyncMirror();
MMC1_SyncPRG(0x7,0);
MMC1_SyncCHR_ROM(0x1F,0);
}
static void Sync_SEROM (void)
{
MMC1_SyncMirror();
MMC1_SyncPRG(0x1,0);
MMC1_SyncCHR_ROM(0x0F,0);
}
static void Sync_SGROM (void)
{
MMC1_SyncMirror();
MMC1_SyncPRG(0xF,0);
MMC1_SyncCHR_RAM(0x1,0);
}
static void Sync_SKROM (void)
{
MMC1_SyncMirror();
MMC1_SyncPRG(0xF,0);
MMC1_SyncCHR_ROM(0x1F,0);
MMC1_SyncWRAM();
}
static void Sync_SLROM (void)
{
MMC1_SyncMirror();
MMC1_SyncPRG(0xF,0);
MMC1_SyncCHR_ROM(0x1F,0);
}
static void Sync_SL1ROM (void)
{
MMC1_SyncMirror();
MMC1_SyncPRG(0x7,0);
MMC1_SyncCHR_ROM(0x1F,0);
}
static void Sync_SNROM (void)
{
MMC1_SyncMirror();
MMC1_SyncPRG(0xF,0);
MMC1_SyncCHR_RAM(0x01,0);
MMC1_SyncWRAM();
}
static void Sync_SOROM (void)
{
MMC1_SyncMirror();
MMC1_SyncPRG(0xF,0);
MMC1_SyncCHR_RAM(0x01,0);
if (MMC1_GetWRAMEnabled())
MP->SetPRG_RAM8(0x6,((MMC1_GetCHRBankLo() & 0x10) >> 4) ^ 1);
else
{
MP->SetPRG_OB4(0x6);
MP->SetPRG_OB4(0x7);
}
}
static void __cdecl SaveMI (Ar128 MI)
{
MMC1_SaveMI(MI,0);
}
static void __cdecl LoadMI (const Ar128 MI)
{
MMC1_LoadMI(MI,0);
}
static void __cdecl UnloadMapper (void)
{
UNIF_SaveSRAM();
MMC1_Destroy();
}
static void __cdecl InitMapper_SAROM (const PMapperParam _MP, int IsHardReset)
{
MP = _MP;
UNIF_InitSRAM(8192);
MMC1_Init(Sync_SAROM);
}
static void __cdecl InitMapper_SBROM (const PMapperParam _MP, int IsHardReset)
{
MP = _MP;
MMC1_Init(Sync_SBROM);
}
static void __cdecl InitMapper_SCROM (const PMapperParam _MP, int IsHardReset)
{
MP = _MP;
MMC1_Init(Sync_SCROM);
}
static void __cdecl InitMapper_SEROM (const PMapperParam _MP, int IsHardReset)
{
MP = _MP;
MMC1_Init(Sync_SEROM);
}
static void __cdecl InitMapper_SGROM (const PMapperParam _MP, int IsHardReset)
{
MP = _MP;
MMC1_Init(Sync_SGROM);
}
static void __cdecl InitMapper_SKROM (const PMapperParam _MP, int IsHardReset)
{
MP = _MP;
UNIF_InitSRAM(8192);
MMC1_Init(Sync_SKROM);
}
static void __cdecl InitMapper_SLROM (const PMapperParam _MP, int IsHardReset)
{
MP = _MP;
MMC1_Init(Sync_SLROM);
}
static void __cdecl InitMapper_SL1ROM (const PMapperParam _MP, int IsHardReset)
{
MP = _MP;
MMC1_Init(Sync_SL1ROM);
}
static void __cdecl InitMapper_SNROM (const PMapperParam _MP, int IsHardReset)
{
MP = _MP;
UNIF_InitSRAM(8192);
MMC1_Init(Sync_SNROM);
}
static void __cdecl InitMapper_SOROM (const PMapperParam _MP, int IsHardReset)
{
MP = _MP;
UNIF_InitSRAM(8192);
MMC1_Init(Sync_SOROM);
}
CTMapperInfo MapperInfo_NES_SAROM =
{
"NES-SAROM",
-1,
MS_Full,
16384,
InitMapper_SAROM,
UnloadMapper,
NULL,
NULL,
SaveMI,
LoadMI,
NULL,
NULL
};
CTMapperInfo MapperInfo_NES_SBROM =
{
"NES-SBROM",
-1,
MS_Full,
16384,
InitMapper_SBROM,
NULL,
NULL,
NULL,
SaveMI,
LoadMI,
NULL,
NULL
};
CTMapperInfo MapperInfo_NES_SCROM =
{
"NES-SCROM",
-1,
MS_Full,
16384,
InitMapper_SCROM,
NULL,
NULL,
NULL,
SaveMI,
LoadMI,
NULL,
NULL
};
CTMapperInfo MapperInfo_NES_SEROM =
{
"NES-SEROM",
-1,
MS_Full,
16384,
InitMapper_SEROM,
NULL,
NULL,
NULL,
SaveMI,
LoadMI,
NULL,
NULL
};
CTMapperInfo MapperInfo_NES_SGROM =
{
"NES-SGROM",
-1,
MS_Full,
16384,
InitMapper_SGROM,
NULL,
NULL,
NULL,
SaveMI,
LoadMI,
NULL,
NULL
};
CTMapperInfo MapperInfo_NES_SKROM =
{
"NES-SKROM",
-1,
MS_Full,
16384,
InitMapper_SKROM,
UnloadMapper,
NULL,
NULL,
SaveMI,
LoadMI,
NULL,
NULL
};
CTMapperInfo MapperInfo_NES_SLROM =
{
"NES-SLROM",
-1,
MS_Full,
16384,
InitMapper_SLROM,
NULL,
NULL,
NULL,
SaveMI,
LoadMI,
NULL,
NULL
};
CTMapperInfo MapperInfo_NES_SL1ROM =
{
"NES-SL1ROM",
-1,
MS_Full,
16384,
InitMapper_SL1ROM,
NULL,
NULL,
NULL,
SaveMI,
LoadMI,
NULL,
NULL
};
CTMapperInfo MapperInfo_NES_SNROM =
{
"NES-SNROM",
-1,
MS_Full,
16384,
InitMapper_SNROM,
UnloadMapper,
NULL,
NULL,
SaveMI,
LoadMI,
NULL,
NULL
};
CTMapperInfo MapperInfo_NES_SOROM =
{
"NES-SOROM",
-1,
MS_Full,
16384,
InitMapper_SOROM,
UnloadMapper,
NULL,
NULL,
SaveMI,
LoadMI,
NULL,
NULL
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -