Converting .3DS to .CIA for Dummies!

edit: I can't emphasize this enough.
If there are errors, check the guide under T5 first, then learn how to report from there ><


Converting .3DS/3DZ to .CIA Pictorial

Hopefully noob friendly!​

UPDATED! V5.1.4b @ UTC+8 2.45am 24-Nov-14:

Updated calling routine:​
Most questions all in front, so that users can doze off after​
Included the most recent exinjector & rsfgen.py​
Testing 32-bit compatibility​
Note: Haven't updated tutorial, but the prompts should be fool proof.​


Table of contents.
T1 - Disclaimer​
T2 - Basics​
T3 - Requirements​
_____What you need to know, what programs to have.
T4 - The Main Tutorial​
_____Steps 0, 1 & 2.
T5 - Reference code (and how to report errors)​
_____Reference code 1 - 5, Faux errors, how to report errors
T6 - [The not so] Frequently Asked Questions (FAQ)​
_____Is it region free, does .3DZ work, help w/ errors, what not to do
T7 - User Guides and Credits!!!​
_____Valiant effort by our community.
Control+Find the header number (eg: T5 ) to jump to the section!​



T1 - Disclaimer

gbaTEMP and I shall not be responsible for your own misdoing and misdeeds.
Use at your own risk! ;P

T2 - Basics

What are .cia files?​
Basically a somewhat stripped down decrypted version of .3DS files.​
You can't just rename .3DS > .CIA, you have to carry out a set of slightly complicated steps,​
which I have tried to get it dummified.​
Make sure you follow the steps concisely.​

Now, purpose of this tutorial is to guide users to convert 3DS games (not warez, not dev apps) to .CIA files for installation.​
Does not matter whether .3DS or .3DZ, and scene roms won't need to add 'header' to go online (GW users should know what's I'm talking about)​


T3 - Requirements

First off, these are the requirements:​
  1. Using a 3DS that is FW 4.1-4.5 (also known as FW 4.X)
    I recommend that these users get a Gateway 3DS.
    .
  2. A DS flashcart that works on your 3DS, for loading DS profile exploit
    Supercard DStwo or GW blue card (r4i) works.
    Gateway loader works fine. (cannot link you the link)
    .
  3. Install 2.7 Python. You can find it will a quick Google search.
    Or just download the one for your computer from here:
    https://www.python.org/download/releases/2.7/
    .
    ..
  4. This package.
    Paste it on your desktop, in a folder named "CIA"
    http://filetrip.net/3ds-downloads/utilities/download-quenopack-3ds-to-cia-5-1-4b-f33005.html

    Please the files in the folders they were in.
    The program reads the stuff based on the location!
    I will not provide the 7.x key. To find it, simply search the guy who leaked it. ><
    .
  5. A game backup (rom)
    .
  6. Patience, and not fearful of looking at folders with multiple items!
Okay, let's get started.



T4 - The Main Tutorial

Video Version:It's based on older revisions, but still counts.
Thanks to TeamNinja for uploading, and DrWhoJan who brought it to our attention!


Step 0: Tools usage and folder placement
Okay before we begin,
a short reminder: strictly please use only the tools I provided for this tutorial:
http://filetrip.net/3ds-downloads/utilities/download-quenopack-3ds-to-cia-5-1-4b-f33005.html

The folder layout and location of the files are to be the same,
as I have optimized the calling procedure of the .bats (the programs).

Unless you have a working understanding of reading those and modifying them to your liking,
I suggest you follow as I have provided :)

As an addition, follow the images to unblock the .rar, before unzipping:
2CnQzzS.jpg

Step 1: Decrypting the Rom
1a. Getting ncchinfo.bin
Go to CIA\Step 1
Paste your rom in this folder.
Rename it to "rom.3ds"

PL7i0Of.jpg


Drag the rom.3ds onto ctrKeyGen
A file called ncchinfo.bin will be in your directory.

PP2d2Vb.jpg


Now, go to CIA\For 3DS SD Card
Copy the launcher you use over to your 3DS SD card.
I will not provide slot0x25KeyX.bin, so find it yourself.
When you the value, HXD into a blank file, and save as slot0x25KeyX.bin
S5pjz4H.jpg


Also copy and paste ncchinfo.bin into the root of the 3DS SD card.

pxb4yYC.jpg


Now insert SD card back into your 3DS

1b. Getting xorpads
Go to your 3DS.
Run System Settings > Other Settings > Profile > Nintendo DS Profile
n0AavEQ.jpg

5Rc1S0H.jpg

NwOqJMT.jpg

2IjMk6y.jpg

The program will load and run.
Allow it to run until it tells you, that you can turn off your 3DS.

yLff9EH.jpg

YlpCabp.jpg


Once done, insert your SD card back on your computer.
Copy only these xorpads to this directory:
CIA\Step 2
Not every rom provides exefs_7x.xorpad. If you do see it, you must copy it!
Only copy manual.romfs.xorpad if you want to have a user manual option on home screen.

Fo9jCzq.jpg

If you game has Download Play support, and you want it,
copy this too:
5KvoodX.jpg

Step 2: Decrypting + Compiling the .cia!
Move rom.3DS to CIA\Step 2

XipcAm6.jpg


Drag and drop or Double click on 'decrypt and make.bat'

tLI1w0u.jpg


Hit enter, and it will run.
The latest update has all the questions at the start of the process,
so one may mostly doze off and wait after doing so.
The image that says it all!
VZ2EdYp.jpg


When you see this, you are at the end of the program!
If you see install.cia, it means you were successful!

WCurpGN.jpg

"But Queno138, I want to repack another rom, must I unpack again?"
No!
This feature allows you to repack, as long as you have the items there.
It's been around since, 2.0? I just never properly documented it.
5JC08On.jpg


After this image, go up to (continue)

Installation Success!
gCXgRFI.jpg

Custom rsf guide:
OeBfnFQ.jpg


T5 - Reference Codes (and how to report errors)


Reference codes has appeared in the batch program, for ease of referencing.

Genuine Errors
Reference code 1: Required .bins not located.
4KYeogO.jpg

If the required .bins for the operation is not found,
it means that either you deleted it, or it could not be extracted, due to decryption error.

