カテゴリー「ゲーム(Wii)」の記事

Wiiでできるらしいあんなことやこんなことについて

2012年4月18日 (水)

wiiトワイライト・ハック(24)WADを自作【3】Forwarder


dol ファイルさえあれば、それを実行する WAD は作れるようになった。
あと足りないような気がするのは「 Forwarder 」チャンネルである。

Forwarder … softchip の時は Linking Channel とかとも呼ばれていた(いる)。
SD の /apps/XXXX/boot.dol を起動するためのチャンネルである。

これの利点は、dol ファイルが更新されるたびに WAD を作り変える必要のないこと。
(SDの中味だけをアップデートすればよい)
頻繁にアップデートされるようなアプリでは重宝する。


SpaceJump氏が http://www.mediafire.com/SpaceJump にて、forwarder のソースコードを公開してくれていたのを発見。

これを書き換えてビルドすれば、任意のアプリの forwarder が作れるはず。

  ビルドするためには devkitPro をインストールする必要がある。
  (が、最近の日本語化騒ぎでたいていの人がインストール済みだと思われる :) )

  ■devkitPro
    http://www.devkitpro.org/
    Wii用には devkitPPC をインストールする。


ビルドして作られた dol ファイルを元に、 WAD を作成すれば
専用自作 Forwarder Channel の完成である。


ただ、毎回ソースコードを書き換えてはビルドするのも面倒なので、
HSPにて、 forwarder dol 簡易作成ツールを作ってみた。

アプリのフォルダ名を入力することで、そこにある boot.dol を起動するための dol ファイルを作成する。
(フォルダ名は 16byte に制限した)


実行ファイル(そーす付き) →

目的の forwarder dol ファイルができたら、あとはそれを WAD にして、チャンネルにするだけ。


そういえば
Waninkoko氏のblog にて、WAD Manager の 1.4 が公開されていた。

ちょうどいいので(?)、上記を使って WAD Manager Forwarder Channel を作ってみた。

ファイル一式 →

SD:/apps/wadmanager/boot.dol を起動するものである。


| | コメント (17)

2010年4月30日 (金)

wii USB起動◆個別ゲームのチャンネル化を自動化 v0.07c【Configurable専用】


GWになり久しぶりに時間が取れたのでWiiなどいじってみた。

cIOSが 38rev19になっていたので、まずはあげてみた。

すると、いくつかのゲーム起動用チャンネルから起動できなくなっていた。


というわけでこの際、以前からやりたかったことをやってしまうことにした。


やりたかったこととは:

 ・ WBFSをやめ、NTFS にゲームを格納。
 ・ 個別チャンネル作成時にゲーム起動用の設定(002fix等)をいちいちしたくない
   →個別チャンネルを、Forwarderにする。
 ・ 今回のように cIOSのアップデートなどで個別チャンネルを更新する必要性をなくせるものならなくす
   →個別チャンネルを、Forwarderにすればよい。

である。


NTFSでの起動は既に Configurable で実現済み。
Configurable をゲーム指定で起動する Forwarder も手に入れた。

念のため Configurable は最新にバージョンアップしておく。


■WiiUsbIso2Wad v007c

WiiのチャンネルからUSBの特定ゲームを直接起動
Configurable USB Loaderを呼び出す版
なぜ Configurable なのかといえば、私がそれしか使っていないから…


・Configurable USB Loader が SD の下記いずれかにインストール済みであること。
/apps/cfg-loader/ ★ちなみにわたしはこれ。他は未確認
/apps/usbloader_cfg/
/apps/usbloader/
/apps/usb_loader/

002fix, alternate dol, ocarina 等、各ゲーム個別の起動設定はあらかじめ、
Configurable USB Loader を起動して設定しておく。
(なのでチャンネルWAD作成時に個別の設定はいらない→これも目的のひとつ)

■wad作成

 ・WiiUsbIso2Wad.exe を起動
Wii ISOファイルをドラッグ&ドロップ。
または
PCに接続したWBFSドライブの中からゲームを選択。→過去の名残り

作成したwadファイルが、wadフォルダに作成されているはず。
WAD Managerでインストールすることで、
ゲーム起動用のチャンネルが作られる。

