Why does Citra not have .cia file support?

As far as I know, the normal emulator supports them. It’s just weird to me because .cia is the much more common file format compared to .3ds.

Did a quick Google search and Citra doesn’t seem to natively support .cia files. You apparently need to decrypt them first from what I was reading.

This was at the end but the stuff above it turned into a tutorial somehow so I’m moving it to the top:

Making CIAs usable in Tower (jank, non-native way)

The standalone program cant just raw dog run 'em but it does have the ability to install CIAs within the program though , which then gives you a .app file to use. It is a few more steps but if you install it in standalone Citra and then right click the game and hit “Open Application Location”–

image

–copy/pase the .app file and name it from ########.app to gamename.3ds it should show up in-game–

image

–and be playable.

(I don’t know how I managed to get the cursor from the plaza map to be stuck on my screen)

And then updates I believe you can just install in Citra and copy from the virtual NAND of Citra to Towers corresponding location. Such as C:\Users\Melonplex\AppData\Roaming\Citra\sdmc\Nintendo 3DS\D:\SteamLibrary\steamapps\common\Tower Unite\Tower\Libretro\Saves\Core\Citra\sdmc\Nintendo 3DS\ I’m not too sure but I think the .\00000000000000000000000000000000\00000000000000000000000000000000\title\0004000e folder is the one that has update files in case you don’t want to redundantly copy all your games again. Again, not sure.

Alternatively you could use something like MakeROM. If you trust running rando executables and running batch scripts from people on the internet, here’s a batch script that should automatically convert a bunch of CIAs for you. Just put this in the form of a .bat file and makerom.exe in the same folder as all your roms and it should go through, convert to cci, and then rename them to be .3ds.

Code
setlocal

rem Check if makerom.exe exists
where makerom.exe > nul 2>&1
if %errorlevel% neq 0 (
    echo makerom.exe not found.
    exit /b 1
)

rem Go through every .cia in current directory, convert to CCI with makerom, rename to use .3ds extension for Tower
for %%F in (*.cia) do (
    if exist "%%F" (
        echo Running makerom.exe -ciatocci %%F...
        makerom.exe -ciatocci "%%F"
		echo Renaming...
		ren "%%~dpnF.cci" "%%~nF.3ds"
    )
)

endlocal

3 Likes