mirror of
https://github.com/rvtr/ctr_Repair.git
synced 2025-10-31 13:51:08 -04:00
新しいdescを使うように
バージョンチェックは行わないように git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@198 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
7ba8b0325e
commit
10f3c45316
@ -1,5 +1,5 @@
|
|||||||
BasicInfo:
|
BasicInfo:
|
||||||
Title : TitleEraser
|
Title : BoxyardEraser
|
||||||
ProductCode: CTR-P-237A
|
ProductCode: CTR-P-237A
|
||||||
BackupMemoryType: None
|
BackupMemoryType: None
|
||||||
|
|
||||||
|
|||||||
232
trunk/BoxyardEraser/BoxyardRemover.desc
Normal file
232
trunk/BoxyardEraser/BoxyardRemover.desc
Normal file
@ -0,0 +1,232 @@
|
|||||||
|
AccessControlDescriptor:
|
||||||
|
AffinityMask: 1
|
||||||
|
AutoGen: true
|
||||||
|
CoreVersion: 2
|
||||||
|
DescVersion: 2
|
||||||
|
Descriptor: |
|
||||||
|
AP///wAABAACAAAAAAAFGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiIAAAAAAAABBUFQ6VQAAACRo
|
||||||
|
aW9GSU8AJGhvc3RpbzAkaG9zdGlvMWFjOnUAAAAAYm9zczpVAABjYW06dQAA
|
||||||
|
AGNlY2Q6dQAAY2ZnOnUAAABkbHA6RktDTGRscDpTUlZSZHNwOjpEU1BmcmQ6
|
||||||
|
dQAAAGZzOlVTRVIAZ3NwOjpHcHVoaWQ6VVNFUmh0dHA6QwAAbWljOnUAAABu
|
||||||
|
ZG06dQAAAG5ld3M6dQAAbndtOjpVRFNwdG06dQAAAHB4aTpkZXYAc29jOlUA
|
||||||
|
AABzc2w6QwAAAHkycjp1AAAAaXI6VVNFUgBsZHI6cm8AAGFtOnUAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAD+//vw/7//8ec/APIA8JH/APaR/1D/gf9Y/4H/cP+B/3j/gf8B
|
||||||
|
AQD/AAIA/v//////////////////////////////////////////////////
|
||||||
|
////////////////////////////////////////AAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAI=
|
||||||
|
DisableDebug: false
|
||||||
|
EnableInterruptNumbers: []
|
||||||
|
EnableSystemCalls:
|
||||||
|
ArbitrateAddress: 34
|
||||||
|
Break: 60
|
||||||
|
CancelTimer: 28
|
||||||
|
ClearEvent: 25
|
||||||
|
ClearTimer: 29
|
||||||
|
CloseHandle: 35
|
||||||
|
ConnectToPort: 45
|
||||||
|
ControlMemory: 1
|
||||||
|
CreateAddressArbiter: 33
|
||||||
|
CreateEvent: 23
|
||||||
|
CreateMemoryBlock: 30
|
||||||
|
CreateMutex: 19
|
||||||
|
CreateSemaphore: 21
|
||||||
|
CreateThread: 8
|
||||||
|
CreateTimer: 26
|
||||||
|
DuplicateHandle: 39
|
||||||
|
ExitProcess: 3
|
||||||
|
ExitThread: 9
|
||||||
|
GetCurrentProcessorNumber: 17
|
||||||
|
GetHandleInfo: 41
|
||||||
|
GetProcessAffinityMask: 4
|
||||||
|
GetProcessId: 53
|
||||||
|
GetProcessIdOfThread: 54
|
||||||
|
GetProcessIdealProcessor: 6
|
||||||
|
GetProcessInfo: 43
|
||||||
|
GetResourceLimit: 56
|
||||||
|
GetResourceLimitCurrentValues: 58
|
||||||
|
GetResourceLimitLimitValues: 57
|
||||||
|
GetSystemInfo: 42
|
||||||
|
GetSystemTick: 40
|
||||||
|
GetThreadAffinityMask: 13
|
||||||
|
GetThreadContext: 59
|
||||||
|
GetThreadId: 55
|
||||||
|
GetThreadIdealProcessor: 15
|
||||||
|
GetThreadInfo: 44
|
||||||
|
GetThreadPriority: 11
|
||||||
|
MapMemoryBlock: 31
|
||||||
|
OutputDebugString: 61
|
||||||
|
QueryMemory: 2
|
||||||
|
ReleaseMutex: 20
|
||||||
|
ReleaseSemaphore: 22
|
||||||
|
SendSyncRequest1: 46
|
||||||
|
SendSyncRequest2: 47
|
||||||
|
SendSyncRequest3: 48
|
||||||
|
SendSyncRequest4: 49
|
||||||
|
SendSyncRequest: 50
|
||||||
|
SetProcessAffinityMask: 5
|
||||||
|
SetProcessIdealProcessor: 7
|
||||||
|
SetThreadAffinityMask: 14
|
||||||
|
SetThreadIdealProcessor: 16
|
||||||
|
SetThreadPriority: 12
|
||||||
|
SetTimer: 27
|
||||||
|
SignalEvent: 24
|
||||||
|
SleepThread: 10
|
||||||
|
UnmapMemoryBlock: 32
|
||||||
|
WaitSynchronization1: 36
|
||||||
|
WaitSynchronizationN: 37
|
||||||
|
FileSystemAccess:
|
||||||
|
- Debug
|
||||||
|
- DirectSdmc
|
||||||
|
- DirectSdmcWrite
|
||||||
|
HandleTableSize: 512
|
||||||
|
IORegisterMapping:
|
||||||
|
- 1ff50000-1ff57fff
|
||||||
|
- 1ff70000-1ff77fff
|
||||||
|
IdealProcessor: 1
|
||||||
|
MemoryMapping:
|
||||||
|
- 1f000000-1f5fffff:r
|
||||||
|
MemoryType: Application
|
||||||
|
Priority: 24
|
||||||
|
ProgramId: 0x00040000ffffff00L
|
||||||
|
ServiceAccessControl:
|
||||||
|
- APT:U
|
||||||
|
- $hioFIO
|
||||||
|
- $hostio0
|
||||||
|
- $hostio1
|
||||||
|
- ac:u
|
||||||
|
- boss:U
|
||||||
|
- cam:u
|
||||||
|
- cecd:u
|
||||||
|
- cfg:u
|
||||||
|
- dlp:FKCL
|
||||||
|
- dlp:SRVR
|
||||||
|
- dsp::DSP
|
||||||
|
- frd:u
|
||||||
|
- fs:USER
|
||||||
|
- gsp::Gpu
|
||||||
|
- hid:USER
|
||||||
|
- http:C
|
||||||
|
- mic:u
|
||||||
|
- ndm:u
|
||||||
|
- news:u
|
||||||
|
- nwm::UDS
|
||||||
|
- ptm:u
|
||||||
|
- pxi:dev
|
||||||
|
- soc:U
|
||||||
|
- ssl:C
|
||||||
|
- y2r:u
|
||||||
|
- ir:USER
|
||||||
|
- ldr:ro
|
||||||
|
- am:u
|
||||||
|
Signature: |
|
||||||
|
hiQzwen590fW0thDfToCcvkG0S+Uw+X9LKyUJarMsCJ5T14SlKlhKgT9Kkmd
|
||||||
|
yt1cCDqoEQguN5pQny5iS6usQ51/ORdfO0Qf/ZSYvXNqEZyP2zG54sGd1Uie
|
||||||
|
/TftK28EhpufbgOCFaPbv3Tnbp5EUZaG0OAwNs0ez4605+e1AzGUrEspzCYK
|
||||||
|
sqYfTDFDmBz2dul/gvU2kRjGUUYyrw1Eg5ZJPt53LX/DePKXZnvb3eeel/sq
|
||||||
|
ZOgYLnc2n2upzkpO/dr6Wer2D4o3lpPk1parE6orOyRDB0TTFu6u5aqRldf8
|
||||||
|
t8D2fz7keTdyYlhjEgAGUkcEU7ZU1SrvpwD5ktNyaA==
|
||||||
|
StorageId:
|
||||||
|
- 0
|
||||||
|
CommonHeaderKey:
|
||||||
|
D: |
|
||||||
|
xsiNQCpJR94/2XdRoz1v6+OKN8UF+Ev/J5/u4e+EOY1Jjpc7BMg3KRZkrNym
|
||||||
|
+LYe8vqMT7I/5d3rgasgrX3FAEoIPL9VvL4IqfjZcyo/75o+NE6TOWUp3K3Z
|
||||||
|
UbDwgMscl9nLPnOFiGFbZsMV/Aa0ro1w7+hXt3+diJaCHzimI0NNy5a8Beqi
|
||||||
|
Tm1Od3e5lCepBcypiniam9AyMwd3tGHKuMPg3WV6KPyE8lefPkrMkiYHVITY
|
||||||
|
wvcDvra83T4vprQySXAKuzUDZdrlzCtPe+Bz1eJkWQUuY3MuGNb9OmjQvKzc
|
||||||
|
w+GF9oNWvV729IH4pwcsgZYMyT+0ok81VeqMHm2HLQ==
|
||||||
|
DP: |
|
||||||
|
YdqZEbc18syS7xGY/emuqX+bQPcxgnXpCQVFA8Yh43ztQKPWTxCe9aUE1sY6
|
||||||
|
sraf/MT3x3hTlATlOqxJxQZeXxPlQm6Vcpq5iCn78GThugKS5yEkbNaSdQ8T
|
||||||
|
atWoGbDlQfWgcRovbhd71vzguIP028yGIDuzNnlz5IDZthMfiNU=
|
||||||
|
DQ: |
|
||||||
|
ixmQMZXKCcoocsnule/XIpYFQcX3W61Jl6xQs0J4kZCFxUQOb9rjoalVsdRA
|
||||||
|
9J11fi5GJ0OTsVc7GuN6dRful9IXDscM3BiJUA8aMmTCxuZpc5xjpXQZ1O1e
|
||||||
|
wk8IwtamgurCUqW2gsRDMtGjh4gyYT1ybxiyKDI235aBCpTiGws=
|
||||||
|
Exponent: |
|
||||||
|
AQAB
|
||||||
|
InverseQ: |
|
||||||
|
EMZs1VAoSlb/lK8k5JK+8jJqnZdkikQBZglABYxOdnUy0k//ZQv7bvPsWJFi
|
||||||
|
fC/KK4U5Cs1ecNIEv6yHqUmpLYVro+7pAcUckvCiknBLJZ1zYNq02cObUhjr
|
||||||
|
AnHhuKZmS7E+jRyEKH5Sh8wQf1LNG1lR6fH6Q86Adr7ltkKzwbI=
|
||||||
|
Modulus: |
|
||||||
|
6zhbyBHBgjpggDJ9GPgrtqvMTV84dPgPqIHIwUYrkt4qg6vddoqxc6/NzLDJ
|
||||||
|
7Avi/wgZc267X/g9tq0vkd+vFY7cR1idP0zCCiEs55a9RM1YMtRGyxdx52Y8
|
||||||
|
+6k0ld48l5T24a1mwWWEIpXh8UImxHsKU9yXoCazpaCLukE09x3OxTkZYhYK
|
||||||
|
HJlRfsVAPWr2BbW4/chR061pzskxjEp9Iw9LEu9Msor/lCd6jASF9rdBbDoH
|
||||||
|
beY4+67JPDtVnJYyU55vUoLglXXAK73YksTWjFVG2fNp9OQLDZYSuhyInlry
|
||||||
|
mInm7uKcgQMdXxwe8DIYo4SGIlHg/TfRwcxaB1vd9Q==
|
||||||
|
P: |
|
||||||
|
9o+b9xrx8fhM9rvVFRvR+BHXfpPHKrDDk7eenDWtTPmwQLvwhFmBuZtveP4v
|
||||||
|
DkjSG+ILlDUZnP2NO9Y7vIWnRoNrKrvoyKDnhVv837SWxjBazYJUCLDXOrH+
|
||||||
|
e7+y/KTKTvbUs2SnPocYfhFwFDQFReoC67kXEn2SknY1fhbFehM=
|
||||||
|
Q: |
|
||||||
|
9Dma3JAhr2OJRobNddJfR0zOGrp1KjQePO22IhSBUgoo0bZMcSvQbz+UNYkc
|
||||||
|
GryMnsgrN8bZdKxIoVo+dKYUHt333ztUJwUF6LnLE+4REynUyvawLNL76aLu
|
||||||
|
PdxKDhxAc461k5IHNFrRRJ+DS+0qntnUz2Ojo3FeR5+2tLO/SNc=
|
||||||
|
DefaultSpec:
|
||||||
|
AccessControlInfo:
|
||||||
|
AffinityMask: 1
|
||||||
|
FirmwareVersion: 2
|
||||||
|
HandleTableSize: 512
|
||||||
|
IORegisterMapping:
|
||||||
|
- 1ff50000-1ff57fff
|
||||||
|
- 1ff70000-1ff77fff
|
||||||
|
IdealProcessor: 0
|
||||||
|
MemoryMapping:
|
||||||
|
- 1f000000-1f5fffff:r
|
||||||
|
Priority: 16
|
||||||
|
BasicInfo:
|
||||||
|
CompanyCode: "00"
|
||||||
|
Logo: Nintendo
|
||||||
|
Title: default
|
||||||
|
ExeFs:
|
||||||
|
ReadOnly:
|
||||||
|
- RO
|
||||||
|
ReadWrite:
|
||||||
|
- RW
|
||||||
|
Text:
|
||||||
|
- STUP_ENTRY
|
||||||
|
Media:
|
||||||
|
MediaType: Card
|
||||||
|
PlainRegion:
|
||||||
|
- .module_id
|
||||||
|
Rom:
|
||||||
|
DefaultReject:
|
||||||
|
- .*
|
||||||
|
File:
|
||||||
|
- "*"
|
||||||
|
SystemControlInfo:
|
||||||
|
Dependency:
|
||||||
|
ac: 0x0004013000002402L
|
||||||
|
am: 0x0004013000001502L
|
||||||
|
boss: 0x0004013000003402L
|
||||||
|
camera: 0x0004013000001602L
|
||||||
|
cecd: 0x0004013000002602L
|
||||||
|
cfg: 0x0004013000001702L
|
||||||
|
codec: 0x0004013000001802L
|
||||||
|
csnd: 0x0004013000002702L
|
||||||
|
dlp: 0x0004013000002802L
|
||||||
|
dsp: 0x0004013000001a02L
|
||||||
|
friends: 0x0004013000003202L
|
||||||
|
gpio: 0x0004013000001b02L
|
||||||
|
gsp: 0x0004013000001c02L
|
||||||
|
hid: 0x0004013000001d02L
|
||||||
|
http: 0x0004013000002902L
|
||||||
|
i2c: 0x0004013000001e02L
|
||||||
|
mcu: 0x0004013000001f02L
|
||||||
|
mic: 0x0004013000002002L
|
||||||
|
ndm: 0x0004013000002b02L
|
||||||
|
news: 0x0004013000003502L
|
||||||
|
nim: 0x0004013000002c02L
|
||||||
|
nwm: 0x0004013000002d02L
|
||||||
|
pdn: 0x0004013000002102L
|
||||||
|
ps: 0x0004013000003102L
|
||||||
|
ptm: 0x0004013000002202L
|
||||||
|
ro: 0x0004013000003702L
|
||||||
|
socket: 0x0004013000002e02L
|
||||||
|
spi: 0x0004013000002302L
|
||||||
|
ssl: 0x0004013000002f02L
|
||||||
|
StackSize: 16384
|
||||||
@ -26,7 +26,6 @@ SOURCES[] =
|
|||||||
main.cpp
|
main.cpp
|
||||||
ResFont.cpp
|
ResFont.cpp
|
||||||
HeapManager.cpp
|
HeapManager.cpp
|
||||||
VersionDetect.cpp
|
|
||||||
|
|
||||||
CTR_BANNER_SPEC = $(TARGET_PROGRAM).bsf
|
CTR_BANNER_SPEC = $(TARGET_PROGRAM).bsf
|
||||||
|
|
||||||
@ -61,8 +60,7 @@ LIBS += libnn_cfg \
|
|||||||
INSTALL_SDK_TOOL = true
|
INSTALL_SDK_TOOL = true
|
||||||
|
|
||||||
ROM_SPEC_FILE = $(TARGET_PROGRAM).rsf
|
ROM_SPEC_FILE = $(TARGET_PROGRAM).rsf
|
||||||
#DESCRIPTOR = $(HORIZON_ROOT)/resources/specfiles/_private/RepairTool.desc
|
DESCRIPTOR = BoxyardRemover.desc
|
||||||
DESCRIPTOR = RepairTool.desc
|
|
||||||
|
|
||||||
include $(ROOT_OMAKE)/modulerules
|
include $(ROOT_OMAKE)/modulerules
|
||||||
|
|
||||||
|
|||||||
@ -1,125 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*
|
|
||||||
Project: Horizon
|
|
||||||
File: VersionDetect.cpp
|
|
||||||
|
|
||||||
Copyright 2009 Nintendo. All rights reserved.
|
|
||||||
|
|
||||||
These coded instructions, statements, and computer programs contain
|
|
||||||
proprietary information of Nintendo of America Inc. and/or Nintendo
|
|
||||||
Company Ltd., and are protected by Federal copyright law. They may
|
|
||||||
not be disclosed to third parties or copied or duplicated in any form,
|
|
||||||
in whole or in part, without the prior written consent of Nintendo.
|
|
||||||
|
|
||||||
$Rev$
|
|
||||||
*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#include <nn.h>
|
|
||||||
#include <nn/fs.h>
|
|
||||||
#include <nn/fs/CTR/MPCore/fs_FileSystemBasePrivate.h>
|
|
||||||
|
|
||||||
#include "VersionDetect.h"
|
|
||||||
#include "HeapManager.h"
|
|
||||||
|
|
||||||
namespace common
|
|
||||||
{
|
|
||||||
|
|
||||||
nn::Result GetCupVersion(nn::pl::CTR::CardUpdateVersion* cup, nn::cfg::CTR::CfgRegionCode region)
|
|
||||||
{
|
|
||||||
nn::Result result;
|
|
||||||
const size_t BUF_SIZE = 1024;
|
|
||||||
u8 buf[BUF_SIZE];
|
|
||||||
// CUPバージョン
|
|
||||||
{
|
|
||||||
result = nn::fs::MountContent("cver:", nn::fs::MEDIA_TYPE_NAND, common::cCupVerId[region], 0, 1, 1, buf,
|
|
||||||
BUF_SIZE);
|
|
||||||
NN_UTIL_RETURN_IF_FAILED(result);
|
|
||||||
|
|
||||||
nn::fs::FileInputStream fis;
|
|
||||||
|
|
||||||
result = fis.TryInitialize(L"cver:/version.bin");
|
|
||||||
NN_UTIL_RETURN_IF_FAILED(result);
|
|
||||||
if (result.IsSuccess())
|
|
||||||
{
|
|
||||||
s64 fileSize = fis.GetSize();
|
|
||||||
NN_LOG("version.bin size = %lld\n", fileSize);
|
|
||||||
s32 ret;
|
|
||||||
void* addr = NULL;
|
|
||||||
addr = common::HeapManager::GetHeap()->Allocate(fileSize);
|
|
||||||
if (addr != NULL)
|
|
||||||
{
|
|
||||||
result = fis.TryRead(&ret, addr, fileSize);
|
|
||||||
NN_UTIL_RETURN_IF_FAILED(result);
|
|
||||||
if (result.IsSuccess())
|
|
||||||
{
|
|
||||||
nn::pl::CTR::CardUpdateVersion* ver_buf = reinterpret_cast<nn::pl::CTR::CardUpdateVersion*> (addr);
|
|
||||||
|
|
||||||
std::memcpy(cup, ver_buf, sizeof(nn::pl::CTR::CardUpdateVersion));
|
|
||||||
}
|
|
||||||
common::HeapManager::GetHeap()->Free(addr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fis.Finalize();
|
|
||||||
|
|
||||||
nn::fs::Unmount("cver:");
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
nn::Result GetNupVersion(nn::pl::CTR::NetworkUpdateVersion* nup, nn::cfg::CTR::CfgRegionCode region)
|
|
||||||
{
|
|
||||||
nn::Result result;
|
|
||||||
const size_t BUF_SIZE = 1024;
|
|
||||||
u8 buf[BUF_SIZE];
|
|
||||||
|
|
||||||
// NUPバージョン
|
|
||||||
{
|
|
||||||
result = nn::fs::MountContent("nver:", nn::fs::MEDIA_TYPE_NAND, common::cNupVerId[region], 0, 1, 1, buf,
|
|
||||||
BUF_SIZE);
|
|
||||||
NN_UTIL_RETURN_IF_FAILED(result);
|
|
||||||
|
|
||||||
nn::fs::FileInputStream fis;
|
|
||||||
|
|
||||||
result = fis.TryInitialize(L"nver:/version.bin");
|
|
||||||
NN_UTIL_RETURN_IF_FAILED(result);
|
|
||||||
if (result.IsSuccess())
|
|
||||||
{
|
|
||||||
s64 fileSize = fis.GetSize();
|
|
||||||
NN_LOG("version.bin size = %lld\n", fileSize);
|
|
||||||
s32 ret;
|
|
||||||
void* addr = NULL;
|
|
||||||
addr = common::HeapManager::GetHeap()->Allocate(fileSize);
|
|
||||||
if (addr != NULL)
|
|
||||||
{
|
|
||||||
result = fis.TryRead(&ret, addr, fileSize);
|
|
||||||
NN_UTIL_RETURN_IF_FAILED(result);
|
|
||||||
if (result.IsSuccess())
|
|
||||||
{
|
|
||||||
nn::pl::CTR::NetworkUpdateVersion* ver_buf =
|
|
||||||
reinterpret_cast<nn::pl::CTR::NetworkUpdateVersion*> (addr);
|
|
||||||
|
|
||||||
std::memcpy(nup, ver_buf, sizeof(nn::pl::CTR::NetworkUpdateVersion));
|
|
||||||
}
|
|
||||||
common::HeapManager::GetHeap()->Free(addr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fis.Finalize();
|
|
||||||
nn::fs::Unmount("nver:");
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
nn::Result GetSystemVersion(common::VerDef* mVerData, nn::cfg::CTR::CfgRegionCode region)
|
|
||||||
{
|
|
||||||
nn::Result result;
|
|
||||||
result = GetCupVersion(&mVerData->cup, region);
|
|
||||||
NN_UTIL_RETURN_IF_FAILED(result);
|
|
||||||
result = GetNupVersion(&mVerData->nup, region);
|
|
||||||
NN_UTIL_RETURN_IF_FAILED(result);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@ -1,53 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*
|
|
||||||
Project: Horizon
|
|
||||||
File: VersionDetect.h
|
|
||||||
|
|
||||||
Copyright 2009 Nintendo. All rights reserved.
|
|
||||||
|
|
||||||
These coded instructions, statements, and computer programs contain
|
|
||||||
proprietary information of Nintendo of America Inc. and/or Nintendo
|
|
||||||
Company Ltd., and are protected by Federal copyright law. They may
|
|
||||||
not be disclosed to third parties or copied or duplicated in any form,
|
|
||||||
in whole or in part, without the prior written consent of Nintendo.
|
|
||||||
|
|
||||||
$Rev$
|
|
||||||
*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef VERSIONDETECT_H_
|
|
||||||
#define VERSIONDETECT_H_
|
|
||||||
|
|
||||||
#include <nn/cfg/CTR/cfg_RegionCode.h>
|
|
||||||
#include <nn/pl/CTR/pl_SharedDataTitleId.h>
|
|
||||||
#include <nn/pl/CTR/pl_Version.h>
|
|
||||||
|
|
||||||
namespace common
|
|
||||||
{
|
|
||||||
|
|
||||||
// TODO:リージョン追加時に範囲外アクセスにならないよう注意
|
|
||||||
const nn::ProgramId cCupVerId[] =
|
|
||||||
{
|
|
||||||
nn::pl::CTR::SHAREDDATA_TITLEID_CUP_VERSION_JP,
|
|
||||||
nn::pl::CTR::SHAREDDATA_TITLEID_CUP_VERSION_US,
|
|
||||||
nn::pl::CTR::SHAREDDATA_TITLEID_CUP_VERSION_EU,
|
|
||||||
};
|
|
||||||
|
|
||||||
const nn::ProgramId cNupVerId[] =
|
|
||||||
{
|
|
||||||
nn::pl::CTR::SHAREDDATA_TITLEID_NUP_VERSION_JP,
|
|
||||||
nn::pl::CTR::SHAREDDATA_TITLEID_NUP_VERSION_US,
|
|
||||||
nn::pl::CTR::SHAREDDATA_TITLEID_NUP_VERSION_EU,
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct VerDef
|
|
||||||
{
|
|
||||||
nn::pl::CTR::CardUpdateVersion cup;
|
|
||||||
nn::pl::CTR::NetworkUpdateVersion nup;
|
|
||||||
};
|
|
||||||
|
|
||||||
nn::Result GetSystemVersion(common::VerDef* mVerData, nn::cfg::CTR::CfgRegionCode region);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* VERSIONDETECT_H_ */
|
|
||||||
@ -27,7 +27,6 @@
|
|||||||
#include "demo.h"
|
#include "demo.h"
|
||||||
#include "ResFont.h"
|
#include "ResFont.h"
|
||||||
#include "HeapManager.h"
|
#include "HeapManager.h"
|
||||||
#include "VersionDetect.h"
|
|
||||||
|
|
||||||
#define UTIL_RETURN_IF_NOT_AM_NOT_FOUND(result) \
|
#define UTIL_RETURN_IF_NOT_AM_NOT_FOUND(result) \
|
||||||
if(result.IsFailure()) \
|
if(result.IsFailure()) \
|
||||||
@ -51,9 +50,6 @@ nn::os::StackBuffer<ERASE_THREAD_STACK_SIZE> s_EraseThreadStack;
|
|||||||
|
|
||||||
demo::RenderSystemDrawing s_RenderSystem;
|
demo::RenderSystemDrawing s_RenderSystem;
|
||||||
|
|
||||||
// バージョン情報
|
|
||||||
common::VerDef s_VerData;
|
|
||||||
|
|
||||||
// グラフィックスに割り当てるメモリ
|
// グラフィックスに割り当てるメモリ
|
||||||
const size_t s_GxHeapSize = 0x800000;
|
const size_t s_GxHeapSize = 0x800000;
|
||||||
|
|
||||||
@ -256,8 +252,7 @@ extern "C" void nnMain(void)
|
|||||||
NN_UTIL_PANIC_IF_FAILED(result);
|
NN_UTIL_PANIC_IF_FAILED(result);
|
||||||
|
|
||||||
// cfg の初期化
|
// cfg の初期化
|
||||||
nn::cfg::CTR::init::Initialize();
|
nn::cfg::CTR::Initialize();
|
||||||
nn::cfg::CTR::system::Initialize();
|
|
||||||
|
|
||||||
// リージョンの取得
|
// リージョンの取得
|
||||||
nn::cfg::CTR::CfgRegionCode region;
|
nn::cfg::CTR::CfgRegionCode region;
|
||||||
@ -279,15 +274,6 @@ extern "C" void nnMain(void)
|
|||||||
std::vector<std::string> operationMessage;
|
std::vector<std::string> operationMessage;
|
||||||
s_pOperationMessage = &operationMessage;
|
s_pOperationMessage = &operationMessage;
|
||||||
|
|
||||||
// バージョンの取得
|
|
||||||
result = common::GetSystemVersion(&s_VerData, region);
|
|
||||||
if(result.IsFailure())
|
|
||||||
{
|
|
||||||
nn::dbg::PrintResult(result);
|
|
||||||
operationMessage.push_back(std::string("Failed Get Version Data"));
|
|
||||||
FatalDrawing(result);
|
|
||||||
}
|
|
||||||
|
|
||||||
operationMessage.push_back(std::string("Region: ") + std::string(nn::cfg::CTR::GetRegionCodeA3(region)));
|
operationMessage.push_back(std::string("Region: ") + std::string(nn::cfg::CTR::GetRegionCodeA3(region)));
|
||||||
|
|
||||||
s_EraseThread.Start(EraseThreadFunc, region, s_EraseThreadStack);
|
s_EraseThread.Start(EraseThreadFunc, region, s_EraseThreadStack);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user