■必要ファイル

必要ファイル一式→


■雑記

NTFSからの起動で特に遅くなったような気もしない。
NTFSだとデフラグもできる。WBFSでやっていたときに比べ、だいぶ精神的にいいかも。

Configurable以外のForwarderも、もらえれば対応するかも。
ただし、Game ID を指定して、ゲームを直接起動できる Forwarder に限りまする。
(そして、時間が取れればですが…)



| | コメント (16)

2010年1月21日 (木)

Wii NTFSからの起動【暫定】


Wii Backup Managerを使って NTFS HDD上に置いた iso ファイル、
Configurable USB Loader (以下、cfg-loader)で起動できることは確認できた。


これがチャンネル起動でもできるようになれば WBFSにさよならできるかもしれない。


ということで、「NTFS ISOのチャンネルからの起動」トライ中のメモ書きである。

以下は「こうするのが正しい」ではなく「私はこうしてみてる」現在進行形メモであるので
変なところがあったら教えてもらえると嬉しいし、
あまり良くわかっていないと自分で思っている人には今の段階では真似して欲しくない。
(なので自分用メモとしての必要以上に細かくは書かないし、成果物も置かない)
わかっている人のヒントくらいにはなるかと。


■方針

・通常通り cfg-loader を起動し、NTFSからの起動状態にして設定をセーブ
 (NTFS決め打ち。この辺を動的にやるつもりは今のところなし)
・cfg-loader のソースを入手
・ソースを改変、GUIを使ってゲームを選択するところをすっとばし、ゲームIDを埋め込み
 (ゲーム個別の起動設定(002他)はConfigurableのものを読み込ませる)
・ビルドしてできたdolをHBCから起動して、直接 NTFS上の指定ゲームが起動できることを確認
・チャンネル化して起動できることを確認
・余力があれば不要なGUIコードの削除によるdolの小型化(たぶんやらない)


■トライ


◆cfg-loader のソース

 ソースは http://code.google.com/p/cfg-loader/から入手できる。
 Source タブから svn を使うと最新状態のものも取れるが、
 Downloads タブから v50 のソースを取ってくることにする。 (Cfg_USB_Loader_50-src.rar)
 ソースファイルは日本語や空白を含まないパスに展開。
  ex) d:/cfg-loader/50/...


◆まずはビルド

 改変以前に、持ってきたままのものがビルドできなければ話にならない。

 開発環境devkitproをインストール。
  Windows Installer
  Choose Components では、devkitARM(NDS向け) と devkitPSP(PSP向け)はチェックから外して良い。
 
 Programmer's Notepad を起動
 File -> Open で、Makefile を開く。 ( d:/cfg-loader/50/Makefile )
 Tools -> Make (Alt+1) で make してみる。

> "make" 
GRRLIB.c
In file included from d:/cfg-loader/50/source/GRRLIB.c:20:
d:/cfg-loader/50/source/GRRLIB.h:74: error: expected ')' before 'v'
d:/cfg-loader/50/source/GRRLIB.h:79: error: expected ')' before 'v'
d:/cfg-loader/50/source/GRRLIB.h:80: error: expected ')' before 'v'
 :

 さっそくエラーに。
 該当行を見ると

  void GRRLIB_NPlot(Vector v[], u32 color, long n);

 Vector でエラーになっているらしい。
 「GRRLIB Vector」で調べたところ、GRRLIBの最新では Vector は guVector に名前が変わったらしい。
 つまり cfg-loader 開発陣の開発環境は最新版ではないということ…むー
 開発環境がずれていると苦労しそうな予感。

 とりあえずは以下を書いて逃げる。

  #define Vector guVector

 


 再度 make

> "make" 
 :
fat.c
d:/cfg-loader/50/source/fat.c:42: error: conflicting type qualifiers for '__io_usbstorage'
d:/devkitPro/libogc/include/ogc/usbstorage.h:67: note: previous declaration of '__io_usbstorage' was here
make[1]: *** [fat.o] Error 1

 定義が違うと言っている。
 fat.c
  extern const DISC_INTERFACE __io_usbstorage;
 usbstorage.h
  extern DISC_INTERFACE __io_usbstorage;

 fat.c 側から const を抜いてみる。
 fat.c 側のこの行をコメントアウト。

 


 再度 make

