Wiiを始めました! [Wii]
NDSは、相変わらず休止中ですが...最近になってWiiを始めています。
一応ですが..このブログはNDS休止後も月1更新を目標にしていましたので..
丁度良いタイミングです....
ここに来て、WiiのHomebrewが面白くなっていますネ!
早速ですが、私も開発環境の準備をしていたりします。
たまたま、メインPCが逝ってしまったので..devkitProを入れ直す時に
Wiiの開発環境も導入してみました。
まずは、やっぱり日本語を簡単に表示したい..ということで..早速、libogcを弄ってみました。
速度無視の適当版ですが、FONTX2の16dotのフォントに対応してみました。
このライブラリに置き換える事により、標準出力のprintf等でSJISの日本語や
半角カナが表示できるようになります。
フォントは、「東雲フォント」と「ぱうフォント」の2種類を用意しましたので
お好みの方のライブラリを使用してください。
GCでは、チェックしていません。
まだまだ、Wiiついては調査中ですので...当面の間は公開できるような
Homebrewは作れないかと思っていますが...
まずは、公開されているソフトのソースを色々弄って楽しんでいます。
PSPの時みたいに、すぐに断念するかも?
<追記・修正> 2009/4/21
libogcで、追加したfont.sのソースですが..ぱうフォントを使用するようになっています。
コメントにしている東雲フォントを指定する部分の半角と全角が入れ違ってます。
正しくは、下記のようになります。
# .incbin "../font/SHNHN16X.FNT" # 東雲フォント DOS/V fixed Helvetica
# .incbin "../font/SHGZN16X.FNT" # 東雲フォント JIS X 0208:1983 ゴシック体
新たに、フォントを指定してライブラリを作成される方は注意してください。
公開した東雲フォント用のライブラリは問題ないと思いますが...
コメントは、オープンしますが...回答は期待しないでください。
やってみます~
by しう (2009-04-21 00:20)
おぉぉぉー、ありがとうございますの感謝感謝です!
私もFreetypeGXを組み込んでガンバッテはいたのですが
今ひとつうまくいかずに挫折しておりましたorz
早速ためしてみます!!!
本当にありがたいです
by klan (2009-04-21 01:01)
早速組み込んでみましたが・・・
完璧すぎます!
素敵です!!!
よもやこんな方法があるとは考えもしませんでした。
勉強になりますです
by klan (2009-04-21 01:11)
ゲームタイトル以外のところも日本語化していて気が付いたのですが
特定の文字などが一部文字化けするようですね。
たとえば
「十字キー」という文字が廣嚇~みたいな
by klan (2009-04-21 01:26)
テキトーにやっていたらUSBLoaderの日本語化ができました。
ありがとうございました。
by tokito (2009-04-21 01:44)
klanさん
理由は置いといて...
日本語文字列を、変数に代入してから使うといいかも
また、こんな感じでも
printf("%s", "構いません");
by 皇帝 (2009-04-21 02:40)
該当スレッドにてWii関連Coderの有名所が集まって新たなLoaderつくってます。
参画していただければ、日本のユーザーとしてはありがたいです!
by 禅 (2009-04-21 07:53)
ライブラリ公開感謝です。
コンパイルするのは初めてなんですが
これを機にチャレンジしてみたいと思います。
by ccd (2009-04-21 07:58)
皇帝さん
なるほど!
早速ためしてみます、わざわざありがとうございました。
by klan (2009-04-21 10:33)
皇帝様、いつもありがとうございますm(__)m
こちらを置き換え、日本語表示に書き換え、リコンパイルすれば、Snes9X GX等も日本語化しますでしょうか?
by ryou (2009-04-21 13:26)
文字化けの件ですが、変数代入でも同じ現象がでるようです。
実際には、以下の文字列処理の場合
char *st = "十字";
printf("%s\n",st);
上記の文字列だとコンパイル時点で
warning: unknown escape sequence: '\216'
と警告がだされ
「十字」を「十」だけにすると
warning: missing terminating " character
となるようで
どうも文字コードによっては使えないものがあるのかな?という感じです。
by klan (2009-04-21 23:08)
ところで、話はかわって現在乱立しているUSB Loaderですが
新たにWaninkoko (v1.1)をベースにlibWiiGuiを取り込んだプロジェクトが始動したようです。
実質的な機能としてはUltimateがベースになってる感じですね。
(Ultimateのメンバーが強力してるそうで)
で、これヒジョーにかっこいいのですがテキスト処理にFreetypeGXを使っているため
せっかくの日本語ライブラリーがぁぁぁorz
Freetypeはttfフォントを組み込めるため、日本語対応に関してはコード処理だけかな?
と思っているのですが、考えが甘いですかね?
また再挑戦してみようかと思っているのですが、今回の日本語化ライブラリーの処理
でも同様のコード変換処理をされているのでしょうか?
できれば参考までに、お教えいただけると嬉しいです。
ちなみに、上記のプロジェクトは以下のリンク先となります。
ttp://gbatemp.net/index.php?showtopic=149922&st=0&start=0
ttp://code.google.com/p/usbloader-gui/
by klan (2009-04-21 23:31)
皇帝さん、みなさん、はじめまして。
Silver Falconと申します。宜しくお願いします。
今年に入ってから頻繁にこのブログを拝見させて頂いたのですが、
なかなか書き込みを行う勇気がなく、タイミングをずーっと逃し、
現在に至ってしまいました。
少し私でもお話できそうな話題が出ていますので、参考になるか分かりませんが
書き込みさせて頂きます。
klanさん
私は、UNIXでのC言語開発の知識しかないので該当するか分かりませんが、
その文字化けは、Shift-JISで起こる
「2バイト目が"5C"と成る場合の問題」
では無いかと思います。
今回の問題となるだめ文字は「十」です。
細かい事を説明すると、長くなるので割愛させて頂きますが、
対処方法として、以下の2つの何れかを試されては如何でしょうか?
(devkitProで可能か分かりません。自分で試せば良いのですが、申し訳ないです。)
1.ソースコード自体をEUC(UTF-8でも良かったかな)に変換してコンパイル
2.問題のだめ文字の後ろに\を付与する。
「十\」 ・・・ またはバックスラッシュ「十\」
これでダメなら、私もお手上げです。
ちなみに2バイト目が"5C"となるだめ文字は以下となります。
―ソЫⅨ噂浬欺圭構蚕十申曾箪貼能表暴予禄兔喀媾彌拿杤歃
時間があれば、自分でも試してみたいと思います。
by Silver Falcon (2009-04-22 01:55)
連続書き込み申し訳ございません。
2.問題のだめ文字の後ろに\を付与する。
「十\」 ・・・ またはバックスラッシュ「十\」
ですが、最初の"\"は、Yenマークのつもりでした。。。
Yenマークか、バックスラッシュを付与してください。
失礼しました。
by Silver Falcon (2009-04-22 01:59)
Silver Falconさん
早速、ご指摘いただいた対処方法を試してみました。
>1.ソースコード自体をEUC(UTF-8でも良かったかな)に変換してコンパイル
ソースをUTF-8で保存した場合、前述のような警告はでずdevkitのNotepad
でも正常に表示されていたのですが、Wii上では文字化けが発生しました。
EUCの場合は、devkitのNotepad上ですでに文字化けが発生しており
Wii上でも全く同じ化け文字で表示されました。
次に、該当の文字の後にバックスラッシュを付与する方法ですが
これだと問題なく表示されました!
わざわざダメ文字一覧まで提示していただきありがとうございます。
これらについては、この方法で対処してみたいと思います。
by klan (2009-04-22 07:24)
面白そうなのでいろいろといじくって遊んでいますが、ちょっと気になったことがあります。
全角表示の部分で、カラム(コラム?)の端で全角表示をしようとしたとき、
改行のみ行い、全角1文字分をロストしてしまうのではないでしょうか?
(con->cursor_col = con->con_cols の位置に全角表示しようとした場合)
”全角”、”半角”混在で一番端が全角表示というのはあまりないと思いますが・・・
by can-can (2009-04-23 14:44)
連投すいません。
よく見たら、con->cursor_col = con->con_cols にならないように処理がしてありました。早とちりすいません。お騒がせしました。
by can-can (2009-04-23 15:22)
can-canさん
超適当なので、文末の処理は不十分かも?
テストもしていません。
klanさん
ちょっと勘違いというか忘れてました....
Silver Falconさんのご指摘通り、SJISのダメ文字(0x5C問題)は、
ダメ文字の後ろに\(円マーク・バックスラッシュ)を入れるしかないです。
わたしは、自動的に\を補うラッパーをカマしていたので気がつきませんでした。
USB Iso Loader GUI by dimok,nIxxx,cyrex et al :P の
日本語化にも挑戦してみました。
英語は苦手なので、さすがにプロジェクトには参加できないですが....
正式版になる頃には、何らかの形で公開したいと思ってます。
でも、フォントとか版権が絡むものが多くて...
密かに、若干名の人柱テスターを募集中です。お問い合わせはメールで..
サイズが大きいので..大きなメールが受信できる必要があります。
by 皇帝 (2009-04-23 20:33)
皇帝 さん
自動的に\を補うラッパーですかー、そんな方法もあるのですね!
まだまだ勉強せねば!
人柱テスターですか?
人柱、大好きな言葉ですw
お役に立てるかわかりませんが、参加させて頂きたいです。
メールさせて頂きますです。
by klan (2009-04-23 21:14)
皇帝さん
はじめまして
皇帝さんの記事を見て日本語化させていただきました!
私の知識不足なのですが Used space のところのように
% のある部位はどのように入力すれば反映されますか?
by a-mo (2009-04-25 16:05)
a-moさん
printfなら"%%"で'%'が出力されるかと思われます。
by goro (2009-04-26 13:34)
こんにちは、PS2のHDLみたいにWiiもならないかなって思っていたら、USBL、さらに、日本語環境まで構築できてしまって、感動と感謝でいっぱいです。
皇帝さん、ありがとうございます。
Codeingは全くの素人で、なんとかBuildして喜んでいたのですが、私が使っているConfigurable USB Loaderが、ここ数Ver、エラーでBuildできなくなってしまいました。cfg19以降ソースに追加された、console.cが原因のようなのですが、以下のエラーで失敗してしまします。
linking ... cfg21.elf
console.o: In function `__console_init':
console.c:(.text.__console_init+0x4a): undefined reference to `console_font_8x16'
console.c:(.text.__console_init+0x6a): undefined reference to `console_font_8x16'
console.o: In function `__console_init_ex':
console.c:(.text.__console_init_ex+0x42): undefined reference to `console_font_8x16'
console.c:(.text.__console_init_ex+0x5e): undefined reference to `console_font_8x16'
collect2: ld returned 1 exit status
make[1]: *** [/g/cfg21/cfg21.elf] Error 1
"make": *** [build] Error 2
何か、方法があれば、ご助言いただければ幸いです。
長文、申しわけありません。
by miranda (2009-04-28 17:36)
自己レスです
何かと、やってみましたが同じ結果で、最後強引に、追加されたconsole.cをソースから削除して、usbloader.pnprojを再構成したら、Buildできました^^;
動くのかと、半信半疑でやってみたところ、起動しました。何をしてどうなったのかは、よくわかりませんがとりあえずご報告まで...(汗
by miranda (2009-04-28 20:15)
皇帝さん 一連の日本語化ツールありがとうございます!
いろいろなツールを日本語化できるか試していたのですが、次のツールは文字化けしてしまいます。
waninkokoが公開しているツールでWii内のセーブファイルを取り出したりインストールしたりできるものなのですが、これをlibogc_SJIS化したdevkitProでコンパイルしてもWii内のタイトルが文字化けしてしまいます。
もし原因がお分かりでしたら教えていただけるとうれしいです。
http://github.com/waninkoko/savegame-manager/tree/master
by AZK (2009-05-03 09:39)
AZKさん
これは、フライングというか..まだalpha.1で、正式公開ではないですね。
現在のVerでは、libogcの日本語化に関係なくゲームタイトルが化けます。
これは、banner.binのゲームタイトルがUTF-16(CCS-2)なので...
日本語以外のゲームなら問題ないのですが...
対応は可能なので、公開されたら考えます。
by 皇帝 (2009-05-03 13:56)
原因はUTF-16(CCS-2)だからということなんですね。
教えてくださってありがとうございます。
面白そうなツールなので、日本語対応モジュールの検討についても期待しております!!
by AZK (2009-05-03 14:50)
はじめまして。yzfr1と申します。
皇帝さんのリリースされたlibogc_SJISのおかげでsavegame managerの
日本語タイトル文字化けを解消できました。ありがとうございます。
by yzfr1 (2009-07-26 23:42)
いつの間にかNDS休止しましたか..
というのもポケモンのHGSSのsavのリストアが(ry
とかでNDS Backup tool更新とかないかな~とかいう期待して・・w
Wiiは今色々更新されてたりと面白いですね
自分もやっています
相変わらず凄いですね
使わせて頂きますねー
by 通り名 (2009-09-12 11:27)