convert .3ds to .cia with just an exheader xorpad (old crappy method)
3ds-to-cia-quick.sh
# Manual and DLPChild for some reason don't work.
# it must be a make_cia issue since I tried using makerom and hex editing and it worked fine
if [ !-f'$1' ];then
echo'no'
exit 1
fi
rm 0.cxi ncch.header exheader.bin exefs.bin romfs.bin logo.bcma.lz plain.bin converted.cia
EXHXOR=$(python2 get-exh-xorpad.py '$1')
3dstool -xvt012f cci orig.cxi manual.cfa dlpchild.cfa '$1'
3dstool -xvtf cxi orig.cxi --header ncch.header --exh exheader.bin --exh-xor $EXHXOR --exefs exefs.bin --romfs romfs.bin --logo logo.bcma.lz --plain plain.bin
if [ -s logo.bcma.lz ];then
USELOGO='--logo logo.bcma.lz'
fi
if [ -s manual.cfa ];then
USEMANUAL='--content1=manual.cfa --id_1=00000001 --index_1=0001'
fi
if [ -s dlpchild.cfa ];then
USEDLPCHILD='--content2=dlpchild.cfa --id_2=00000002 --index_2=0002'
fi
#cp exheader.bin exheader-old.bin
python2 exh-patch.py exheader.bin
3dstool -cvtf cxi conv.cxi --header ncch.header --exh exheader.bin --exh-xor $EXHXOR --exefs exefs.bin --romfs romfs.bin $USELOGO --plain plain.bin --not-update-exefs-hash --not-update-romfs-hash
make_cia --content0=conv.cxi --id_0=00000000 --index_0=0000 $USEMANUAL$USEDLPCHILD --savesize=$(python2 get-savesize.py exheader.bin) -o CONVERTED.cia
exh-patch.py
#!/usr/bin/env python2
importsys, os.path
iflen(sys.argv) !=2:
print('only need one argument for ExHeader')
sys.exit()
ifnotos.path.isfile(sys.argv[1]):
print('file doesn't exist')
sys.exit()
ifos.path.getsize(sys.argv[1]) !=0x800:
print('not 2048 bytes (ExHeader size)')
sys.exit()
f=open(sys.argv[1], 'r+b')
f.seek(0xD)
x=f.read(1)
y=ord(x)
print('original: '+hex(y))
y=y|2
print('shifted: '+hex(y))
f.seek(0xD)
f.write(chr(y))
f.close()

3ds To Cia Converter

get-exh-xorpad.py
#!/usr/bin/env python2
from __future__ importprint_function
importbinascii, sys, os.path
iflen(sys.argv) !=2:
print('only need one argument for rom')
sys.exit()
ifnotos.path.isfile(sys.argv[1]):
print('file doesn't exist')
sys.exit()
rom=open(sys.argv[1], 'rb')
rom.seek(0x190)
tid=binascii.hexlify(rom.read(8)[::-1])
print(tid.upper()+'.Main.exheader.xorpad', end=')
rom.close()

Once the process is complete, press Start to reboot your 3DS, and then power it off from the Home Menu.Extracting Content from the Game: -Use the 'Hans Pack' to extract from the.CIA file. Extract it into a folder called 'HansScripts for Mario Maker.' - Insert the SD card back into the computer, and navigate to 'SD:/files9/'.

3ds To Cia Converter File DoesnConverter
  • There comes a new tool-3DS/3DZ To CIA Converter V5.00, and it can convert the 3ds ROM file to cia file which can directly be installed with 3ds menu under the gateway emunand.And the converted games is installed in the 3DS SD card(including save). In other words, we donot need to read games from gateway 3ds red card after using this tool, which will be more convinent.
  • Solved a bug with some CIA files which caused crashes when selected in Filebrowser. Increased a lot Network Installation speed. Now when you select a CIA file in Filebrowser it will show Needed size to be installed and CIA version. Now NASA will generate automatically title.db and import.db if they don't exist.
  • Convert.3ds to.cia Insert your 3DS SD card into your PC Create a folder called in inside the /gm9/ folder on your SD card if it doesn’t exist already Copy your.3ds rom file to the /gm9/in/ folder on your SD card.
  • Restart 3ds Max to apply the change and try again The script tries to enable the 'Flip Green' checkbox of a VRayNormalMap. This fails either because (1) this parameter doesn't exist in your version of VRay, because you have either an older, or a newer, version than the script developer had, or because (2) your copy of VRay doesn't have.
3ds to cia converter file doesn
get-savesize.py
#!/usr/bin/env python2
from __future__ importprint_function
importbinascii, sys, os.path
iflen(sys.argv) !=2:
print('only need one argument for ExHeader')
sys.exit()
ifnotos.path.isfile(sys.argv[1]):
print('file doesn't exist')
sys.exit()
exh=open(sys.argv[1], 'rb')
exh.seek(0x1C0)
ss=binascii.hexlify(exh.read(8)[::-1])
print(int(ss, 16)/1024, end=')
exh.close()

Cia To 3ds File Converter

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment