Skip to content

Commit 67e62de

Browse files
committed
fix ncchinfo.bin gen (flip title ID for counter), readme stuffs
1 parent 1add79b commit 67e62de

2 files changed

Lines changed: 10 additions & 4 deletions

File tree

3dsconv.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ def ncchinfoadd(rom):
140140
tid = romf.read(8)
141141
romf.seek(0x4000)
142142
keyY = romf.read(16)
143-
ncchinfolist.extend([tid + "\x01\x00\x00\x00\x00\x00\x00\x00" + keyY + "\x01\x00\x00\x00" + "\x00\x00\x00\x00" + "\x00\x00\x00\x00" + "\x00\x00\x00\x00" + tid + ("/%s.Main.exheader.xorpad" % binascii.hexlify(tid[::-1]).upper()).ljust(112, "\x00")])
143+
ncchinfolist.extend([tid[::-1] + "\x01\x00\x00\x00\x00\x00\x00\x00" + keyY + "\x01\x00\x00\x00" + "\x00\x00\x00\x00" + "\x00\x00\x00\x00" + "\x00\x00\x00\x00" + tid + ("/%s.Main.exheader.xorpad" % binascii.hexlify(tid[::-1]).upper()).ljust(112, "\x00")])
144144
romf.close()
145145

146146
# used from http://stackoverflow.com/questions/4566498/python-file-iterator-over-a-binary-file-with-newer-idiom

README.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# 3dsconv
2-
`3dsconv.py` is a Python script that "converts" a Nintendo 3DS rom (.3ds, .cci) to an installable CIA.
2+
`3dsconv.py` is a Python script that "converts" a Nintendo 3DS rom (.3ds, .cci) to an installable CIA (CTR Importable Archive).
33

44
It supports using only an ExHeader XORpad, as well as decrypted roms. The ExHeader XORpad name format is `<TITLEID>.Main.exheader.xorpad`.
55

@@ -8,7 +8,13 @@ It requires [make_cia](https://github.com/ihaveamac/ctr_toolkit) in the PATH.
88
This does not work with Python 3.x.
99

1010
## Generating XORpads
11-
If your rom is encrypted, you must generate ExHeader XORpads with a 3DS system and the ability to use Decrypt9. Use `--gen-ncchinfo` with the roms you want to generate them for. Place `ncchinfo.bin` at the root or `/Decrypt9` on your 3DS SD card, run Decrypt9, and go to "XORpad Generator Options" and "NCCH Padgen". XORpads can then be placed anywhere (use `--xorpads=<dir>` if it's not the current working directory)
11+
If your rom is encrypted, you must generate ExHeader XORpads with a 3DS system and the ability to use Decrypt9.
12+
13+
1. Use `--gen-ncchinfo` with the roms you want to generate them for.
14+
2. Place `ncchinfo.bin` at the root or `/Decrypt9` on your 3DS SD card.
15+
3. Run Decrypt9, and go to "XORpad Generator Options" and "NCCH Padgen".
16+
17+
XORpads can then be placed anywhere (use `--xorpads=<dir>` if it's not the current working directory)
1218

1319
## Usage
1420
```bash
@@ -20,7 +26,7 @@ python2 3dsconv.py [options] game.3ds [game.3ds ...]
2026
* `--gen-ncchinfo` - generate `ncchinfo.bin` for roms that don't have a valid xorpad
2127
* `--gen-ncch-all` - use with `--gen-ncchinfo` to generate an `ncchinfo.bin` for all roms
2228
* `--noconvert` - don't convert roms, useful if you just want to generate `ncchinfo.bin`
23-
* `--force` - run even if make_cia aren't found
29+
* `--force` - run even if make_cia isn't found
2430
* `--nocleanup` - don't remove temporary files once finished
2531
* `--verbose` - print more information
2632

0 commit comments

Comments
 (0)