[SWITCH] XCI中のNCAを変換してSwitchにインストールするXCIインストーラー ZeroTwoXCI がリリース

2018/09/17 23:38 Switch (-)
GitLabでTeam 2168が、Switchのコンテンツをインストールするための形式であるNSPのインストーラーTinfoil
NSPインストール機能をXCIインストール機能に置き換えた ZeroTwoXCI v0.1 をリリースしていました。



NSPが何なのかについては、私の駄文で良いのなら以下の記事をご確認ください。
[SWITCH] NSPに関する個人的な簡単なまとめ - 2018/08/15


Team 2168はEliseZeroTwo氏を中心とした新たに登場したチームです。
チーム名の2168というのはSwitchのエラーコードの1つである2168-0002から来ているようです。

さて、SwitchのカートリッジはXCIと呼ばれるイメージファイルとしてダンプ可能です。
XCIを用いたバックアップ起動というのは、現時点ではTeam XecuterのSX OSのみで実現されています。
これはSwitchシーンではカートリッジのエミュレートだとか、XCIのマウントというような表現がされています。
SX OSはhbmenuのみは制限を設けておらず無料で使用可能ですが、それ以外の機能を使おうとすると購入しなければいけません。
つまりXCIを用いた純粋なバックアップ起動を行える環境というのは、現時点では有料な物(SX OS)のみなわけです。
無料な手法としてはLayeredFSや4NXCIを用いた手法が存在します。そちらは上で挙げた記事で軽く触れたのでここでは割愛。

今回リリースされたZeroTwoXCIは、4NXCIのような処理を用いたXCIのスタンドアロン・インストーラー、と表現するのが適している気がします。
Switch上でXCIからNCAを抽出、NCAの変換、tikの生成、等を行いインストールするといった仕組みです。

4NXCIと比べて起動率等はどうなのか、という点については私には書けません。分からないので。
まあREADMEに "The-4N for helping me" という記述があるので、起動率等は安心して良い気がします。

GBAtempのスレによると、現時点で今後の予定とされているのは以下の2点のようです。
・microSDカード中に一時的なファイルとして新たなNCAを作成しないように
・FAT32のmicroSDカードや、分割XCIのサポート
作成されるNCAは一部をNSP向けに変えただけの物なので、1点目はその処理をインストールの出力と合わせて行うという事だと思われます。
そして2点目の内容から分かるように、現時点ではmicroSDカードがexFATとしてフォーマットされている環境のみがサポートされています。

これを使ったゲームのインストール及び起動にはNCAの署名をバイパスするパッチ(sig patch, シグネチャパッチ)が必要です。
READMEにAtmosphereでは機能しないと書かれていますが、それはAtmosphere自体にそのsig patchが含まれていないからです。
Atmosphereのローダーであるfuseeの代替となるhekateを通せば、AtmosphereでもZeroTwoXCIは使用可能です。
hekateは起動する項目中に以下の記述があれば、FW起動時にsig patchが適用されるようになっています。
kip1patch=nosigchk
ReiNXやSX OSはデフォルトでsig patchが適用されています。

XCIからNCAを抽出したりNCAに手を加えたりするので、ZeroTwoXCIではそのための鍵が必要となります。
鍵はkezplez-nxを利用して自分で用意するか、ググってください。
用意したテキストファイルを prod.keys にリネームにしてmicroSDカードのルートに配置しておけばOKです。



●用意するもの
・Switch (sig patchが適用されたCFWで起動)
ZeroTwoXCI.nro
・XCI
・prod.keys

XCIは gcdumptoolWAINCartDumperNX を利用して用意してください。


●ZeroTwoXCIの使用手順
1、microSDカードのルートにprod.keysを配置する

2、microSDカードのルートにtinfoilフォルダを作成する

3、tinfoilフォルダ内にzerotwoxciフォルダを作成する
※"microsd:tinfoil/zerotwoxci/"

4、zerotwoxciフォルダにXCIファイルを配置する

5、"microsd:switch/" にZeroTwoXCI.nroを配置する

6、sig patchが適用されたCFWを起動する

7、hbmenuからZeroTwoXCIを起動する

8、"Title Management" → "Install XCI"

9、インストールしたいXCIを選択する

10、インストール先(microSDカード or NAND)を選択する

11、要求FW情報を無視してインストールするか問われるので選択する
※要求FW未満でも起動出来るゲームが存在するためにこの機能が存在している

12、処理が始まる

13、インストールが終了したらゲームが起動するか確認する

処理の途中で一度ログの出力が止まりますが、以下の文が表示されているはずなので心配しなくても良いです。
>"this may take a while so do not worry if it seems frozen"



Switch_XCI, kood