Associated with (and fix):
1. Invalid slot0x25KeyX.bin for FW 7x games (refer to guide on how to acquire it correctly)
2. Files have been moved (kindly keep them in the same place as guide dictates)
3. Decryption error. (Delete everything and try again.)
4. Mismatched tools (Ensure you are using the tools provided)


Reference code 2: rom.3ds not located.
Uxw5lzg.jpg

Decryption cannot be done without the exact file, "rom.3ds"

Associated with (and fix):
1. rom name is not rom.3ds (Kindly rename the rom to rom.3ds)
2. rom not in folder (kindly place rom.3ds in Step 2)


Reference code 3: xorpad not located.
FR5pUbq.jpg

Xorpads are required for decryption

Associated with (and fix):
1. xorpad not named as per guide (simple, eg: 01.exefs_norm.xorpad)
2. xorpad not in directory (don't forget to transfer over the xorpad from 3DS SD card)


Reference code 4: Tools folder not found
R9j5cda.jpg

Tools are required for the operation.

Associated with (and fix):
1. Tools folder has been renamed. (It needs to be named "tools")
2. Tools folder has been moved. (Move it back to the original directory)
3. Tools folder lost. (Redownload and extract the whole package)


Reference code 5: Folders located before decryption
tWxh7lf.jpg

This message only pops up when you have chosen to decrypt a rom.

Associated with:
1. Exefs, Encrypted_bin, decrypted, xorpad folder exists. (delete them before decrypting new rom)
2. Selected choice by accident. (ignore, proceed to pack rom.)

Faux errors:
Some of the text displayed tends to scare users.
If you get any one of these, please don't report, as it's not an error.
VkD4En9.jpg

DcQ4XQY.jpg

Reference code not shown/code persists:
If code persists, or error with no code:
Do us a favor and save each other some time.
Before showing errors,
ensure that:
1. you downloaded the lastest package.
2. followed the tutorial to the latter
3. did not use express
If error still occurs:
1. What Game you are using
2. Inform me if you are using CFW or GW
3. Tell me what error you get in game (or if you don't reach there)
4. screenshot \exefs, \decrypted, \xorpads, \step 2
5. show me the error page on the normal bat

this way, easier for me to identify the error.


T6 - [The not so] Frequently Asked Questions (FAQ)


What must I not do?
Don't go into sysnand and check data management. (content will be deleted)
Don't forget to back up data when necessary (to prevent losing saves)
Don't forget to read T5 of my guide regarding errors. (to not plague this thread)
Don't format 3DS for no reason (I mean, imagine one day you need to upgrade, and can't connect to NNID or something)
Don't update firmware in CFW (cause it stops working)



How to install .cia files
What, you're here without knowing!?
Basically, get Devmenu or bigbluemenu (can't tell you where)​



Will I be able to delete them afterwards?
Devmenu and BBM has options for deleting them.​
Just don't delete your updates or important warez by mistake.​
Check the ID against http://3ds.essh.co/



Does this require FW 4.5 like other exploits
.....​
You think?​
</sarcasm> YES



Does this work with trimmed roms?
YES! (link)​



Does this work with FW 7.X games?
GW = YES!
CFW = NO.
And before you ask, if there were any workarounds​
(well, besides obviously getting a GW that is so worth it now),​
I'll be happy to share.​



Does your tutorial contain "region free and firmware spoofing"?
YES!


Does the package support download play?
YES!



Does this work with .3DZ?
YES!
After all, it's just a file extension. doesn't affect conversion.​



Does your tutorial contain "user manuals"
YES!



I have an existing save on Gateway. Why is it not on the .cia game?
Imagine the .cia game being like an eshop game.​
Every game comes with a new save.​



Are saves brought forward?
NO.
Because that's not how the mechanics of conversion works.​
Gateway makes the redcard 'find and see' the saves, not the homepage apps.​



What about nand saving/card2?
NO.
But ONLY for card2, you can use savefiler or save data transfer tool.​
If you were already playing your roms as a card2, go ahead and transfer :)



Why can't I modify to card2 then transfer?
By making it card2, you broke the header,​
which the 3DS will check if the save is corrupt before transfer.​
Based on the chain of events mentioned, it is considered corrupted.​



Can user manuals be repacked together?
YES!
Take note that if using different region game,​
enable region free.​



Does this work with VC roms?
NO (link) or YES? (link)​
Try it yourself!​



Does this conversion method work with Dev apps (devmenu and SDK stuff)
NO!
However, link to show you how to get them converted: (link)​



Do I need .rsf files?
Up to you. The batch program will generate one for you,​
but if you follow the prompt, you can insert your own.​
Not all work at the moment.​



Can I load games above 4.5 on CFW?
From what I know, some games require firmware spoofing​
and the FW6/7 games is a big NO



Where can I find slot0x25KeyX.bin/7.X keys?
Can't tell you where. But I know who has it (the guy you leaked it, duh)​
get it, type it in hex using HXD, save as slot0x25KeyX.bin​
Paste it into your SD card.​



Why do I see no errors but there is no .cia?
Most likely you are using express. IF you are noob, just don't.​
Chances are it's decryption or your key 7 is wrong.​
Go to section T5, it'll teach you something.​



It says not enough memory, why? I have x GB ram.
Well, your computer probably already runs a lot of processes,​
and packing the rom can take up to 2-3x it's original size.​

Don't tell me you got 16GB ram.​
Just go o into safe mode, and launch the .bat there.​
As long as the folders are still there,​
you can choose to continue with repacking, without re-depacking.​
If it still doesn't work,​
rename _makerom.exe to makerom.exe and try again.​
I've already added a new makerom to circumnavigate that,​
but I still recommend keeping your processes low.​



Help, can't drag and drop on python
try either option:​
put this into a .bat
Code:
c:\Python27\python.exe" ctrKeyGen.py %1
then drag and drop the rom.3ds onto the .bat

Or

Code:
regedit
 
[HKEY_CLASSES_ROOT\Python.File\shellex\DropHandler]@="{60254CA5-953B-11CF-8C96-00AA00B8708C}"
 
[HKEY_CLASSES_ROOT\Python.NoConFile\shellex\DropHandler]@="{60254CA5-953B-11CF-8C96-00AA00B8708C}"
 
[HKEY_CLASSES_ROOT\Python.CompiledFile\shellex\Drop Handler]@="{60254CA5-953B-11CF-8C96-00AA00B8708C}"

What is the express.bat in your package
It's a program NOT for noobs.​
It doesn't ask questions; simply repacks if there are folders,​
decrypt and unpack if there are xorpads​
Doesn't prompt, just runs.​
It has some preset settings.​
It won't decrypt the whole romfs.bin. Creates its own rsf.​
Due to it's nature, error prompts might be skipped.​
So I repeat,​
It's a program NOT for noobs.​



Help, my errors aren't resolved!
Do us a favor and save each other some time.​
Before showing errors,​
ensure that:​
1. you downloaded the lastest package.​
2. followed the tutorial to the latter​
3. did not use express​
If error still occurs:​
1. What Game you are using​
2. Inform me if you are using CFW or GW​
3. Tell me what error you get in game (or if you don't reach there)​
4. screenshot \exefs, \decrypted, \xorpads, \step 2​
5. show me the error page on the normal bat​
this way, easier for me to identify the error.​
Wondering if you have a faux error?​
Ctrl Find "T5"​

T7 - User Guides and Credits!!!


Palantine and the CFW and CIA guide that (almost) started it all!:​
gamesquest1; the first ever decrypting guide I could understand:​
ryanrocks462, which I also cross refer to:​
Versehell's also very comprehensive guide:​
Liomajor's first most automatic guide:​
piratesephiroth's Exinjector!​
Kyogre123's savedatafiler tutorial​
relys and the NCCH/SD programs!​
ground, whom I never spoke to, but I thank your efforts in Exheader research!​
Vappy's, rsfgen.py!​
Also to neimod, 3DSguy, 3Dbrew, and many others that slipped my mind!​
And last but not least,​
everyone on gbatemp :)


I'm not reinventing the wheel, I'm merely gathering all information into one.
 

Argeoff

Member
Newcomer
Joined
Jan 2, 2014
Messages
7
Trophies
0
Age
31
XP
105
Country
Senegal
Guys. Does cia games use the existing saves on the sd card? I gotten Phoenix Wright Dual Destinies to work but it doesn't read my save. Did i miss a step or something?
 

Queno138

Ravens
OP
Member
Joined
Sep 18, 2010
Messages
2,425
Trophies
0
Location
Luigi's Dark Mansion
XP
1,070
Country
Senegal
Guys. Does cia games use the existing saves on the sd card? I gotten Phoenix Wright Dual Destinies to work but it doesn't read my save. Did i miss a step or something?

Oi! Got read my tutorial properly a not?

you go see the FAQ leh, already tell you that saves not brought forward right.

Some people ah. aiya.

/singlish.
 
  • Like
Reactions: CraddaPoosta

fpen

Active Member
Newcomer
Joined
Nov 4, 2014
Messages
25
Trophies
0
Age
53
XP
53
Country
France
nobody can help me

for save probleme on pokemon X with cfw ,, animal crossing finally ok but pokemon X always save pb

see my rsfl files plsssssssssssss

BasicInfo:
Title : "Pokemon X" # 0x0 exheader.bin
CompanyCode : "01" # 0x1110 game.3ds
ProductCode : "CTR-P-EKJA" # 0x1150 game.3ds
ContentType : Application
Logo : Nintendo

TitleInfo:
UniqueId : 0x0000055d # 0x1108 game.3ds in little endian
Category : Application

CardInfo:
MediaType : Card2 # Card1 / Card2

Option:
UseOnSD : true
FreeProductCode : true # Removes limitations on ProductCode
EnableCrypt : false # Enables encryption for NCCH and CIA
MediaFootPadding : false # If true CCI files are created with padding
EnableCompress : false #Compresses exefs code

AccessControlInfo:
ExtSaveDataId: 0x0000055d # same as UniqueId
SystemSaveDataId1: 0x00000000 # plaintext exheader
SystemSaveDataId2: 0x00000000 # plaintext exheader
OtherUserSaveDataId1: 0x00000 # plaintext exheader
OtherUserSaveDataId2: 0x00000 # plaintext exheader
OtherUserSaveDataId3: 0x00000 # plaintext exheader
UseOtherVariationSaveData : false

SystemControlInfo:
SaveDataSize: 16M # plaintext exheader / 0x1C0 exheader.bin
RemasterVersion: 0000 # 0xE exheader.bin
StackSize: 0x00040000 # 0x1C exheader.bin

CardInfo:
MediaSize : 2G # 128MB / 256MB / 512MB / 1GB / 2GB / 4GB / 8GB / 16GB / 32GB #CHANGE ME
CardDevice : None # NorFlash / None #CHANGE ME

ExeFs: # these are the program segments from the ELF, check your elf for the appropriate segment names
ReadOnly:
- .rodata
- RO
ReadWrite:
- .data
- RO
Text:
- .init
- .text
- STUP_ENTRY

AccessControlInfo:
FileSystemAccess:
#- CategorySystemApplication
#- CategoryHardwareCheck
#- CategoryFileSystemTool
- Debug
#- TwlCardBackup
#- TwlNandData
#- Boss
- DirectSdmc
- DirectSdmcWrite
#- Core
#- CtrNandRo
#- CtrNandRw
#- CtrNandRoWrite
#- CategorySystemSettings
#- CardBoard
#- ExportImportIvs
#- DirectSdmcWrite
#- SwitchCleanup
#- SaveDataMove
#- Shop
#- Shell
#- CategoryHomeMenu
IoAccessControl:
#- FsMountNand
#- FsMountNandRoWrite
#- FsMountTwln
#- FsMountWnand
#- FsMountCardSpi
#- UseSdif3
#- CreateSeed
#- UseCardSpi

IdealProcessor : 0
AffinityMask : 1

Priority : 16

MaxCpu : 0x9E # Default

DisableDebug : false
EnableForceDebug : false
CanWriteSharedPage : false
CanUsePrivilegedPriority : false
CanUseNonAlphabetAndNumber : false
PermitMainFunctionArgument : false
CanShareDeviceMemory : false
RunnableOnSleep : false
SpecialMemoryArrange : false

CoreVersion : 2
DescVersion : 2

ReleaseKernelMajor : "02"
ReleaseKernelMinor : "33"
MemoryType : Application # Application / System / Base
HandleTableSize: 512
IORegisterMapping:
- 1ff50000-1ff57fff
- 1ff70000-1ff77fff
MemoryMapping:
- 1f000000-1f5fffff:r
SystemCallAccess:
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
GetProcessId: 53
GetProcessIdOfThread: 54
GetProcessIdealProcessor: 6
GetProcessInfo: 43
GetResourceLimit: 56
GetResourceLimitCurrentValues: 58
GetResourceLimitLimitValues: 57
GetSystemInfo: 42
GetSystemTick: 40
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
SetThreadPriority: 12
SetTimer: 27
SignalEvent: 24
SleepThread: 10
UnmapMemoryBlock: 32
WaitSynchronization1: 36
WaitSynchronizationN: 37
InterruptNumbers:
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
- ldr:ro
- ir:USER

SystemControlInfo:
#JumpId: 0
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
ir: 0x0004013000003302L
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
 

liomajor

Well-Known Member
Member
Joined
Jun 10, 2008
Messages
1,468
Trophies
0
XP
1,373
Country
United States
Currently working to read out exheader with a lot help from my friend who is giftet in coding skills :)