> "make" 
 :
net.c
d:/cfg-loader/50/source/net.c:85: error: 'EBADFD' undeclared here (not in a function)

 定義がないと言っている。
 EBADFD を grep してみると devkitPPC/powerpc-eabi/include/sys/errno.h に定義されている。

  #define EBADFD 81 /* f.d. invalid for this operation */

 include するのも面倒なのでこの定義を net.c にコピペ。

 


 再度 make

> "make" 
 :
usbstorage.c
d:/cfg-loader/50/source/usbstorage.c:272: error: conflicting type qualifiers for '__io_usbstorage'
d:/devkitPro/libogc/include/ogc/usbstorage.h:67: note: previous declaration of '__io_usbstorage' was here

 見比べて、usbstorage.c の方の const を取る。

 


 再度 make

> "make" 
 :
patchhook.S
stub.S
linking ... 50.elf
output ... 50.dol

> Process Exit Code: 0
> Time Taken: 00:12

 できたらしい。

 50.dol という名前でできたので boot.dol にして、HBCから起動してみる。
 普通に cfg-loader 起動。やれやれ。


◆ソース改変

 ビルドができるようになったのでソースをいじってみる。
 まず見るべきは source/usb-loader.c

 main()関数があるのでつらーっと流れを追ってみる。

 色々やったあとで Menu_Loop() を呼んでいる。 source/menu.c を見てみる。

 __Menu_Controls() でユーザにゲームを選択させ、
  (選択したゲームのインデックスが gameSelected に入る)
 Menu_Boot() でゲームを起動しているらしい。

 Menu_Boot() にて
   header = &gameList[gameSelected];
   game_cfg = CFG_find_game(header->id);
 などしているようなので、
 ここでゲームIDを乗っとってしまえば良さげ。

 ここでふとその下を見ると
   if (!CFG.direct_launch) {

 direct_launch とはなんぞや、ということで調べてみると、
 これがまさに目的のものっぽい。


 というわけで main()の中で CFG_Load() し終わったあとあたりにて
 以下のように設定を改変してみる。

  CFG.direct_launch = 1;
  CFG.confirm_start = 0;
  CFG.device = CFG_DEV_USB;
  strcpy(CFG.launch_discid, "SMNJ01"); // new super mario bros
  CFG.music = 0;
  CFG.gui = 0;
  CFG.intro = 0;
  *CFG.background = 0;
  *CFG.w_background = 0;
  CFG.covers = 0;

 これによって、 Menu_Loop() -> Direct_Launch() の中で gameSelected をセットし、Menu_Boot() してくれる。はず。

    → 起動OK ただし、cfg-loaderのスプラッシュが表示される


 もうちょっと見ていくと、CFG_Load() -> cfg_direct_start() の中で上記と同じことをやっている。
 なのでここを直した方が早いかも。

 cfg.c の cfg_direct_start()

  if (direct_start_arg) {
  の直前に以下を挿入。

   direct_start_arg = "SMNJ01"; // new super mario bros

 これでNewスーパーマリオが(Configurableの設定を読み込んだ上で)起動するのではなかろうか。

    →起動OK、ただしスプラッシュ画面および起動時コンソール表示あり



 さらに踏み込むと、cfg.c の先頭にある次の行をいじるだけでもよさげ。

   char direct_start_id_buf[] = "#GAMEID\0\0\0\0\0CFGUSB0000000000";

 この "GAMEID" の6文字を "SMNJ01" に変えてしまう。

   char direct_start_id_buf[] = "#SMNJ01\0\0\0\0\0CFGUSB0000000000";

 これでどうだ。
 ちなみにこの行は dol になったあと、バイナリレベルで改変されることを意図したものに見える。

    →起動OK、ただしスプラッシュ画面および起動時コンソール表示あり




 スプラッシュ画面を表示させないために main() の Gui_DrawIntro() 呼び出し直前に以下を追加。

   CFG.direct_launch = 1;
   CFG.intro = 0;

    →起動OK。スプラッシュなし。コンソール表示あり。


 main() の開始直後にある cfg_parsearg_early() の中でも、
 CFG_Default() および cfg_direct_start() を呼んでいた。
 CFG_Default() にてデフォルトを書き換えてしまうのが実は一番かもと思い直す。
   CFG.intro = 0;

   →起動OK。スプラッシュなし。コンソール表示もなし。

ということで、結局変更は上記2箇所。
コンソール表示がない真っ黒状態での起動はそれはそれで不安をかきたてるが:)
目的は達成できた。


◆チャンネルからの起動

 ゲームID変更をこんな感じに。

   char direct_start_id_buf[] = "#TONTON\0\0\0\0\0CFGUSB0000000000";

   "TONTON" (ちょうど6文字なので)にしてみる

 WiiUsbIso2Wad をちょっといじり、作成した dol の TONTON 部分をゲームIDに置き換えるようにして
 WADインストール!
 実行!
  :
 起動確認。

 ふむ。できてしまった。。。


◆課題他

 やりたかったことはできたが、この状態だとフル機能のcfg-loader なので dol が(WADも)大きい。
 通らないGUI部分やlibraryのリンクは必要ないので削りたいところではある。
 が、
 変更箇所が多くなると cfg-loaderのバージョンアップへの追従が大変になる。。
 [最適化はしない」つもりで始めたので、これでよしとする。

 成果物は置かないつもりだったが、
 動作も確認できたので一応。

 これ

 ちなみに、これを動作させる際には
 SD:/cfg-loader/ に普通に cfg-loader の設定ファイルなどがあることを期待している。
 また、NTFS起動に特化した実行ファイルだというわけではなく、
 単純にSDの設定ファイルを読み込んで起動するcfg-loaderである。
 NTFSでの起動をさせたい場合はあらかじめそのように設定、保存しておく。
 ゲーム個別の設定も読み込んで起動するので、
 002fixなど、必要な設定は予め HBC から cfg-loader を起動して設定、保存しておく。

 改変版 WiiUsbIso2Wad は、
 dol中の "TONTON" をゲームIDに変えて起動するように書いてある(HSPソース付き)


 ということで、暫定トライアル終了。
 次があるかは・・・不明。

 WBFSを捨てる準備は、
 できたかも


| | コメント (16)

2010年1月13日 (水)

WiiScrubber での trim


以前、Wii Scrubber について書いた。
不思議なのだが、これがいつも とんとん庵 アクセスランキングの上位にいる。

きっとWii Scrubberの不具合:) に悩まされて検索して飛んできてるのかな…と勝手に推測 :)。


うちでは、吸い出したISOファイルは(吸出しは時間がかかり面倒なので)基本はHDに置いている。
そこで WiiScrubberによる trim の出番となるのだが、
いくつかのディスクでは trim 後に以下のような不具合があることがわかった。

 ・ trimしたISOだとUSB起動できない
 ・ trimしたISOだと 002 エラーが出るようになる(これは fix 002で解決できるが)

また、

 ・ trimしたISOがWiiScrubber自分自身で開けない

↑これ、以前は100%ではなかった気がするのだが、最新版だと 100% で起きている気がする。


そこで、このようにしている。めんどくさいが、そんなに頻繁にやる作業でもないので…

 ・ WiiScrubber で trim する。
 ・ trim した ISO のサイズを1バイト水増し(WiiScrubberで読み込めるようにする)
 ・ trim した ISOをWBFSに転送し、USB起動できるかチェック
  →できたなら吸い出したオリジナルのISOは削除、trim後のISOを保存で終了

 ・ 起動できなければ、オリジナルISOをWBFSに転送後、別名でPCに書き戻す。
  →WiiScrubberで「Scrub」したのと同じことになっているはず。
 ・再度これをWBFSに転送し、USB起動できることを確認
  →これでエラーになったことはないが一応。
 ・起動できたISOファイルを RAR 圧縮して保存で終了

  ※Wii Backup Managerなど使って wbfs/フォルダ以下に sparseな .iso を作成した方が楽な気がしてきた。
   この場合、見た目のファイルサイズが大きいので精神衛生上あまり良くないが
   ディスク上で占めるサイズは最小限だし、RAR圧縮などもしたければ効く。


