Homebrew Way to build Homebrew CIA without RSF/Makerom?

YugamiSekai

Mr. Picross
OP
Member
Joined
Dec 24, 2014
Messages
2,015
Trophies
1
Age
22
XP
2,285
Country
United States
I seem to be having problems with Makerom, it says it's not responding and stops. Is there a way to make a homebrew CIA without it?

RSF for reference:
Code:
BasicInfo:
  Title                   : "TYRIAN"
  CompanyCode             : "00"
  ProductCode             : "TEST01"
  ContentType             : Application
  Logo                    : Nintendo # Nintendo / Licensed / Distributed / iQue / iQueForSystem

TitleInfo:
  UniqueId                : 0x0060B00P
  Category                : Application

CardInfo:
  MediaSize               : 128MB # 128MB / 256MB / 512MB / 1GB / 2GB / 4GB / 8GB / 16GB / 32GB
  MediaType               : Card1 # Card1 / Card2
  CardDevice              : None # NorFlash(Pick this if you use savedata) / None

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

#Rom:
  # Specifies the root path of the file system to include in the ROM.
  # HostRoot                : "romfs"

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
   # - 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                  : true
  EnableForceDebug              : false
  CanWriteSharedPage            : true
  CanUsePrivilegedPriority      : false
  CanUseNonAlphabetAndNumber    : true
  PermitMainFunctionArgument    : true
  CanShareDeviceMemory          : true
  RunnableOnSleep               : false
  SpecialMemoryArrange          : true
 
  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
    Backdoor: 123
    controlProcessMemory: 112
    StartInterProcessDma: 85
    FlushProcessDataCache: 84
    InvalidateProcessDataCache: 82
    GetDmaState: 87
    OpenProcess: 51
  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
   - ir:u
   - mic:u
   - ndm:u
   - news:u
   - nwm::UDS
   - ptm:u
   - pxi:dev
   - soc:U
   - ssl:C
   - y2r:u
   - am:u
   - cfg:nor
   - csnd:SND

SystemControlInfo:
  SaveDataSize: 0KB # It doesn't use any save data.
  RemasterVersion: 2
  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
 

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,471
Trophies
3
XP
29,138
Country
United States
still don't understand how to get the rsf. it's supplied with sonic mania and your example. it errors without it iirc.
 

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
23,295
Trophies
4
Location
Space
XP
13,852
Country
Norway
still don't understand how to get the rsf. it's supplied with sonic mania and your example. it errors without it iirc.
I took one from an existing homebrew that had cia building built in to the makefile, and just modified it to fit my needs. It's very difficult to make one from scratch, the format isn't well documented as it's based on leaked Nintendo SDK stuff.
 
  • Like
Reactions: godreborn

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Nut on the hill