For the time beeing i've seperated regionfix from filling rsf.
 

Queno138

Ravens
OP
Member
Joined
Sep 18, 2010
Messages
2,425
Trophies
0
Location
Luigi's Dark Mansion
XP
1,070
Country
Senegal
The update data is always on 7,so i guess dlp should be always on 2, but you can try with ssf4 or super monkey ball 3d.

I tried the code on Mario kart
Eu one wouldn't allow local play,
Us one won't even let me boot the rom

For us, tried with scene and personal dump.
The manual however, loads fine.

Firmware spoofing was on for both,
Gonna off and try again later
 

liomajor

Well-Known Member
Member
Joined
Jun 10, 2008
Messages
1,468
Trophies
0
XP
1,373
Country
United States
Can someone post Animal Crossing RSF?

Animal Crossing needs uncompressed exefs, set it to false in rsf and 10M for saves.

Here is my eur version rsf:
Code:
BasicInfo:
  Title                  : "GARDEN00" #CHANGE ME
  CompanyCode            : "01" #CHANGE ME
  ProductCode            : "CTR-P-EGDP" #CHANGE ME
  ContentType            : Application # Application / SystemUpdate / Manual / Child / Trial
  Logo                    : Nintendo # Nintendo / Licensed / Distributed / iQue / iQueForSystem
 