ちなみに trimしたISOのサイズを1バイト増やすツールであるが、
自分用に密かにバージョンアップしていたのでよかったらどーぞ。

wiiisosize2.zip

 ドラッグ&ドロップされたWII ISOファイルのサイズを単純に+1するプログラムである。
 ゲームIDのチェック(先頭が 'R' または 'S'か)はしているが、それ以外でも続けられるようにした。
 また、trim後のファイルは書き込み禁止属性がついているが、そのまま続けられるようにした。


Wiiscrubber Kit with multiloader 1.40


#だから Wiiscrubberはそういうことをするためのツールじゃないんだってば:)


| | コメント (3)

2010年1月12日 (火)

Wii WBFS ?


ベータがとれたようなので紹介メモ。

Wii backup Manager for Windows

昨年末のベータの頃から使っているが、これなかなか良い。
WBFS Manager はWBFSなドライブを接続してからじゃないと使えないのが不便だったが
これはそんなことはなく、ISOファイルの管理ができる。

もちろんWBFSフォーマットされたドライブとPCの間での読み書きは出来るのだが、
もうちょっと先を行っている。

▼標準的な使用方法

 ・「Drive 1」タブを選択
  「Drive」メニューから扱いたいドライブ(WBFSドライブなど)を選択
 ・「Files」タブを選択
  「Add」→「Files」または「Folders」で扱いたいISOファイルを指定
 ・コピーしたいISOファイルにチェックを入れる
  Drive 1にないものだけチェック、なども可能
 ・「Transfer」→「Drive 1」
  Drive 1 の形式に応じたコピーが始まる

Driveを指定しなくても、Transferで形式を指定して変換も可能。

扱えるファイルの形式は
 ・ ISO
     Wiiディスクを吸い出したもの
 ・ CISO
     compact ISO の略だろうか? compressed とかかも
     ISOの中の必要なものだけを抜き出した小さいファイル。らしい。
     Scrubberでtrimしたようなものをイメージしているが
     CISO ファイルは Scrubber では読めなかった。
     (ベータの頃 CISO→WBFS転送したファイルでうまく起動しないことがあったので使っていない)
 ・ wbfsファイル
     後述
 ・ RAR
     上記形式を RAR圧縮したもの
 ・ WBFSドライブ上のファイル
     USB起動で基本となるWBFSフォーマットされたドライブ上のISOファイル

である。

ベータがとれたのに伴ない、仕様がちょっとだけ変わったようで、
WBFSフォーマットされたドライブを扱う場合は
 「Options」→「Settings」→「Drives」→ Use mounted volumes only のチェックを外す
をしないといけなくなった模様。


▼wbfs ファイル

Simulated WBFS drive をサポートしており、
WBFSでフォーマットされていないドライブを、WBFSフォーマットであるかのように扱える。

Drive として たとえば NTFS フォーマットされたドライブを指定すると、
  WBFS フォルダが無いが作るか?
と聞いてくる。

Yes で、 /wbfs というフォルダが作成され、
その中を擬似的なWBFSとして構築してくれる。
もちろん /wbfs の中のファイルは PC から普通に読める。

この擬似WBFSに ISO を転送すると、

 GAMEID_GAMETITLE/
  ├GAMEID.iso
  └GAMEID_GAMETITLE.txt

が作られる。 
 (※ 設定で、フォルダを作らず平置きにすることも可能)
この iso ファイルであるが、通常通り 4.3GBあるように表示されるが、
ディスク容量は実際に使われる分(WBFSとして転送される分)だけしか占めていない。

  例: Wii Fit
     RFNJ01.iso のプロパティを見る
        サイズ: 4.37 GB (4,699,979,776 バイト)
        ディスク上のサイズ: 380 MB (398,458,880 バイト)

どういう仕組みだろう? NTFS圧縮とは違うみたい。
  ※たぶんこれ。→ NTFS sparse File
