SSブログ

Custom IOS38 rev14、またまた弄った! [Wii]

SD/SDHCの不具合対策後も IOSについて少し調べていました。

Custom IOSの導入は、NANDの書換えを伴いますので最悪の場合は、ブラックアウトなどの
致命的な状態になることも考えられます。
その中でも「shared」領域に、モジュールを書いた場合は簡単には削除できないので
あまりお勧めできません(mloadはこのケース)。
また、「cioscorp」などではオリジナルのIOSを弄っているので、もっと危険です。 

その点でも 「Custom IOS38 rev 14」は、安全なのですが一部のIOS 55を要求するゲームが
起動しないため「WBFS ExpLoader」でも mload(Use IOS 37 merged with IOS 36/38)を
使用するようにしていました。

そこで、「shared」領域を書き換えるmloadの使用を止めて、「Custom IOS38 rev 14」で
対応させるために...またしてもチョット弄ってみました。

cIOS38_rev14_Mod01

導入のテストは、私の環境でしか行っておりません。エラーが発生して導入できない場合は
詳しい環境を教えていただければ対応できるかもしれません。

<注意等>
 ・SD/SDHCに不具合が無い方は、USB HID(KBD)モジュールのみ修正してください。
 ・もし、導入途中でエラーが発生した場合や <B>ボタンでアンインストールした場合は、
  IOS 249に何も導入されていない状態になりますので「Custom IOS38 rev 14」の
  導入からやり直してください。
 ・NANDに、2MB以上の空きが必要です(チェックしていません)。
 ・FATモジュールは、テストしていません。
 ・USB HID(KBD)モジュールを修正した場合は、IOS 38でのUSB接続機器(キーボード等)が
  使えなくなる事が想定されます。

mloadの導入で、困っていた方..これが使えればいいな!と思いますが...


コメント(26) 
共通テーマ:日記・雑感

Custom IOS38 rev14、修正してみた.. [Wii]

R25の方で書いていたのですが...
私の環境では、Custom IOS38 rev14で SD/SDHCが非常に認識され難く
まともにWBFSが使用できませんでした。

多くの方は、問題ないのかもしれませんが..私と同じような状況の方もいらっしゃるようです。

そこで、導入されているCustom IOS38 rev14を修正するツールを作成してみました。
インストールプログラムの作成は、ソースが公開されていないため諦めて...
NANDから導入されているIOS249をダンプして、SDHCとFATのモジュールだけを差し替えて
新たにIOS249にインストールする仕組みにしました。

cIOS38_rev14_Mod

このツールを実行する場合は、事前にCustom IOS38 rev14を導入しておく必要があります。
また、この状態でSD/SDHCが問題なく使用できる場合は適用しないでください。
NANDの書換え等の危険な行為を伴いますので、自己責任で利用してください。

<注意>
 ・もし、導入途中でエラーが発生した場合はIOS249には何もインストールされていない状態に
  なりますので「Custom IOS38 rev 14」の導入からやり直してください。
 ・NANDに、2MB以上の空きが必要です(チェックしていません)。
 ・FATモジュールについては、まったくテストをしていません。


コメント(7) 
共通テーマ:日記・雑感

USB Loader GXについて [Wii]

まだまだ、開発途上のUSB Loader GXですが...
多言語化対応が進んでいます。FreeTypeGXの日本語対応を公開させて
いただいだ事もありますので..チョットだけ説明しておきます。

多言語化対応といっても組込まれているttfフォントは、日本語フォントは
含まれていません。日本語Unicode対応のttfフォント(font.ttf)に置換えて
リビルドする必要があります。
また、コード変換(Unicodefix)は簡体と繁体中国語しか組込まれていません。
当然、UTF-8で記述すれば良いと思うのですが...
残念ながら現状ではUTF-8からUnicode(UTF-16)の変換処理は、
1バイト系しか対応しておりません(近く対応されるとは思いますが..)。

結局、FreeTypeGX.cppの修正も必要になります。
ttfフォントのLSBの処理は追加(カーニング処理はあまり気にしなくてもいい)
されたので、UTF-8からUTF-16への変換部分だけの修正で十分です。

<FreeTypeGX.cppの修正箇所>
 68: char *tempSrc = strChar;
 69: wchar_t *tempDest = strWChar;
 70: while((*tempDest++ = *tempSrc++));
を、
 68: int ln = mbstowcs(strWChar, strChar, strlen(strChar));
 69: if(ln < 0) ln = 0;
 70: strWChar[ln] = (wchar_t)'\0';
に、修正します。

当然、「FreeTypeGX_JPN」を修正して使用すればSJISも使用できますが..
都度、修正が面倒だと思いますので....
但し、上記の修正ではゲームタイトルや言語ファイルはUTF-8で記述して
ください(ソースに日本語を入れる場合も..)。

UTF-8を使用する場合、半角カナのバイト数に注意が必要です。
表示上では、全角で2バイト半角で1バイトですが、実際には殆どが3バイトで定義されます。
表示上の桁数だけで、記入するとプログラム中で定義した桁数を超えてしまい
不具合が発生する可能性があります。全角は表示上と同じ2バイトです。


コメント(25) 
共通テーマ:日記・雑感

FreeTypeGX SJIS/UTF-8対応 [Wii]

FreeTypeGXの日本語対応で、SJISだけでなくUTF-8にも対応してみました。

判定は非常に適当なので、もしメッセージがバケる場合は表示するメッセージ側で
適当に調整してください。
今回の修正で、snes9x-gx等のlibfatを使用してファイル名を表示している
プログラムでも日本語を表示することができるようになります。

また、ソース内の日本語のメッセージやタイトルをUTF-8で記述するが可能になりました。

FreeTypeGX_JPN

但し、「libogc_SJIS」はUTF-8には対応していませんので、「libogc_SJIS」を使用する場合は、
今まで通りSJISにて記述する必要があります。


== 「読んでネ」の修正箇所  2009/5/5 ==

「usbloader-gui_DevJ」を、「FreeTypeGX_JPN」に読み替え

 ・libogc等の最新版を導入(snes9x-gxやfceugcから)
   snes9x-gx.googlecode.com/files/libogc-30-04-2009.zip
   fceugc.googlecode.com/files/libogc-30-04-2009.zip
    (USB Iso Loader GUIの場合もこちらの方がいいと思います)

 ・FreeTypeGX_JPNからsourceフォルダをコピー
   sjis2unicode.tblを、sourceフォルダ直下にコピー
  日本語用のフォントを、USB Iso Loader GUIのsource\fontsに上書きコピー
   (bg_options_entry.pngは、オリジナルが同一になったため削除しました)


コメント(41) 
共通テーマ:日記・雑感

FreeTypeGX 日本語対応 [Wii]

libogcの日本語対応に続いて、FreeTypeGXも日本語対応にしてみました。

FreeTypeGXは、USB Iso Loader GUIでしか確認しておりませんので
他のソフトでは問題があるかもしれません。

usbloader-gui_DevJ

詳しくは、「読んでネ.txt」をご覧ください。
テストに参加して頂いた方々に、感謝いたします。

USB Iso Loader GUIは、今のところ頻繁に更新されています。
メッセージの日本語化の作業は、暫く様子を見てから行った方がいいかと思います。

「読んでネ.txt」だけでは、良く分からない方が多いようならば..
R25に書きますのでリクエストしてください。R25の方は自分で調べてネ!


コメント(20) 
共通テーマ:日記・雑感

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。