TitleInfo:
  UniqueId                : 0x00000864 #CHANGE ME
  Category                : Application # Application / SystemApplication / Applet / Firmware / Base / DlpChild / Demo / Contents / SystemContents / SharedContents / AddOnContents / Patch / AutoUpdateContents
 
CardInfo:
  MediaSize              : 1GB # 128MB / 256MB / 512MB / 1GB / 2GB / 4GB / 8GB / 16GB / 32GB #CHANGE ME
  MediaType              : Card1 # Card1 / Card2 #CHANGE ME
  CardDevice              : NorFlash # NorFlash / None #CHANGE ME
 
 
Option:
  UseOnSD                : true # true if App is to be installed to SD #CHANGE ME
  EnableCompress          : false # Compresses exefs code #CHANGE ME
  FreeProductCode        : true # Removes limitations on ProductCode #CHANGE ME
  EnableCrypt            : false # Enables encryption for NCCH and CIA #CHANGE ME
  MediaFootPadding        : false # If true CCI files are created with padding #CHANGE ME
 
ExeFs: # these are the program segments from the ELF, check your elf for the appropriate segment names
  ReadOnly:
  - .rodata
  - RO
  ReadWrite:
  - .data
  - RO
  Text:
  - .init
  - .text
  - STUP_ENTRY
 
AccessControlInfo:
  UseOtherVariationSaveData : false
  #UseExtSaveData : true
  ExtSaveDataId: 0x00000864
  SystemSaveDataId1: 0x00000000
  SystemSaveDataId2: 0x00000000
  OtherUserSaveDataId1: 0x00000
  OtherUserSaveDataId2: 0x00000
  OtherUserSaveDataId3: 0x00000
  #UseExtendedSaveDataAccessControl: true
  #AccessibleSaveDataIds: [0x101, 0x202, 0x303, 0x404, 0x505, 0x606]
  FileSystemAccess:
  #- CategorySystemApplication
  #- CategoryHardwareCheck
  #- CategoryFileSystemTool
  - Debug
  #- TwlCardBackup
  #- TwlNandData
  #- Boss
  - DirectSdmc
  - DirectSdmcWrite
  #- Core
  #- CtrNandRo
  #- CtrNandRw
  #- CtrNandRoWrite
  #- CategorySystemSettings
  #- CardBoard
  #- ExportImportIvs
  #- DirectSdmcWrite
  #- SwitchCleanup
  #- SaveDataMove
  #- Shop
  #- Shell
  #- CategoryHomeMenu
  IoAccessControl:
  #- FsMountNand
  #- FsMountNandRoWrite
  #- FsMountTwln
  #- FsMountWnand
  #- FsMountCardSpi
  #- UseSdif3
  #- CreateSeed
  #- UseCardSpi
 
  IdealProcessor                : 0
  AffinityMask                  : 1
 
  Priority                      : 48
 
  MaxCpu                        : 0x9E # Default
 
  DisableDebug                  : false
  EnableForceDebug              : false
  CanWriteSharedPage            : false
  CanUsePrivilegedPriority      : false
  CanUseNonAlphabetAndNumber    : false
  PermitMainFunctionArgument    : false
  CanShareDeviceMemory          : false
  RunnableOnSleep              : false
  SpecialMemoryArrange          : false
 
  CoreVersion                  : 2
  DescVersion                  : 2
 
  ReleaseKernelMajor            : "02"
  ReleaseKernelMinor            : "33"
  MemoryType                    : Application # Application / System / Base
  HandleTableSize: 222
  IORegisterMapping:
  - 1ff50000-1ff57fff
  - 1ff70000-1ff77fff
  MemoryMapping:
  - 1f000000-1f5fffff:r
  SystemCallAccess:
    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
    GetProcessId: 53
    GetProcessIdOfThread: 54
    GetProcessIdealProcessor: 6
    GetProcessInfo: 43
    GetResourceLimit: 56
    GetResourceLimitCurrentValues: 58
    GetResourceLimitLimitValues: 57
    GetSystemInfo: 42
    GetSystemTick: 40
    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
    SetThreadPriority: 12
    SetTimer: 27
    SignalEvent: 24
    SleepThread: 10
    UnmapMemoryBlock: 32
    WaitSynchronization1: 36
    WaitSynchronizationN: 37
  InterruptNumbers:
  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
  - ldr:ro
  - ir:USER
  - nim:aoc
  - am:app
 
