mirror of
https://github.com/rvtr/ctr_Repair.git
synced 2025-10-31 13:51:08 -04:00
nandroをマウントするように
Configのrsf、descを使うように git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@421 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
f0be6ba2c0
commit
9ec504401b
@ -1,209 +0,0 @@
|
||||
AccessControlDescriptor:
|
||||
AffinityMask: 1
|
||||
AutoGen: true
|
||||
CoreVersion: 2
|
||||
DescVersion: 2
|
||||
Descriptor: |
|
||||
AAj0DwAABAACAAAAAAAFGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAAAAAABBUFQ6VQAAAGZz
|
||||
OlVTRVIAZ3NwOjpHcHVoaWQ6VVNFUmlyOnUAAAAAY2ZnOm5vcgBhYzppAAAA
|
||||
AGNmZzppAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
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
|
||||
HandleTableSize: 512
|
||||
IORegisterMapping:
|
||||
- 1ff50000-1ff57fff
|
||||
- 1ff70000-1ff77fff
|
||||
IdealProcessor: 1
|
||||
MemoryMapping:
|
||||
- 1f000000-1f5fffff:r
|
||||
MemoryType: Application
|
||||
Priority: 24
|
||||
ProgramId: 0x000400000ff40800L
|
||||
ServiceAccessControl:
|
||||
- APT:U
|
||||
- fs:USER
|
||||
- gsp::Gpu
|
||||
- hid:USER
|
||||
- ir:u
|
||||
- cfg:nor
|
||||
- ac:i
|
||||
- cfg:i
|
||||
Signature: |
|
||||
4VhUoq3Mqc0x5Fi8iQykB4z2aiW9sczKjqZlfvelO5wX2zDWcpiJXtQiyYqn
|
||||
ILe2U2a+RtE5LM2mxDN9vrPZQnjvtX2TyDqMAPaNsYgMC3ew20S9rh8mfutg
|
||||
wnuI6WSux6FV5iHBD+Do9FmtZdJzYu88WFvHMl7TahQCVf21doBwdl6F3DEC
|
||||
Qlk4tviw20gLW9vwxCR8NAF59Ghk68qTtFdgGRJVYJNoeoSbqFIOBJFmkGrJ
|
||||
FaxjJW/mUCHLBGdTQfyPc5aLhzN0R1lt9dk3doBHaFIAWM7GAkcmy8qdX7RS
|
||||
0Z/r5c5GK8Jzx9XMoPagj4zKfGpyfZXhYd+EAWxOqw==
|
||||
StorageId:
|
||||
- 0
|
||||
CommonHeaderKey:
|
||||
D: |
|
||||
D3Cu9+6bqGoorSogNmM3vPpz7qPJfFKv3JFEb5cxfaybaqhJSx4HWR5H4bbL
|
||||
rFcz1v/6jSP1Xkp3td4gqrYiVL+Kkl+L+83/OCpL0OpkfVNsbCAZINyoEHrs
|
||||
opkvMqtUJIpkEYs4LWkHB7VpiV7Haer8W3jsrqBR+/eYKHQyqVx72XuVCLhg
|
||||
I1b+o0NiK67AVHEsfjpXDCeUZbIMlCut3hz4zOAlwq697Qu4Y8XUGGoTz8I+
|
||||
PrREf4mlrqS29ENvdsMRI8OiTsEPpi751wYyDaJB2z/BL6EbKYdXR1hzzapw
|
||||
aTwut6HQ40Mvs/yqt/AxQvUqFbEBzn8luxuc4bGcIQ==
|
||||
DP: |
|
||||
kzb6QB4TiVPBukUEXzQ1TxflVqGMbtKikKmjw2baidS0VYk+6UU7zYaXkhdp
|
||||
OTJ5wbj1V89GVGXXnjDivMMEW8NHrhK9OV16xoZ6f+nHMl7sKpbrUzzHLmNc
|
||||
WCqcF/zuxRNzPQy5pGBZRfmOpy+YLPvYTzHm6Y695KCsAwZyDEU=
|
||||
DQ: |
|
||||
GavIS8lKa9CiZ6H+enfoTLzBQpuclj3ANGW84tVBWCD1C7cmKPjIdzxDvPYf
|
||||
U41QihWkEzYZP5WjiIImyyZnGv9pqq4U5xLiPCATb38+Dx+s6mDLC2uCadO1
|
||||
YDIlUcdalVAawaMb3FdpTrD4B4Cb8qo5Yy8siryzaV5fkiPPDZk=
|
||||
Exponent: |
|
||||
AQAB
|
||||
InverseQ: |
|
||||
wdFYdkiLWVSzz1vexcaOP9TmhO4glb6mK6NbBqzgCUdW2dIx885kCcA+mXeO
|
||||
lSDrd2URD4oES/kJxnGxLNWJixe8fBT3ni/e2LKJKfGTGHzfHviczDME8wEN
|
||||
MWiBee9ox1dPRp3rpUuy4ct4Zus5NnUSJ1AIz/BArfBIQWKbcno=
|
||||
Modulus: |
|
||||
zo2Hh+UDw3p95oqMmCNvk2xE006L8jarQTi/7WCtUyTK7BM6O9l1r+zSfDHR
|
||||
3Y6dZ4I/6i8OfOHZPm/a1n+pnYs5vOj5VGRHmT2A+lCmyPho59U3SMffqTPy
|
||||
s7/sjaPdFiHJ9t7NmzWwgWhrX7JI4XONKoz+W0pkPb56YpKVOAhW580VvCdI
|
||||
eRgGdL/iitxgsMQ1MQuOh9TkBubN0vBa57Q4/YYrqWiV8mgRbxSbu7sPr7Rp
|
||||
xOU4FO5AJhB0pSYvQ8vbHHCIjYj8ddvaqHEfwjDkW+G5qpz4z7/PSA0PLcjz
|
||||
lzgl4GzsIYUv5WXzSGDQbqFt4BZZQG8y83e/7AlLxQ==
|
||||
P: |
|
||||
5wpTk5d8j2xATucrbE9B1IrxP1BxlivKvBHz1NVZr6AoeXco3MT27O5CWPh5
|
||||
SbEeooiwtTG/ybwQFh8izNo5oXRbpU8oYbX7c4XptlONVm72u+RA0u+ajHzn
|
||||
0ysBpxpfHpxKbSIoIu5ZL/BVolpxuQWttjDr3tta6pPhvQi+Dz0=
|
||||
Q: |
|
||||
5N35gescsxufwKHNPbBYwc3aBLJqj1otjnfGEh0wj0gGSr3c1KzsHY6koGZl
|
||||
Zk3Ne4f/ePQ11Cax5GhP3VsTp8VgpKUOj/W8wLvDHFYkXsjxVyhFzA9jDfga
|
||||
C8EWvPwlomnwzqXjxb82gUfelY/GKjbREeKHQgl6Rg+Qk8bJ9yk=
|
||||
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
|
||||
socket: 0x0004013000002e02L
|
||||
spi: 0x0004013000002302L
|
||||
ssl: 0x0004013000002f02L
|
||||
StackSize: 16384
|
||||
@ -1,39 +0,0 @@
|
||||
BasicInfo:
|
||||
Title : ConfigViewer
|
||||
ProductCode: ConfigViewer
|
||||
BackupMemoryType: None
|
||||
|
||||
TitleInfo:
|
||||
Use: Evaluation
|
||||
Category: Application
|
||||
UniqueId: 0xff408
|
||||
Version: 0
|
||||
|
||||
SystemControlInfo:
|
||||
AppType : Application
|
||||
StackSize : 0x4000
|
||||
Dependency :
|
||||
- gpio
|
||||
- pdn
|
||||
- spi
|
||||
- i2c
|
||||
- mcu
|
||||
- ptm
|
||||
- cfg
|
||||
- hid
|
||||
- gsp
|
||||
|
||||
AccessControlInfo:
|
||||
Priority : 16
|
||||
DisableDebug : true
|
||||
FileSystemAccess:
|
||||
- DirectSdmc
|
||||
|
||||
Option:
|
||||
FreeProductCode: true
|
||||
|
||||
Rom:
|
||||
# ROMに含めるファイルのルートを記述します。
|
||||
# このパス以下のファイルは、ROMに含まれファイルシステムから読み込めます。
|
||||
HostRoot : romfiles
|
||||
|
||||
@ -13,15 +13,18 @@
|
||||
#
|
||||
# $Revision$
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
SUPPORTED_TARGETS = CTR-T*.Process.MPCore.*
|
||||
|
||||
CTR_APPTYPE = CARD
|
||||
SUPPORTED_TARGETS = CTR-T*.Process.MPCore.fast
|
||||
CTR_APPTYPE = CARD
|
||||
|
||||
SAMPLED_DEMOS_COMMON_INCLUDE_DIR = $(dir $(HORIZON_ROOT)/../CTR/SampleDemos/common/include)
|
||||
INCLUDES += $(SAMPLED_DEMOS_COMMON_INCLUDE_DIR) \
|
||||
../common
|
||||
|
||||
include $(HORIZON_ROOT)/include/nn/CTR/CTR_Version.inc
|
||||
FIRM_VERSION = $(getvar global.NN_CTR_VERSIOIN_NATIVE_FIRM)
|
||||
MAKEROMFLAGS += -DFIRM_VERSION=$(FIRM_VERSION)
|
||||
|
||||
CTR_BANNER_SPEC = ConsoleBackup.bsf
|
||||
|
||||
SOURCES[] =
|
||||
main.cpp
|
||||
@ -33,12 +36,11 @@ INCLUDES += include
|
||||
LIBS += lib_demo libnn_driversCal libnn_driversEeprom libnn_i2c
|
||||
|
||||
# RSF
|
||||
ROM_SPEC_FILE = ConfigViewer.rsf
|
||||
ROM_SPEC_FILE = $(HORIZON_ROOT)/sources/tools/Config/Config.rsf
|
||||
|
||||
# DESC
|
||||
DESCRIPTOR = ConfigViewer.autogen.desc
|
||||
DESCRIPTOR = $(HORIZON_ROOT)/sources/tools/Config/Config.autogen.desc
|
||||
|
||||
CTR_BANNER_SPEC = ConsoleBackup.bsf
|
||||
|
||||
include $(ROOT_OMAKE)/modulerules
|
||||
|
||||
|
||||
@ -14,7 +14,10 @@
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
#include <nn.h>
|
||||
#include <nn/srv.h>
|
||||
#include <nn/applet.h>
|
||||
#include <nn/fs/CTR/fs_ArchiveTypesForSystem.h>
|
||||
#include <nn/fs/CTR/MPCore/fs_FileSystemBasePrivate.h>
|
||||
#include <nn/drivers/cal/CTR/cal_Api.h>
|
||||
#include <nn/cfg.h>
|
||||
#include <nn/cfg/CTR/cfg_Api.h>
|
||||
@ -83,6 +86,15 @@ void Finalize()
|
||||
|
||||
extern "C" void nnMain()
|
||||
{
|
||||
nn::Result result;
|
||||
|
||||
// os の初期化
|
||||
nn::os::Initialize();
|
||||
|
||||
// ServiceManagerプロセスの初期化
|
||||
result = nn::srv::Initialize();
|
||||
HANDLE_ERROR(result);
|
||||
|
||||
nn::applet::Enable();
|
||||
|
||||
NN_LOG("FlickerCalCollector start\n");
|
||||
@ -98,38 +110,19 @@ extern "C" void nnMain()
|
||||
s_RenderSystem.SetClearColor(NN_GX_DISPLAY0, 0, 0, 0, 1);
|
||||
s_RenderSystem.SetColor(1, 1, 1);
|
||||
|
||||
nn::Result result;
|
||||
|
||||
// fs の初期化
|
||||
nn::fs::Initialize();
|
||||
|
||||
// cfg の初期化
|
||||
nn::cfg::CTR::init::Initialize();
|
||||
|
||||
// SDカードマウント
|
||||
result = nn::fs::MountSdmc();
|
||||
HANDLE_ERROR(result);
|
||||
nn::fs::FileOutputStream file;
|
||||
|
||||
result = file.TryInitialize(LOG_FILE_PATH, true);
|
||||
HANDLE_ERROR(result);
|
||||
|
||||
s64 fileSize;
|
||||
fileSize = file.GetSize();
|
||||
NN_LOG("fileSize = %lld", fileSize);
|
||||
result = file.TrySetPosition(fileSize);
|
||||
HANDLE_ERROR(result);
|
||||
|
||||
// シリアルナンバーの取得
|
||||
std::memset(s_SerialNo, '\0',
|
||||
nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN);
|
||||
result = nn::cfg::CTR::init::GetSerialNo(s_SerialNo);
|
||||
HANDLE_ERROR(result);
|
||||
if(result.IsSuccess())
|
||||
// NAND マウント
|
||||
// nand:/ro/ のマウント
|
||||
result = nn::fs::MountSpecialArchive("nandro:", nn::fs::CTR::ARCHIVE_TYPE_CTR_NAND_RO);
|
||||
if ( result.IsFailure() )
|
||||
{
|
||||
s_CanReadSerialNumber = true;
|
||||
NN_LOG_WARN("[CFG] Mount nand:/ro failed.\n");
|
||||
nn::dbg::PrintResult(result);
|
||||
}
|
||||
|
||||
NN_LOG("Before %d, %d\n", s_LcdFlickerInfo.vcomTop, s_LcdFlickerInfo.vcomBottom);
|
||||
// cal の情報取得
|
||||
{
|
||||
nn::drivers::cal::CTR::Calibration calibration;
|
||||
@ -146,11 +139,38 @@ extern "C" void nnMain()
|
||||
s_LcdFlickerInfoIsValid = calibration.Get(&s_LcdFlickerInfo, currentCalType);
|
||||
}
|
||||
|
||||
// SDカードマウント
|
||||
result = nn::fs::MountSdmc();
|
||||
HANDLE_ERROR(result);
|
||||
nn::fs::FileOutputStream file;
|
||||
|
||||
result = file.TryInitialize(LOG_FILE_PATH, true);
|
||||
HANDLE_ERROR(result);
|
||||
|
||||
s64 fileSize;
|
||||
fileSize = file.GetSize();
|
||||
NN_LOG("fileSize = %lld\n", fileSize);
|
||||
result = file.TrySetPosition(fileSize);
|
||||
HANDLE_ERROR(result);
|
||||
|
||||
// cfg の初期化
|
||||
nn::cfg::CTR::init::Initialize();
|
||||
|
||||
// シリアルナンバーの取得
|
||||
std::memset(s_SerialNo, '\0',
|
||||
nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN);
|
||||
result = nn::cfg::CTR::init::GetSerialNo(s_SerialNo);
|
||||
HANDLE_ERROR(result);
|
||||
if(result.IsSuccess())
|
||||
{
|
||||
s_CanReadSerialNumber = true;
|
||||
}
|
||||
|
||||
if(s_LcdFlickerInfoIsValid)
|
||||
{
|
||||
s32 writeSize;
|
||||
char writeData[256];
|
||||
nn::nstd::TSNPrintf(writeData, sizeof(writeData), "%s, %d, %d\n", s_SerialNo, s_LcdFlickerInfo.vcomTop, s_LcdFlickerInfo.vcomBottom);
|
||||
nn::nstd::TSNPrintf(writeData, sizeof(writeData), "%s, %0x, %0x\n", s_SerialNo, s_LcdFlickerInfo.vcomTop, s_LcdFlickerInfo.vcomBottom);
|
||||
NN_LOG("%s", writeData);
|
||||
// SD書き込み
|
||||
result = file.TryWrite(&writeSize, writeData, std::strlen(writeData), true);
|
||||
@ -160,6 +180,7 @@ extern "C" void nnMain()
|
||||
|
||||
file.Finalize();
|
||||
}
|
||||
NN_LOG("After %0x, %0x\n", s_LcdFlickerInfo.vcomTop, s_LcdFlickerInfo.vcomBottom);
|
||||
|
||||
u32 count = 0;
|
||||
for (;;)
|
||||
@ -174,7 +195,7 @@ extern "C" void nnMain()
|
||||
s_RenderSystem.DrawText(0, 10, "serial = %s", s_SerialNo);
|
||||
}
|
||||
s_RenderSystem.DrawText(0, 20, "calVersion = %d\n", s_CalVersion);
|
||||
s_RenderSystem.DrawText(0, 30, "Flicker = %d, %d", s_LcdFlickerInfo.vcomTop, s_LcdFlickerInfo.vcomBottom);
|
||||
s_RenderSystem.DrawText(0, 30, "Flicker = %0x, %0x", s_LcdFlickerInfo.vcomTop, s_LcdFlickerInfo.vcomBottom);
|
||||
s_RenderSystem.SwapBuffers();
|
||||
|
||||
s_RenderSystem.SetRenderTarget(NN_GX_DISPLAY1);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user