So I've been working on this about a month or two ago, because I wanted a different way to convert ROMs to the CIA format for those who didn't want to use Wine or wanted something with source code. This is probably mostly replaced by ticket/titlekey/CDN stuff, but I figured it'd still be useful. Here is 3dsconv.py, a Python script intended for "advanced users" that allows you to convert Nintendo 3DS ROMs to CIAs entirely from the terminal, quickly and easily. Get the latest release (4.1) Please read the README and command output for more information. The only requirements are Python 3 in your PATH. pyaes needed for encryption. On Windows, the provided 3dsconv.exe can be used without Python or pyres. It was mainly designed to be put in your PATH so you can run it like any other command from anywhere, or to use in own scripts for automation or other purposes. Some of the features include... Completely offline conversion of any ROM, including encrypted if the ARM9 bootROM is supplied Supports Manual and Download Play Supports converting and automatically detects fully-decrypted, zerokey-encrypted, and encrypted ROMs Set specific output directory Free and open source (MIT license), so you can check it out and modify it however you wish Pure-Python including pyaes, making it very portable Source: https://github.com/ihaveamac/3dsconv All releases: https://github.com/ihaveamac/3dsconv/releases Please report bugs, requests, and other issues on GitHub or this thread. Include your operating system and game you converted (and if it was built using something like 3DS Builder).