SystemControlInfo:
  SaveDataSize: 10M #CHANGE ME
  RemasterVersion: 3
  StackSize: 0x40000
  JumpId: 0x0004000000086400
  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
    ir: 0x0004013000003302L
    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

After checking a lot exheader, i can say:
Code:
Flag: 00 = Uncompressed EXEFS
Flag: 01 = Compressed EXEFS
Flag: 02 = Uncompressed EXEFS + SD
Flag: 03 = Compressed EXEFS + SD

Because we install the cia to SD, at least this will be always " true ".
 
  • Like
Reactions: fpen

Nuzzgok

Well-Known Member
Newcomer
Joined
Nov 7, 2014
Messages
74
Trophies
0
Age
28
XP
147
Country
You using gw or cfw?

What's the error your get?

If It's cfw, don't expect it to work

If It's not, follow error reporting procedure I mentioned under tutorial section T5

Pokemon ain't gonna work on CFW? No wonder I've tried everything and can't get it to save..
 
  • Like
Reactions: Queno138

fpen

Active Member
Newcomer
Joined
Nov 4, 2014
Messages
25
Trophies
0
Age
53
XP
53
Country
France
thanks for help

i have try 1m save issus


but this :
Flag: 00 = Uncompressed EXEFS
Flag: 01 = Compressed EXEFS
Flag: 02 = Uncompressed EXEFS + SD
Flag: 03 = Compressed EXEFS + SD


where i put this ???


thanks




Animal Crossing needs uncompressed exefs, set it to false in rsf and 10M for saves.

Here is my eur version rsf:
Code:
BasicInfo:
  Title                  : "GARDEN00" #CHANGE ME
  CompanyCode            : "01" #CHANGE ME
  ProductCode            : "CTR-P-EGDP" #CHANGE ME
  ContentType            : Application # Application / SystemUpdate / Manual / Child / Trial
  Logo                    : Nintendo # Nintendo / Licensed / Distributed / iQue / iQueForSystem
 
TitleInfo:
  UniqueId                : 0x00000864 #CHANGE ME
  Category                : Application # Application / SystemApplication / Applet / Firmware / Base / DlpChild / Demo / Contents / SystemContents / SharedContents / AddOnContents / Patch / AutoUpdateContents
 
CardInfo:
  MediaSize              : 1GB # 128MB / 256MB / 512MB / 1GB / 2GB / 4GB / 8GB / 16GB / 32GB #CHANGE ME
  MediaType              : Card1 # Card1 / Card2 #CHANGE ME
  CardDevice              : NorFlash # NorFlash / None #CHANGE ME
 
 
Option:
  UseOnSD                : true # true if App is to be installed to SD #CHANGE ME
  EnableCompress          : false # Compresses exefs code #CHANGE ME
  FreeProductCode        : true # Removes limitations on ProductCode #CHANGE ME
  EnableCrypt            : false # Enables encryption for NCCH and CIA #CHANGE ME
  MediaFootPadding        : false # If true CCI files are created with padding #CHANGE ME
 
ExeFs: # these are the program segments from the ELF, check your elf for the appropriate segment names
  ReadOnly:
  - .rodata
  - RO
  ReadWrite:
  - .data
  - RO
  Text:
  - .init
  - .text
  - STUP_ENTRY
 
AccessControlInfo:
  UseOtherVariationSaveData : false
  #UseExtSaveData : true
  ExtSaveDataId: 0x00000864
  SystemSaveDataId1: 0x00000000
  SystemSaveDataId2: 0x00000000
  OtherUserSaveDataId1: 0x00000
  OtherUserSaveDataId2: 0x00000
  OtherUserSaveDataId3: 0x00000
  #UseExtendedSaveDataAccessControl: true
  #AccessibleSaveDataIds: [0x101, 0x202, 0x303, 0x404, 0x505, 0x606]
  FileSystemAccess:
  #- CategorySystemApplication
  #- CategoryHardwareCheck
  #- CategoryFileSystemTool
  - Debug
  #- TwlCardBackup
  #- TwlNandData
  #- Boss
  - DirectSdmc
  - DirectSdmcWrite
  #- Core
  #- CtrNandRo
  #- CtrNandRw
  #- CtrNandRoWrite
  #- CategorySystemSettings
  #- CardBoard
  #- ExportImportIvs
  #- DirectSdmcWrite
  #- SwitchCleanup
  #- SaveDataMove
  #- Shop
  #- Shell
  #- CategoryHomeMenu
  IoAccessControl:
  #- FsMountNand
  #- FsMountNandRoWrite
  #- FsMountTwln
  #- FsMountWnand
  #- FsMountCardSpi
  #- UseSdif3
  #- CreateSeed
  #- UseCardSpi
 
  IdealProcessor                : 0
  AffinityMask                  : 1
 
  Priority                      : 48
 
  MaxCpu                        : 0x9E # Default
 
  DisableDebug                  : false
  EnableForceDebug              : false
  CanWriteSharedPage            : false
  CanUsePrivilegedPriority      : false
  CanUseNonAlphabetAndNumber    : false
  PermitMainFunctionArgument    : false
  CanShareDeviceMemory          : false
  RunnableOnSleep              : false
  SpecialMemoryArrange          : false
 
  CoreVersion                  : 2
  DescVersion                  : 2
 
  ReleaseKernelMajor            : "02"
  ReleaseKernelMinor            : "33"
  MemoryType                    : Application # Application / System / Base
  HandleTableSize: 222
  IORegisterMapping:
  - 1ff50000-1ff57fff
  - 1ff70000-1ff77fff
  MemoryMapping:
  - 1f000000-1f5fffff:r
  SystemCallAccess:
    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
    GetProcessId: 53
    GetProcessIdOfThread: 54
    GetProcessIdealProcessor: 6
    GetProcessInfo: 43
    GetResourceLimit: 56
    GetResourceLimitCurrentValues: 58
    GetResourceLimitLimitValues: 57
    GetSystemInfo: 42
    GetSystemTick: 40
    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
    SetThreadPriority: 12
    SetTimer: 27
    SignalEvent: 24
    SleepThread: 10
    UnmapMemoryBlock: 32
    WaitSynchronization1: 36
    WaitSynchronizationN: 37
  InterruptNumbers:
  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
  - ldr:ro
  - ir:USER
  - nim:aoc
  - am:app
 
