ROM Hack Built a UnityForN3DS Demo -> crashes on (N)3DS before 3DS Boot Logo

xXDungeon_CrawlerXx

Well-Known Member
OP
Member
Joined
Jul 29, 2015
Messages
2,092
Trophies
1
Age
28
Location
Liverpool
XP
3,724
Country
Hey Guys,

I tried to build a Example Demo with UnityForN3DS but everytime I try to boot it on N3DS, it crashes before the 3DS Boot Logo shows up.
I really don't know why :/

unityforn3ds13irsm.jpg
unityforn3ds2owr8o.jpg

After I built the Game for (N)3DS, I got a .cci-file.
It is dev-encrypted so I used Decrypt9 "NCCH/NCSD Decryptor" to decrypt the cci-file.
Decrypting worked fine. exheader, exefs and romfs are decrypted
unityforn3ds3w8yfj.png

I converted the decrypted CCI with "makerom -ccitocia".
Cia creation was successful. So I installed it with DevMenu on my N3DS with A9LH, AuReiNAND-CFW and EmuNAND with Firmware 11.0.
Installation worked, too.
But when I try to start it (through HomeMenu or DevMenu), it crashes before the 3DS Boot Logo shows up.
3ds_crash_1301348617.jpg

Does anyone know why it won't work?
Would upload the cci because I made it by myself but I'm not sure if this is allowed on GBATemp.
 
Last edited by xXDungeon_CrawlerXx,

zoogie

playing around in the end of life
Developer
Joined
Nov 30, 2014
Messages
8,560
Trophies
2
XP
15,000
Country
Micronesia, Federated States of
-cci2cia or it's cousin always produce junk.

That error is likely caused by cci2cia not bothering to switch the onSD flag. It's really poorly done, you're going to need a proper .rsf
 
Last edited by zoogie,

xXDungeon_CrawlerXx

Well-Known Member
OP
Member
Joined
Jul 29, 2015
Messages
2,092
Trophies
1
Age
28
Location
Liverpool
XP
3,724
Country
-cci2cia or it's cousin always produce junk.

That error is likely caused by cci2cia not bothering to switch the onSD flag. It's really poorly done, you're going to need a proper .rsf
Hm :/ Where can I get a proper .rsf for something like this?
And how can I convert the cci to a cia then?
 
Last edited by xXDungeon_CrawlerXx,

xXDungeon_CrawlerXx

Well-Known Member
OP
Member
Joined
Jul 29, 2015
Messages
2,092
Trophies
1
Age
28
Location
Liverpool
XP
3,724
Country
Okay, found a old tool I used a year ago or two, called "3ds_to_cia_v2.00".

I used the following RSF-File
Code:
BasicInfo:
  Title                   : "DisaHome" # 0x0 exheader.bin
  CompanyCode             : "00" # 0x1110 game.3ds
  ProductCode             : "CTR-P-UT2D" # 0x1150 game.3ds
  ContentType             : Application
  Logo                    : Nintendo

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

CardInfo:
  MediaType               : Card1 # Card1 / Card2

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

AccessControlInfo:
  ExtSaveDataId: 0x0000dc93 # 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: 1M # plaintext exheader / 0x1C0 exheader.bin
  RemasterVersion: 0000 # 0xE exheader.bin
  StackSize: 0x00000000 # 0x1C exheader.bin

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
PlainRegion: # only used with SDK ELFs
- .module_id
AccessControlInfo:
  #UseExtSaveData : true
  #UseOtherVariationSaveData : false
  #ExtSaveDataId: 0xff40a
  #SystemSaveDataId1: 0x00000000
  #SystemSaveDataId2: 0x00000000
  #OtherUserSaveDataId1: 0x00000
  #OtherUserSaveDataId2: 0x00000
  #OtherUserSaveDataId3: 0x00000
  FileSystemAccess:
  - CategorySystemApplication
  - CategoryFileSystemTool
  - Debug
  #- TwlCardBackup
  #- TwlNandData
  #- Boss
  - DirectSdmc
  - SaveDataMove
  IdealProcessor                : 0
  AffinityMask                  : 1
  Priority                      : 16
  MaxCpu                        : 0x9E # Default
  DisableDebug                  : true
  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
  - am:app
  - am:u
  - pm:app
  - ns:s
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

RomInfo:
enlogowjky4.png



I made a step forward but now it hangs on the 3DS Boot Logo. Any Idea?

Btw. The CCI-FIle had a Size of 22.620kb, the created cia has a filesize of 14.181kb. Is that okay? I think it's because of compression
 
Last edited by xXDungeon_CrawlerXx,

Asia81

Yuri Lover ~
Member
Joined
Nov 15, 2014
Messages
6,662
Trophies
3
Age
29
XP
3,532
Country
France
You can't try to use 3DS Simple CIA Converter in te encrypted .3ds and turn it in CIA?

If the CIA is not too big, send me it, I can try for the fun
 

xXDungeon_CrawlerXx

Well-Known Member
OP
Member
Joined
Jul 29, 2015
Messages
2,092
Trophies
1
Age
28
Location
Liverpool
XP
3,724
Country
You can't try to use 3DS Simple CIA Converter in te encrypted .3ds and turn it in CIA?

If the CIA is not too big, send me it, I can try for the fun
encrypted .3ds? just have a encrypted .cci^^
plugging my own tools ;p

for 3DS/CCI -> CIA, you can use my script: https://github.com/ihaveamac/3dsconv/releases
no RSF files or anything weird are used. try seeing if your converted CIA works after that. make sure makerom is in your PATH, or the same folder on Windows
Will try this
 

xXDungeon_CrawlerXx

Well-Known Member
OP
Member
Joined
Jul 29, 2015
Messages
2,092
Trophies
1
Age
28
Location
Liverpool
XP
3,724
Country
D

Deleted User

Guest
Question... does Unity usually hang on "Run IL2CPP" for a very long time or something? Because it's taking a lot of time for some reason...
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Lmao now I can live the life of Juan...