WiiScrubberでも普通に読み込める。


▼NTFSからのゲーム起動

この擬似WBFS(NTFSドライブ)を用いてのゲーム起動であるが、
Configurable USB Loader
あっさりできた。

ただし今のところチャンネル起動できるようにしていない(私が)ので
毎回ローダーから選択するのが面倒で、単なる実験に終わっている。

個別チャンネルからConfigurable を起動できれば、もうWBFSドライブはいらないことに。
→世の中にすでにありそうな気がする

 ※注
  私が試したベータ時点では NTFSへの転送時は .iso ではなく .wbfs という拡張子のファイルだった。
  Options→Settings→FAT32/NTFS の 「 Use ISO on NTFS 」のチェックを外すことで
  NTFSへの転送で .wbfs ファイルが作られる。
  .iso でのゲーム起動は試したことがない気がするので念のため…
  .wbfs でも .iso でもどちらも問題なく起動できた。

▼その他 主な設定項目

Options
 →Settings
  →FAT32/NTFS
   Storage convertion
    ・Store files in seperate sub-folders : ゲームごとにフォルダ分けして配置される
    ・Store all files in a single folder : フォルダを作らずすべてのゲームを平置き
      ★ NTFS 起動も問題なかったので、平置きの方が扱いやすい気がする
   Use ISO on NTFS : チェックすると .iso ファイルに、チェックを外すと .wbfs ファイルが作られる
  →Titles
   Misc
    Use Wii TDB titles database : ゲームのタイトルをダウンロードしてきて表示できる
      ★Titles language を Japaneseにして「Download]実行、上記をチェックすることで表示が日本語タイトルになる
    Use custom titles database : 自分で編集したタイトルにできる。らしい。未検証
  →Drives
   左側で 表示させないドライブを選択できる
   右側で ドライブの表示名を変更できる
   Use mounted volumes only : チェックされていると WBFS ドライブが見えない…
  →Colors
   アプリの見た目の色を変更できるようだが未検証


| | コメント (11)

2009年12月23日 (水)

wii USB起動◆cIOS38 rev14,15


我が家ではもう半年くらい更新していなかったWiiのCustomIOSであるが、
(ちなみに ずっと 36rev10 だった)
NEW スーパーマリオブラザーズ が起動できなかったため、久しぶりに上げてみた。

現在、最新は cIOS38 の rev15 であるらしい。

ただし、rev15 はUSB起動に特化しており、バックアップディスクからの起動ができないらしい。
NEOGAMMAなどでは起動できなくなるらしい。
それが困る人は rev14 がおすすめだとか。
(そもそも cIOS36rev10が安定しているので、それで困らない人はそれで。)

うちはディスクから起動はしないので他の不具合に遭遇するまでは rev15 でいくことにした。


■インストール

必要ファイル一式
 ・ cIOS38rev14 →
 ・ cIOS38rev15 →

どちらも Network Install か WAD Install が選べる。
Network につながっているならば Network Install でもよいし、
インストール時に必要となるオリジナルIOS(WAD)を用意できるなら WAD Install がよい(かも)。

  cIOS38rev14 が必要とするのは
    IOS38-64-v3610.wad
  cIOS38rev15 が必要とするのは
    IOS38-64-v3867.wad

である。
このファイルは手持ちのディスクの中からScrubberでも取り出せるし
ぐぐっても見つかるかもしれないが、
ネットワークからダウンロードしてしまう方法があるようなのでメモ。

  ● NUSD

   ・http://wiibrew.org/wiki/NUS_Downloader から、NUS Downloader を入手、解凍
   ・「Database」から選ぶ (IOS → IOS38 → v3867)
   ・Pack->WADをチェック
   ・「Start NUS Download」実行
   実行した場所に 0000000100000026v3867 のような名前のフォルダが出来、
   その下に IOS38-64-v3867.wad がある。はず。

あとは

・SD に必要ファイルを展開。IOS38….wad ファイルはルートに置く。
・HBC を起動し、cIOS Installer を実行
・IOS249 を選択する
  ここで、私は事前に ciosをアンインストールなどしてしまった(うー、勘が鈍ってる)ためちょっと焦ったが
  IOS250 を選択でOKだった。インストールしてあってよかった。。