SystemControlInfo:
  SaveDataSize: 10M #CHANGE ME
  RemasterVersion: 3
  StackSize: 0x40000
  JumpId: 0x0004000000086400
  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
    ir: 0x0004013000003302L
    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

After checking a lot exheader, i can say:
Code:
Flag: 00 = Uncompressed EXEFS
Flag: 01 = Compressed EXEFS
Flag: 02 = Uncompressed EXEFS + SD
Flag: 03 = Compressed EXEFS + SD

Because we install the cia to SD, at least this will be always " true ".
 

liomajor

Well-Known Member
Member
Joined
Jun 10, 2008
Messages
1,468
Trophies
0
XP
1,373
Country
United States
Here is some information how to create a good rsf file:

ctrtool -t exheader exheader.bin > exheader.txt
Code:
| EXHEADER.TXT                                        | RSF
 
Name:                  kujira-2                       : BasicInfo: Title
Flag:                  01 [compressed]                : Option: "EnableCompress" & "UseOnSD"
 
Flag: 00 = Uncompressed EXEFS                         : Option: EnableCompress : false & UseOnSD : false**
Flag: 01 = Compressed EXEFS                           : Option: EnableCompress : true  & UseOnSD : false**
Flag: 02 = Uncompressed EXEFS + SD                    : Option: EnableCompress : false & UseOnSD : true
Flag: 03 = Compressed EXEFS + SD                      : Option: EnableCompress : true  & UseOnSD : true
 
**Because we install the .cia to SD, it will always be " true "
 
Remaster version:      0000                           : SystemControlInfo: RemasterVersion:
Code text address:      0x00100000                    : unknown
Code text size:        0x0043BEDC                     : unknown
Code text max pages:    0x0000043C (0x0043C000)       : unknown
Code ro address:        0x0053C000                    : unknown
Code ro size:          0x00069A44                     : unknown
Code ro max pages:      0x0000006A (0x0006A000)       : unknown
Code data address:      0x005A6000                    : unknown
Code data size:        0x000440C0                     : unknown
Code data max pages:    0x00000045 (0x00045000)       : unknown
Code bss size:          0x00076858                    : unknown
Code stack size:        0x00040000                    : SystemControlInfo: StackSize:

Dependency:            0004013000002402               : Dependency: ac: 0x0004013000002402L
Dependency:            0004013000001502               : Dependency: am: 0x0004013000001502L
Dependency:            0004013000003402               : Dependency: boss: 0x0004013000003402L
Dependency:            0004013000001602               : Dependency: camera: 0x0004013000001602L
Dependency:            0004013000002602               : Dependency: cecd: 0x0004013000002602L
Dependency:            0004013000001702               : Dependency: cfg: 0x0004013000001702L
Dependency:            0004013000001802               : Dependency: codec: 0x0004013000001802L
Dependency:            0004013000002702               : Dependency: csnd: 0x0004013000002702L
Dependency:            0004013000002802               : Dependency: dlp: 0x0004013000002802L
Dependency:            0004013000001a02               : Dependency: dsp: 0x0004013000001a02L
Dependency:            0004013000003202               : Dependency: friends: 0x0004013000003202L
Dependency:            0004013000001b02               : Dependency: gpio: 0x0004013000001b02L
Dependency:            0004013000001c02               : Dependency: gsp: 0x0004013000001c02L
Dependency:            0004013000001d02               : Dependency: hid: 0x0004013000001d02L
Dependency:            0004013000002902               : Dependency: http: 0x0004013000002902L
Dependency:            0004013000001e02               : Dependency: i2c: 0x0004013000001e02L
Dependency:            0004013000003302               : Dependency: ir: 0x0004013000003302L
Dependency:            0004013000001f02               : Dependency: mcu: 0x0004013000001f02L
Dependency:            0004013000002002               : Dependency: mic: 0x0004013000002002L
Dependency:            0004013000002b02               : Dependency: ndm: 0x0004013000002b02L
Dependency:            0004013000003502               : Dependency: news: 0x0004013000003502L
Dependency:            0004013000002c02               : Dependency: nim: 0x0004013000002c02L
Dependency:            0004013000002d02               : Dependency: nwm: 0x0004013000002d02L
Dependency:            0004013000002102               : Dependency: pdn: 0x0004013000002102L
Dependency:            0004013000003102               : Dependency: ps: 0x0004013000003102L
Dependency:            0004013000002202               : Dependency: ptm: 0x0004013000002202L
Dependency:            0004013000003702               : Dependency: ro: 0x0004013000003702L
Dependency:            0004013000002e02               : Dependency: socket: 0x0004013000002e02L
Dependency:            0004013000002302               : Dependency: spi: 0x0004013000002302L
Dependency:            0004013000002f02               : Dependency: ssl: 0x0004013000002f02L
 
Savedata size:          1M                            : SystemControlInfo: SaveDataSize:
Jump id:                0004000000055e00              : SystemControlInfo: JumpId: 0x
Program id:            0004000000055e00
Core version:          0x2                            : CoreVersion :
System mode:            0x0                           : unknown
Ideal processor:        0                             : IdealProcessor :
Affinity mask:          1                             : AffinityMask :
Main thread priority:  48                             : Priority :
Ext savedata id:        0x0000055d                    : AccessControlInfo: ExtSaveDataId:
System savedata id 1:  0x00000000                     : AccessControlInfo: SystemSaveDataId1:
System savedata id 2:  0x00000000                     : AccessControlInfo: SystemSaveDataId2:
OtherUserSaveDataId1:  0x00000                        : AccessControlInfo: OtherUserSaveDataId1:
OtherUserSaveDataId2:  0x00000                        : AccessControlInfo: OtherUserSaveDataId2:
OtherUserSaveDataId3:  0x00000                        : AccessControlInfo: OtherUserSaveDataId3:
 
Accessible Savedata Ids:                              : AccessControlInfo: AccessibleSaveDataIds:
                                                        Listed ID's has to be set, example: [0x101, 0x202]
 
