Commit Graph

384 Commits

Author SHA1 Message Date
Jack
02f2411d1a Bump makerom version to 0.18.5
Some checks failed
Compile CTRTool (on master branch) / Compile ${{ matrix.prog }} for ${{ matrix.dist }} (arm64, macos_arm64, macos-latest, ctrtool) (push) Has been cancelled
Compile CTRTool (on master branch) / Compile ${{ matrix.prog }} for ${{ matrix.dist }} (x86_64, macos_x86_64, macos-latest, ctrtool) (push) Has been cancelled
Compile CTRTool (on master branch) / Compile ${{ matrix.prog }} for ${{ matrix.dist }} (x86_64, ubuntu_x86_64, ubuntu-latest, ctrtool) (push) Has been cancelled
Compile CTRTool (on master branch) / Compile ${{ matrix.prog }} for ${{ matrix.dist }} (Release, Release, win_x86, windows-latest, x86, ctrtool) (push) Has been cancelled
Compile CTRTool (on master branch) / Compile ${{ matrix.prog }} for ${{ matrix.dist }} (x64\Release, Release, win_x64, windows-latest, x64, ctrtool) (push) Has been cancelled
Compile MakeROM (on master branch) / Compile ${{ matrix.prog }} for ${{ matrix.dist }} (arm64, macos_arm64, macos-latest, makerom) (push) Has been cancelled
Compile MakeROM (on master branch) / Compile ${{ matrix.prog }} for ${{ matrix.dist }} (x86_64, .exe, win_x86_64, windows-latest, makerom) (push) Has been cancelled
Compile MakeROM (on master branch) / Compile ${{ matrix.prog }} for ${{ matrix.dist }} (x86_64, macos_x86_64, macos-latest, makerom) (push) Has been cancelled
Compile MakeROM (on master branch) / Compile ${{ matrix.prog }} for ${{ matrix.dist }} (x86_64, ubuntu_x86_64, ubuntu-latest, makerom) (push) Has been cancelled
2024-12-29 13:14:52 +08:00
Jack
1ea3c5b04c Further tweaks to CIA generation for #153 2024-12-29 13:13:59 +08:00
R-YaTian
745fc4f1f1
makerom: Fix too much file handle cause memory leak (#153) 2024-12-29 12:56:58 +08:00
Jack
06ac1b8096 Bump CTRTool version to v1.2.1 for release
Some checks are pending
Compile CTRTool (on master branch) / Compile ${{ matrix.prog }} for ${{ matrix.dist }} (arm64, macos_arm64, macos-latest, ctrtool) (push) Waiting to run
Compile CTRTool (on master branch) / Compile ${{ matrix.prog }} for ${{ matrix.dist }} (x86_64, macos_x86_64, macos-latest, ctrtool) (push) Waiting to run
Compile CTRTool (on master branch) / Compile ${{ matrix.prog }} for ${{ matrix.dist }} (x86_64, ubuntu_x86_64, ubuntu-latest, ctrtool) (push) Waiting to run
Compile CTRTool (on master branch) / Compile ${{ matrix.prog }} for ${{ matrix.dist }} (Release, Release, win_x86, windows-latest, x86, ctrtool) (push) Waiting to run
Compile CTRTool (on master branch) / Compile ${{ matrix.prog }} for ${{ matrix.dist }} (x64\Release, Release, win_x64, windows-latest, x64, ctrtool) (push) Waiting to run
Compile MakeROM (on master branch) / Compile ${{ matrix.prog }} for ${{ matrix.dist }} (arm64, macos_arm64, macos-latest, makerom) (push) Waiting to run
Compile MakeROM (on master branch) / Compile ${{ matrix.prog }} for ${{ matrix.dist }} (x86_64, .exe, win_x86_64, windows-latest, makerom) (push) Waiting to run
Compile MakeROM (on master branch) / Compile ${{ matrix.prog }} for ${{ matrix.dist }} (x86_64, macos_x86_64, macos-latest, makerom) (push) Waiting to run
Compile MakeROM (on master branch) / Compile ${{ matrix.prog }} for ${{ matrix.dist }} (x86_64, ubuntu_x86_64, ubuntu-latest, makerom) (push) Waiting to run
2024-12-28 23:51:22 +08:00
Jack
35aa9ffe2d Bump GH Workflows 2024-12-28 23:47:45 +08:00
Rairii
f5f2d9c685
[ctrtool] support more prototype CXIs (#154)
SDK 0.10-era CXIs specify the full exheader size of 0x800 in the NCCH header, so allow that.
2024-12-28 23:43:33 +08:00
Jack
6337c49a15 Define constants in baremetal processing of elf file 2024-07-20 12:19:51 +08:00
Jack
b7b621985d Add usage help for -baremetal & -pagesize 2024-07-20 12:19:10 +08:00
TuxSH
681d17d798
Add necessary features for LgyBg and Process9 development (#151)
* [makerom] Add -baremetal flag

This is a workaround to us not supporting multiple phdr per "segment".

K9 and legacy FIRM k11 don't have memory management and have everything
be RWX. We can exploit how they load CIPs to have the segment be
anything, and be able to be loaded at any VMA (first segment defines LMA
and entrypoint, however). With this flag, the first phdr in the .elf
file is always chosen as the "code" segment and so on.

For example, we can have a FCRAM segment where the image is initially
loaded and jumped to, as the first segment, then an AXIWRAM segment. For
TwlBg, Nintendo seems to have a RWX phdr inside the code "segment" that
it relocates to AXIWRAM, but we don't support this.

"-baremetal" implies "-nocodepadding".

* [makerom] Add -pagesize option

Kernel9 uses pagesize=0x100 instead of the usual 0x1000.

* [makerom] Remove 32 interrupt ID limitation
2024-07-20 11:58:11 +08:00
Jack
c0488dcb6c [makerom] Bump version to 0.18.4 2023-09-30 16:56:10 +08:00
Jack
ea2390df80
[makerom] Change elf processing to no longer strictly require data section. (#143) 2023-09-30 16:38:29 +08:00
Jack
7e645b2b17
[ctrtool] Bump version to 1.2.0 2023-04-01 09:29:39 +08:00
Steveice10
b7889c3e72
Remove incorrect ExeFS header hash validation. (#137) 2023-03-31 08:45:20 +08:00
Liam
3d09130b91
Update for 9.6 CCI changes (#135)
* add 9.6.0 cci changes

* adjust crypto type validation

* ugh

---------

Co-authored-by: Liam <47696410+0Liam@users.noreply.github.com>
2023-03-19 17:22:59 +08:00
Jack
334f6f0468
[CTRTool] Honour plain flag when processing CIA files. (#126)
* Add util functions to CTRTool

* [ctrtool] Honour -p flag when processing CIA files.

* Bump CTRTool version to v1.1.1
2022-06-19 13:53:25 +08:00
Jack
92a4b5f595
Update README.md for makerom v0.18.3 release. 2022-04-22 19:24:27 +08:00
Jack
ac9c607875
Update makefiles to address impl func warnings on linux. (#123)
* [makerom] Update makefiles to address impl func warnings on linux.

* [makerom] bump version to v0.18.3
2022-04-22 19:20:39 +08:00
Jack
b0783b4f30
Update README.md 2022-04-17 13:38:18 +08:00
Jack
e9a830f317
[MakeROM] Fix InitialData generation bugs (#121)
* [makerom] Correctly initialize prod initial_data_key_x

* [makerom] Properly select CCI CryptoType when not manually specified.

* [makerom] Bump version to v0.18.2
2022-04-17 13:35:48 +08:00
Jack
ea52a5dd00
Update README.md 2022-04-17 10:49:45 +08:00
Jack
cc707c160f
Modernize MakeROM build system + bug fixes (#120)
* Move files around to new directory structure

* Rework libyaml into a stand-alone dep for makerom.

* Rework libpolarssl to be standalone dependency for makerom.

* Update includes.

* Delete makefile

* Add new makefile for makerom.

* Update MakeROM github actions script.

* Fix again.

* Update MakeROM's makefile

* Tweak makerom build script

* Tweak MakeROM build script.

* Fix typo

* Update MakeROM makefiles.

* Tweak CTRTool build script.

* Tweak build script

* Tweak CTRTool build script.

* Tweak CTRTool build script

* Add libmbedtls to makerom deps

* Partially migrate makerom to libmbedtls

* Break out libblz as an external dependency for makerom.

* Tweak makerom build script.

* Move dependencies to the top level.

* Put everything back.

* misc

* Update makerom documentation.

* Link to ctrtool/makerom readmes from the root readme.

* Update root readme again.

* Migrate makerom to modern mbedtls

* Bump makerom version to 0.18.1

* Change signing errors to be warnings when they fail.

* Add error verbosity to errors when generating CIA files.

* Fix bug in RSA code.

* misc.

* Remove polarssl now migration to mbedtls complete.

* Surface more makerom errors.

* [makerom] Tolerate CCI signing errors as a warning.

* Add missing return.

* Import initial data key_x (prod/dev included)

* [makerom] Fix initial data generation.
2022-04-17 10:49:05 +08:00
Jack
8a9f9bda55
Merge pull request #118 from 3DSGuy/ctrtool-silence-output
Add support for silencing CTRTool output
2022-04-15 11:42:26 +08:00
jakcron
e1a6f9101d Bump version to v1.1.0 2022-04-15 11:27:33 +08:00
jakcron
be1394234a Tag error output as [ctrtool::ClassName ERROR], leaving warnings/progress indicators as [ctrtool::ClassName LOG] 2022-04-15 11:26:20 +08:00
Jakcron
247045ba8f Extraction progress logs are now only shown in verbose mode. 2022-04-15 00:21:35 +08:00
jakcron
c0ce043b30 Emit errors/warns/logs in a consistent manner. 2022-04-12 20:05:02 +08:00
jakcron
60334cd7dd Don't silence verbosity with -q/--quiet 2022-04-12 19:43:24 +08:00
jakcron
6ce56539be Merge branch 'master' into ctrtool-silence-output 2022-04-12 11:48:13 +08:00
Jack
5840526951
Merge pull request #117 from 3DSGuy/ctrtool-cci-initialdata-fix
Fix bug where CCI CryptoType 1-2 weren't processed properly.
2022-04-12 03:31:58 +08:00
jakcron
5c584f4d36 Bump version. 2022-04-11 18:01:44 +08:00
jakcron
a1f86a6813 Add support for processing InitialData CryptoTypes 1-2 2022-04-11 18:01:05 +08:00
jakcron
7798ddda90 (ctrtool::ExeFsProcess) Emit errors/warns/logs in a consistent manner. 2022-03-31 16:15:49 +08:00
jakcron
f79a5666a5 When verifying CIA cert/tik/tmd, preference certchain over keybag. 2022-03-31 16:01:36 +08:00
jakcron
4652a08d10 (ctrtool::CrrProcess) Emit errors/warns/logs in a consistent manner. 2022-03-31 14:59:55 +08:00
jakcron
6509b431d8 (ctrtool::CiaProcess) Emit errors/warns/logs in a consistent manner. 2022-03-30 20:09:25 +08:00
jakcron
e7d872934a (ctrtool::CciProcess) Emit errors/warns/logs in a consistent manner. 2022-03-30 20:09:04 +08:00
Jakcron
eddbb3fd95 Merge branch 'master' into ctrtool-silence-output 2022-03-30 15:03:53 +08:00
Jack
8876f0efd4
Merge pull request #115 from 3DSGuy/ctrtool-detect-compressed-code
Fix issue where compressed .code partition wasn't being decompressed.
2022-03-30 14:36:43 +08:00
jakcron
ea3b188de4 Bump patch version. 2022-03-30 14:27:12 +08:00
jakcron
97e956d782 [BugFix] Honour exheader code compressed flag. 2022-03-30 14:26:56 +08:00
Jakcron
0715b3d5b9 Add flag -q/--quiet to suppress non-errors. 2022-03-29 17:37:26 +08:00
Jakcron
b1629a4aa6 Fix bug when processing NCCH files directly, -p/--plain flag was not honoured. 2022-03-29 17:34:45 +08:00
Jakcron
cbc20b2a15 Honour opt.info when running CiaProcess 2022-03-29 17:26:12 +08:00
Jakcron
d9f9d4ec48 Bump patch version 2022-03-29 17:02:34 +08:00
Jack
359cc83847
Merge pull request #112 from 3DSGuy/seeddb-not-import-fix
Fix issue where SeedDB would not import correctly.
2022-03-29 16:55:55 +08:00
jakcron
5f58433bcf Fix issue where titleid was being read incorrectly when importing SeedDB. 2022-03-28 15:49:01 +08:00
jakcron
1684a3a7e0 Correct documentation about automatic alignment padding. 2022-03-27 09:09:10 +08:00
jakcron
400a68e1ba Fix link to BUILDING.md 2022-03-19 15:05:38 +08:00
jakcron
986a8cd859 Add readme and build instructions. 2022-03-19 15:04:07 +08:00
Jack
e3b8e32eba
Merge pull request #109 from 3DSGuy/ctrtool-fix-commonkey-05-init
[CTRTool] fix initialising common-key 05
2022-03-15 13:22:37 +08:00