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:
N2614 2011-08-31 08:40:06 +00:00
parent f0be6ba2c0
commit 9ec504401b
4 changed files with 58 additions and 283 deletions

View File

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

View File

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

View File

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

View File

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