Other Variation Saves:  Inaccessible                  : AccessControlInfo: UseOtherVariationSaveData:
                                                        Inaccessible = false
                                                        Accessible  = true
 
Access info:            80000000000000                : unknown
> Direct SDMC                                         : FileSystemAccess: - DirectSdmc
                                           
                                                        Possible other keys:
                                                        - CategorySystemApplication
                                                        - CategoryHardwareCheck
                                                        - CategoryFileSystemTool
                                                        - Debug
                                                        - TwlCardBackup
                                                        - TwlNandData
                                                        - Boss
                                                        - DirectSdmc
                                                        - DirectSdmcWrite
                                                        - Core
                                                        - CtrNandRo
                                                        - CtrNandRw
                                                        - CtrNandRoWrite
                                                        - CategorySystemSettings
                                                        - CardBoard
                                                        - ExportImportIvs
                                                        - DirectSdmcWrite
                                                        - SwitchCleanup
                                                        - SaveDataMove
                                                        - Shop
                                                        - Shell
                                                        - CategoryHomeMenu
                                                        - FsMountNand
                                                        - FsMountNandRoWrite
                                                        - FsMountTwln
                                                        - FsMountWnand
                                                        - FsMountCardSpi
                                                        - UseSdif3
                                                        - CreateSeed
                                                        - UseCardSpi
 
Other attributes:      00                              : unknown
Mapping static address: 0x1FF50000 (RW)                : IORegisterMapping: (Start -1FF50000)
Mapping static address: 0x1FF58000 (RW)                : IORegisterMapping: (End 1ff57fff)
                                                       : Example: - 1ff50000-1ff57fff
                                         
Mapping static address: 0x1FF70000 (RW)                : IORegisterMapping: (Start -1FF70000)
Mapping static address: 0x1FF78000 (RW)                : IORegisterMapping: (End 1ff77fff)
                                                       : Example: - 1FF70000-1ff77fff
 
Mapping static address: 0x1F000000 (RO)                : MemoryMapping: (Start -1F000000)
Mapping static address: 0x1F600000 (RO)                : MemoryMapping: (End 1f5fffff)
                                                       : Example: - 1F000000-1f5fffff:r
 
Kernel flags:
> Allow debug:        YES                              : DisableDebug                  : false
                                                        (YES = FALSE - NO = TRUE)
                                             
> Force debug:        NO                               : EnableForceDebug              : false
> Allow non-alphanum:  NO                              : CanUseNonAlphabetAndNumber    : false
> Shared page writing: NO                              : CanWriteSharedPage            : false
> Privilege priority:  NO                              : CanUsePrivilegedPriority      : false
> Allow main() args:  NO                               : PermitMainFunctionArgument    : false
> Shared device mem:  NO                               : CanShareDeviceMemory          : false
> Runnable on sleep:  NO                               : RunnableOnSleep              : false
> Special memory:      NO                              : SpecialMemoryArrange          : false
                                                        (NO = FALSE - YES = TRUE)
                                             
> Memory type:        APPLICATION                      : MemoryType:
Handle table size:      0x200                          : HandleTableSize: 200
 
Kernel release version: 2.35                          : NOT-INSIDE-RSF
 
Allowed systemcalls:    0x01, 0x02, 0x03, 0x06, 0x08, 0x09, 0x0A, 0x0B  : unknown
                        0x0C, 0x0F, 0x11, 0x13, 0x14, 0x15, 0x16, 0x17  : unknown
                        0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F  : unknown
                        0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x27, 0x28  : unknown
                        0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30  : unknown
                        0x31, 0x32, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A  : unknown
                        0x3B, 0x3C, 0x3D                                : unknown
           
Allowed interrupts:    none                           : unknown
ARM9 Desc. version:    0x2                            : unknown
 
Mount NAND fs:          NO                            : FileSystemAccess: - FsMountNand
Mount NAND RO write fs: NO                            : FileSystemAccess: - FsMountNandRoWrite
Mount NAND TWL fs:      NO                            : FileSystemAccess: - FsMountTwln
Mount NAND W fs:        NO                            : FileSystemAccess: - FsMountWnand
Mount CARD SPI fs:      NO                            : FileSystemAccess: - FsMountCardSpi
Use SDIF3:              NO                            : FileSystemAccess: - UseSdif3
Create seed:            NO                            : FileSystemAccess: - CreateSeed
Use CARD SPI:          NO                             : FileSystemAccess: - UseCardSpi
 
SD Application:        NO                             : FileSystemAccess: - DirectSdmcWrite**
 
**Because we install the .cia to SD, it has to be set!
 
Use Direct SDMC:        YES                           : FileSystemAccess: - DirectSdmc
 
NO = not set, only if yes it will be added, in sample it should be disabled with a #
 
The following belongs to " ServiceAccessControl: ", simply add it to the .rsf
                                 
Service access:        APT:U
Service access:        $hioFIO
Service access:        $hostio0
Service access:        $hostio1
Service access:        ac:u
Service access:        boss:U
Service access:        cam:u
Service access:        cecd:u
Service access:        cfg:u
Service access:        dlp:FKCL
Service access:        dlp:SRVR
Service access:        dsp::DSP
Service access:        frd:u
Service access:        fs:USER
Service access:        gsp::Gpu
Service access:        hid:USER
Service access:        http:C
Service access:        mic:u
Service access:        ndm:u
Service access:        news:u
Service access:        nwm::UDS
Service access:        ptm:u
Service access:        pxi:dev
Service access:        soc:U
Service access:        ssl:C
Service access:        y2r:u
Service access:        ldr:ro
Service access:        ir:USER
 
Example:
        - APT:U
        - $hioFIO
        - $hostio0
        and so on...
 
Reslimit category:      00                            : unknown
 
The missing information, you can get from a sample.rsf and rom_tool -i <gamename>.3ds

unknown = either not listed in rsf, or not jet interpreted

Code:
| rom_tool -i <gamename.3ds>                        | RSF
 
Media Type:            CARD2                        : CardInfo: MediaType
  > Writable Region:
  - Offset:            0x3af80000
  - Size:              0x5080000 (80 MB)
Media Size:            1 GB (8 Gbit)                : CardInfo: MediaSize
CCI Data Size:        815 MB (0x32fa9200 bytes)
CCI File:
  > Size                1024 MB
  > Status              Malformed
