新しい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:
N2614 2011-04-15 02:49:50 +00:00
parent 7ba8b0325e
commit 10f3c45316
6 changed files with 235 additions and 197 deletions

View File

@ -1,5 +1,5 @@
BasicInfo:
Title : TitleEraser
Title : BoxyardEraser
ProductCode: CTR-P-237A
BackupMemoryType: None

View 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

View File

@ -26,7 +26,6 @@ SOURCES[] =
main.cpp
ResFont.cpp
HeapManager.cpp
VersionDetect.cpp
CTR_BANNER_SPEC = $(TARGET_PROGRAM).bsf
@ -61,8 +60,7 @@ LIBS += libnn_cfg \
INSTALL_SDK_TOOL = true
ROM_SPEC_FILE = $(TARGET_PROGRAM).rsf
#DESCRIPTOR = $(HORIZON_ROOT)/resources/specfiles/_private/RepairTool.desc
DESCRIPTOR = RepairTool.desc
DESCRIPTOR = BoxyardRemover.desc
include $(ROOT_OMAKE)/modulerules

View File

@ -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;
}
}

View File

@ -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_ */

View File

@ -27,7 +27,6 @@
#include "demo.h"
#include "ResFont.h"
#include "HeapManager.h"
#include "VersionDetect.h"
#define UTIL_RETURN_IF_NOT_AM_NOT_FOUND(result) \
if(result.IsFailure()) \
@ -51,9 +50,6 @@ nn::os::StackBuffer<ERASE_THREAD_STACK_SIZE> s_EraseThreadStack;
demo::RenderSystemDrawing s_RenderSystem;
// バージョン情報
common::VerDef s_VerData;
// グラフィックスに割り当てるメモリ
const size_t s_GxHeapSize = 0x800000;
@ -256,8 +252,7 @@ extern "C" void nnMain(void)
NN_UTIL_PANIC_IF_FAILED(result);
// cfg の初期化
nn::cfg::CTR::init::Initialize();
nn::cfg::CTR::system::Initialize();
nn::cfg::CTR::Initialize();
// リージョンの取得
nn::cfg::CTR::CfgRegionCode region;
@ -279,15 +274,6 @@ extern "C" void nnMain(void)
std::vector<std::string> 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)));
s_EraseThread.Start(EraseThreadFunc, region, s_EraseThreadStack);