・WAD Install を選び、あとは「A」ボタンを押していき待つのみ。


■その他

Rudolph氏のブログに興味深い記事があったのであわせて紹介、というか、メモ。
http://kotei.blog.so-net.ne.jp/2009-09-13



| | コメント (7)

2009年12月19日 (土)

wii USB起動◆個別ゲームのチャンネル化を自動化 v0.06


どうも最近、game code が R (Wiiのコードである Revolutionの略だと思われる)ではなく S で始まるゲームが多くなってきた模様。

・太鼓の達人Wii ドドーンと2代目!
・Hula Wii 楽しくフラを踊ろう!!
・ニュー・スーパーマリオブラザーズ・Wii
・テイルズ オブ グレイセス

など。



ということで、R始まりで制限している自作ソフトが動かなくなってきたので久しぶりにいじってみた。

■ゲームのチャンネル化

S始まりに対応したついでに、
・もととなるcloader.dol を最新に
・cloader.dolを使った時、002fixだけでなく vidtvパッチ、alt dol、ocarina などを選択指定できるように
・ISOのドラッグドロップの代わりにWBFSから直接読めるように
などしてみた。

必要ファイル一式→


■手順

ダウンロード、解凍したフォルダにある WiiUsbIso2Wad.exe をその場で起動。
必要に応じて fix 002 等のチェック。
Wii ISOファイルをドラッグ&ドロップ。
もしくはUSB接続したWBFSドライブからゲームを指定
 (「Import from WBFS」ボタン → リストから選択 → Exec)


これで、wadフォルダに、WADファイルが作成される。(はず)


今回のバージョンでも(チェックボックスのチェックが無ければ)3つのWADファイルが作成される。

例) Wii Fit Plus

RFPJ01 - WiiFitPlus(JP_P)(Sorg).wad
RFPJ01 - WiiFitPlus(JP_P)(Joda).wad
RFPJ01 - WiiFitPlus(JP_P).wad ←cloaderベース

チェックボックスをチェックした場合は、(002)等がファイル名についたWADファイルが1つずつ作成される。

例) NEWスーパーマリオブラザーズ

SMNJ01 - New SUPER MARIO BROS. Wii(002).wad

あいかわらずエラーチェックなどはほとんど書いていないので、あまりいじわるしないこと。
ocarinaについては試したことがないので動かなかったら
チェックボックスを削除します :p



| | コメント (18)

2009年10月19日 (月)

wii USB起動◆個別ゲームのチャンネル化を自動化 v0.04(WiiFit Plus)


wii USB起動◆個別ゲームのチャンネル化を自動化 にて、
WiiのISOから個別チャンネルを作るユーティリティを作ったが、

最近発売された Wii Fit Plus でwadファイルが作成されないという指摘があり調べてみた。


Wii Fit Plus のゲームタイトルは "WiiFitPlus(JP:P)" であった。

この文字列を元にファイルを作成しようとして、エラーになっていた。(そりゃそうだ)


というわけで、ゲームタイトルにファイル名に不適な以下の文字

  : / * < > | ? \ "

が使われていたら、そこは _ に変えるようにしてみた。


また、 Wii Fit Plus は 002 error が出るようなので 002fix版 で起動する必要があるが、
起動時のコンソール(ログ)出力が一部で不評だったので、出さないようにしてみた。


必要ファイル一式→


■手順

ダウンロード、解凍したフォルダにある WiiUsbIso2Wad.exe をその場で起動。
Wii ISOファイルをドラッグ&ドロップ。


これで、wadフォルダに、WADファイルが作成される。(はず)


今回のバージョンでも3つのWADファイルが作成される。

例) Wii Fit Plus

RFPJ01 - WiiFitPlus(JP_P)(Sorg).wad
RFPJ01 - WiiFitPlus(JP_P)(Joda).wad
RFPJ01 - WiiFitPlus(JP_P)(002fix).wad

あいかわらずエラーチェックなどはほとんど書いていないので、あまりいじわるしないこと。


