3rdNUP以上の本体ではエラーとするように

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@689 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
N2614 2012-04-24 02:27:39 +00:00
parent b0671a65f2
commit 0d14ccf41e

View File

@ -46,6 +46,13 @@ ScrollBuffer *s_scrollBuffer;
char s_updaterBuffer[1 << 20] NN_ATTRIBUTE_ALIGN(4096);
const u8 CUP_MAJOR_VER_3ND_NUP = 4;
bool IsOver3rdNup(u8 cupMajor)
{
return CUP_MAJOR_VER_3ND_NUP <= cupMajor;
}
nn::ProgramId GetHomeMenuProgramId(nn::cfg::CTR::CfgRegionCode region)
{
nn::ProgramId pid;
@ -287,14 +294,46 @@ nn::Result ExecuteCup(ScrollBuffer* scrollBuf)
return result;
}
void ShowError(const char* str)
{
s_scrollBuffer->AppendText(str);
for (;;)
{
s_RenderSystem.SetRenderTarget(NN_GX_DISPLAY0);
s_RenderSystem.SetClearColor(NN_GX_DISPLAY0, 1, 0, 0, 1);
s_RenderSystem.Clear();
s_RenderSystem.SwapBuffers();
s_RenderSystem.SetRenderTarget(NN_GX_DISPLAY1);
s_RenderSystem.SetClearColor(NN_GX_DISPLAY1, 1, 0, 0, 1);
s_RenderSystem.Clear();
s_scrollBuffer->Render();
s_RenderSystem.SwapBuffers();
if (nn::applet::IsExpectedToCloseApplication())
{
nn::applet::PrepareToCloseApplication();
nn::applet::CloseApplication();
}
}
}
extern "C" void nnMain()
{
NN_LOG("Start Self Cup\n");
nn::Result result;
Initialize();
VerDef versionData;
nn::cfg::CfgRegionCode region = nn::cfg::GetRegion();
nn::ProgramId MMEN_PROGRAM_ID = GetHomeMenuProgramId(region);
GetSystemVersion(&versionData, region);
s_scrollBuffer->AppendText("Version: %d.%d.%d-%d%c", versionData.cup.majorVersion, versionData.cup.minorVersion,
versionData.cup.microVersion, versionData.nup.majorVersion, nn::cfg::GetRegionCodeA3(region)[0]);
if(IsOver3rdNup(versionData.cup.majorVersion))
{
ShowError("Cannot Update");
}
nn::am::ProgramInfo outInfos;
result = nn::am::GetProgramInfos(&outInfos, nn::fs::MEDIA_TYPE_NAND, &MMEN_PROGRAM_ID, 1);
@ -308,7 +347,6 @@ extern "C" void nnMain()
}
s_scrollBuffer->AppendText("")->Render();
VerDef versionData;
GetSystemVersion(&versionData, region);
s_scrollBuffer->AppendText("Version: %d.%d.%d-%d%c", versionData.cup.majorVersion, versionData.cup.minorVersion,