こちらではニンテンドースイッチのCFWのAtmosphereを自分でコンパイルして起動させる方法を紹介します
Atmosphereは本体のアップデートがメジャーアップデートで、多数のモジュールが更新されていれば大幅な更新は必要だが、Hekateが古いバージョンでも起動するような大したアップデートでない場合は単純にソースコードを弄って、コンパイルすれば起動できる可能性が高い
しかし、Atmosphereの開発者は、思わぬバグが発生する可能性があるとして、推奨していない
誤ってアップデートしてしまった人向けの方法ということになります
また、Mission Controlなどモジュールを変更して機能を追加するものが入っている場合は、古いバージョンを削除しないとこの方法では起動できない
devkitPro UpdaterをPCにダウンロード&インストール
Switch Developmentのみチェックを入れNext
その他はNextでOK
PCのスタートメニューからMSYS2 MinGWを起動
MSYS2 MSYSではない
一度MSYS2 MinGWを何かで使用していた場合はMSYS2自体アンインストールをおすすめします
自分の環境ではエラー
コピペは文字列を選択して右クリックからコピー、端末上で右クリックからPaste
YesかNoを聞かれる場合全てYesでyを打ち込むこと
ulimit -s 10485760
pacman -Syuu --needed --noconfirm --disable-download-timeout
をコピペしてエンター
インストールが完了するとMSYS2 MinGWが閉じるので再び起動
ulimit -s 10485760
nano /etc/pacman.conf
をコピペしてエンター
ページを一番下に
[dkp-libs]
Server = https://pkg.devkitpro.org/packages
[dkp-windows]
Server = https://pkg.devkitpro.org/packages/windows/$arch/
をコピペしてコントロールキー+X → y →エンター
pacman-key --recv BC26F752D25B92CE272E0F44F7FD5492264BB9D0 --keyserver keyserver.ubuntu.com
pacman-key --lsign BC26F752D25B92CE272E0F44F7FD5492264BB9D0
をコピペしてエンター
pacman-key -l BC26F752D25B92CE272E0F44F7FD5492264BB9D0
pacman-key -l F7FD5492264BB9D0
をコピペしてエンター
pacman -Syuu --needed --noconfirm
pacman -U https://pkg.devkitpro.org/devkitpro-keyring.pkg.tar.xz --noconfirm
をコピペしてエンター
pacman -Syuu --needed --noconfirm
をコピペしてエンター
pacman -Syuu --needed --noconfirm devkit-env
をコピペしてエンター
source /etc/profile.d/devkit-env.sh
をコピペしてエンター
pacman -S --noconfirm switch-dev devkitA64 dkp-toolchain-vars libnx switch-tools switch-mesa switch-libdrm_nouveau switch-sdl2 devkitA64 devkitARM devkitarm-rules hactool mingw-w64-x86_64-python mingw-w64-x86_64-python-lz4 mingw-w64-x86_64-python-pycryptodome switch-dev switch-glm switch-libjpeg-turbo mingw-w64-x86_64-python-pip zip git make lz4
をコピペしてエンター
git clone --recursive https://github.com/Atmosphere-NX/Atmosphere.git
cd Atmosphere
をコピペしてエンター
PCのドライブCの中のmsys64/home/ユーザー名/Atmosphereフォルダを開く
更新が必要なファイルは以下の通り
・ hos_types.hpp
Atmosphere\libraries\libstratosphere\include\stratosphere\hos
・ ams_api_version.h
Atmosphere\libraries\libvapours\include\vapours\ams
・ ams_target_firmware.h
Atmosphere\libraries\libvapours\include\vapours\ams
hos_types.hppファイルに以下を追加
バージョン20.4.0の場合
Version_20_4_0 = ::ams::TargetFirmware_20_4_0,
ams_api_version.h ファイルでは、Atmosphere のバージョンとファームウェアを変更する必要がある
Atmosphereのバージョンが、前回のバージョンが1.9.3だった場合は1.9.4とするので以下のようになる
#define ATMOSPHERE_RELEASE_VERSION_MAJOR 1
#define ATMOSPHERE_RELEASE_VERSION_MINOR 9
#define ATMOSPHERE_RELEASE_VERSION_MICRO 4
これは本体のバージョンなので、20.4.0の場合は以下のようになる
#define ATMOSPHERE_SUPPORTED_HOS_VERSION_MAJOR 20
#define ATMOSPHERE_SUPPORTED_HOS_VERSION_MINOR 4
#define ATMOSPHERE_SUPPORTED_HOS_VERSION_MICRO 0
ams_target_firmware.h ファイルでは、ファームウェアを追加および変更する必要がある
バージョン20.4.0の場合
#define ATMOSPHERE_TARGET_FIRMWARE_20_4_0 ATMOSPHERE_TARGET_FIRMWARE(20, 4, 0)
#define ATMOSPHERE_TARGET_FIRMWARE_CURRENT ATMOSPHERE_TARGET_FIRMWARE_20_4_0
TargetFirmware_20_4_0 = ATMOSPHERE_TARGET_FIRMWARE_20_4_0,
端末に
make
をコピペしてエンターを押すとAtmosphereがコンパイルされる
msys64/home/ユーザー名/Atmosphere/out/nintendo_nx_arm64_armv8a/release
フォルダの中にコンパイルされたものができているはず






コメント
コメントを投稿