Additional Device:    None
Partition Count:      3
Min 3DS Firm:          4.5.0-XE
Save Crypto:          2.2.0-4 KeyY Method
[+] CXI Partition
Product Code:          CTR-P-EGDP                  : BasicInfo: ProductCode
Company Code:          01                          : BasicInfo: CompanyCode
Unique ID:            00864                        : TitleInfo: UniqueId 0x00864
Build Type:            Release
SDK Version:          4.2.2 Release
Req. Kernel Version:  2.35-0
[+] CFA Partitions
E-Manual:              Yes
DLP Child:            No
Update Data:          Yes
[!] CCI is malformed
[*] Completed Successfully

PS: CardDevice : NorFlash = Card1 / None = Card2

Sample.rsf
Code:
BasicInfo:
  Title                  : "CtrApp"
  CompanyCode            : "00"
  ProductCode            : "CTR-P-CTAP"
  ContentType            : Application # Application / SystemUpdate / Manual / Child / Trial
  Logo                    : Nintendo # Nintendo / Licensed / Distributed / iQue / iQueForSystem
 
TitleInfo:
  UniqueId                : 0xff3ff
  Category                : Application # Application / SystemApplication / Applet / Firmware / Base / DlpChild / Demo / Contents / SystemContents / SharedContents / AddOnContents / Patch / AutoUpdateContents
 
CardInfo:
  MediaSize              : 128MB # 128MB / 256MB / 512MB / 1GB / 2GB / 4GB / 8GB / 16GB / 32GB
  MediaType              : Card1 # Card1 / Card2
  CardDevice              : NorFlash # NorFlash / None
 
 
Option:
  UseOnSD                : true # true if App is to be installed to SD
  EnableCompress          : true # Compresses exefs code
  FreeProductCode        : true # Removes limitations on ProductCode
  EnableCrypt            : false # Enables encryption for NCCH and CIA
  MediaFootPadding        : false # If true CCI files are created with padding
 
ExeFs: # these are the program segments from the ELF, check your elf for the appropriate segment names
  ReadOnly:
  - .rodata
  - RO
  ReadWrite:
  - .data
  - RO
  Text:
  - .init
  - .text
  - STUP_ENTRY
 
AccessControlInfo:
  #UseOtherVariationSaveData : true
  #UseExtSaveData : true
  #ExtSaveDataId: 0xffffffff
  #SystemSaveDataId1: 0x220
  #SystemSaveDataId2: 0x00040010
  #OtherUserSaveDataId1: 0x220
  #OtherUserSaveDataId2: 0x330
  #OtherUserSaveDataId3: 0x440
  #UseExtendedSaveDataAccessControl: true
  #AccessibleSaveDataIds: [0x101, 0x202, 0x303, 0x404, 0x505, 0x606]
  FileSystemAccess:
  #- CategorySystemApplication
  #- CategoryHardwareCheck
  #- CategoryFileSystemTool
  - Debug
  #- TwlCardBackup
  #- TwlNandData
  #- Boss
  - DirectSdmc
  - DirectSdmcWrite
  #- Core
  #- CtrNandRo
  #- CtrNandRw
  #- CtrNandRoWrite
  #- CategorySystemSettings
  #- CardBoard
  #- ExportImportIvs
  #- DirectSdmcWrite
  #- SwitchCleanup
  #- SaveDataMove
  #- Shop
  #- Shell
  #- CategoryHomeMenu
  IoAccessControl:
  #- FsMountNand
  #- FsMountNandRoWrite
  #- FsMountTwln
  #- FsMountWnand
  #- FsMountCardSpi
  #- UseSdif3
  #- CreateSeed
  #- UseCardSpi
 
  IdealProcessor                : 0
  AffinityMask                  : 1
 
  Priority                      : 16
 
  MaxCpu                        : 0x9E # Default
 
  DisableDebug                  : false
  EnableForceDebug              : false
  CanWriteSharedPage            : false
  CanUsePrivilegedPriority      : false
  CanUseNonAlphabetAndNumber    : false
  PermitMainFunctionArgument    : false
  CanShareDeviceMemory          : false
  RunnableOnSleep              : false
  SpecialMemoryArrange          : false
 
  CoreVersion                  : 2
  DescVersion                  : 2
 
  ReleaseKernelMajor            : "02"
  ReleaseKernelMinor            : "33"
  MemoryType                    : Application # Application / System / Base
  HandleTableSize: 512
  IORegisterMapping:
  - 1ff50000-1ff57fff
  - 1ff70000-1ff77fff
  MemoryMapping:
  - 1f000000-1f5fffff:r
  SystemCallAccess:
    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
    GetProcessId: 53
    GetProcessIdOfThread: 54
    GetProcessIdealProcessor: 6
    GetProcessInfo: 43
    GetResourceLimit: 56
    GetResourceLimitCurrentValues: 58
    GetResourceLimitLimitValues: 57
    GetSystemInfo: 42
    GetSystemTick: 40
    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
    SetThreadPriority: 12
    SetTimer: 27
    SignalEvent: 24
    SleepThread: 10
    UnmapMemoryBlock: 32
    WaitSynchronization1: 36
    WaitSynchronizationN: 37
  InterruptNumbers:
  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
  - ldr:ro
  - ir:USER
 
 
SystemControlInfo:
  SaveDataSize: 512KB
  RemasterVersion: 5
  StackSize: 0x40000
  #JumpId: 0
  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
    ir: 0x0004013000003302L
    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

All what left to do is, examine every games exheader.txt to build a good .rsf from sample!
 
  • Like
Reactions: Queno138

liomajor

Well-Known Member
Member
Joined
Jun 10, 2008
Messages
1,468
Trophies
0
XP
1,373
Country
United States
It should be possible using makerom, but the .rsf has to be 100% 1:1 from exheader.txt.

Using extracted romfs instead of romfs.bin is impossible using makerom 0.13

Last makerom with working extracted romfs was afaik 0.12.
 

nop90

Well-Known Member
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
3,136
Country
Italy
I'm a little bit confused.

In the tutorial I read:

Does the package support download play?
YES!
and
Can other users connect to me via Download Play?
At this moment, NO
The two statement seems in contrast. I'm wrong?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: 24,000 hmmmm lol