※P.S.

ふらっと さんのこめんとにて、Wii Hula というゲームでエラーになるとのこと。
DVDのTITLE IDが通常 "R" で始まるべきところ "SH2JMS" となっているため。

"R"ではじまるべき、というのも確たる情報ではないので、
このチェックをはずしたバージョンも作りました。

wiiusbiso2wad-nochk.zip
これを解凍してできる wiiusbiso2wad-nochk.exe を、WiiUsbIso2Wad.exe と同じ場所に置いて
WiiUsbIso2Wad.exe の代わりにこちらを実行してください。



| | コメント (13)

2009年7月 8日 (水)

wii USB起動◆個別ゲームのチャンネル化を自動化


だいぶ前
wiiトワイライト・ハック(19)USB起動【5】個別ゲームのチャンネル化をちょっとだけ自動化 にて、
WiiのISOから個別チャンネルを作る半自動ユーティリティを作った。

当時は opening.bnrの抜き出しだけが自動化できず、
WiiScrubberを使って手動で抜き出す必要があったが、
コマンドラインで動作する wiiscrubber が見つかったので、その部分も自動化できた。


というわけで、いまさらながらアップデート。

必要ファイル一式→


■手順

ダウンロード、解凍したフォルダにある WiiUsbIso2Wad.exe を起動。
Wii ISOファイルをドラッグ&ドロップ。


これで、wadフォルダに、WADファイルが作成される。(はず)


ちなみに今回のバージョンでは3つのWADファイルが作成される。

例) Wiiスポーツ・リゾート

RZTJ01 - WSP2 JP(Sorg).wad
RZTJ01 - WSP2 JP(Joda).wad
RZTJ01 - WSP2 JP(002fix).wad


Sorg氏のものが小さいしおすすめなのだが、エラーが出るという人もいるようなので、
その場合は Joda氏のものをトライ。
また、002エラーの出るゲーム(Wiiスポーツリゾートなど)は、002fix版を試してみるべし。


あいかわらずエラーチェックなどはほとんど書いていないので、あまりいじわるしないこと。


などと書きつつ

普通の人はもうWBFS ManagerなどからWAD作成しているんだろうな、とも思ってみたり:)


| | コメント (10)

2009年7月 6日 (月)

Wii スポーツ リゾート


最近忙しく更新さぼっててすみません。。
。。と誰にともなく謝っておいて。


さて、Wiiスポーツリゾート、おもしろそうなので買ってみた。
買うと同時にUSB HDDに落とし、起動しようとするといろいろとエラーが。


というわけで久しぶりにWiiの記事など。


問題は2点。

(1) ERROR #002 が出て起動できない

 これについては、002 FIX できる手段で起動するしかない。


(2) そもそも起動しようとすると勝手に再起動されるなど、起動できない

 これは、初回のみ強制的に見せられるムービーのせいらしい。
 オリジナルのディスクで1度見てしまえば問題ない。

 であるが、興味深い回避方法が http://gbatemp.net/index.php?showtopic=163347&st=58などに書かれていたのでメモ。

  Wii Scrubber を使って、この強制ムービー表示用 dol を抜き出す。

   partition2 -> sys -> mpls_movie -> player.dol

  この player.dol を SD に入れて、alternate dol (外部dol)起動のできる Loader で起動する。
  たとえば、 Configurable USB Loader
   (http://wiki.gbatemp.net/wiki/index.php/USB_Loader_Releasesの一番左 にあるもの)
   の場合。

    SD の /usb-loader/ に RZTJ.dol とリネームして置く。
    ゲーム選択後、「1」を押し、
     Anti 002 Fix を Onに。
     Alternative dol を On に。
    これでゲームを起動するとムービーが開始される。
    見終わると再起動がかかるので再度設定を変更し、
     Alnti 002 Fix は On のまま。
     Alternative dol を Off に戻す。

   これで、起動が可能になる。


 あ、もちろんモーションプラス装着していないと起動はできてもゲームはできないはず。たぶん。


 あとは、002FIXできるチャンネル化の方法を探さねば…


| | コメント (3)

より以前の記事一覧