N64 ワンダープロジェクトJ2 メッセージコンバーター

これを楽しみにしている人はほとんどいないと思うが、
お待たせしました、第5回目です(笑)
今回は前回予告していたポケモンアドバンスはおいといて
(テーブルファイル流用できるから作るのは簡単そうだけどめんどいんだよね〜(ぉ )
SFCで好評となったワンダープロジェクトJの続編、
N64のワンダープロジェクトJ2です。

本家Imaha486さんが2バイトのものを作ってたので
こちらも負けじと2バイトのものを選んでみました(^^;


・テーブルファイルの作成・・・?
とりあえずはじめはテーブルファイルの作成からです。



GCCODEで、にいるのかしらをワード検索してみます。
見事に一件発見。



これをもとにテーブルファイルを作ります。っていうか、GCCODEで検索できた時点で気づくべきだったんでけど
次のひらがなおよびカタカナは、右がシフトJIS、左がワンダープロジェクトJ2の並び方です。

ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん
ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミ・ムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ
ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん
ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ

一部違うところもありますが、まったく同じですね。
これ以外の漢字や記号もまったく同じでした。
どうやらワンダープロジェクトJ2は、シフトJISを変形させたフォント配列を使っているようです。
これなら、テーブルファイルを作らなくても、値をシフトJISに変換するだけで
簡単にコンバーターが作れそうです。

私はこれに気づかずに、テーブルファイル作ってどうにかできないかと試行錯誤していました(笑)




・プログラミング
さて、一番の問題となるのは2バイト文字をシフトJISに変換する方法なのですが、
ひらがなは0xA1〜あたり、カタカナは0x81〜あたりというようになっていたので、
1バイト読み込んでその値によって処理をする、というように初めはしていたのですが
作ってるうちにある法則が成り立っていることに気づきました。

文字をxxyyとすると、xxの値が偶数のときは、
xx = xx ÷ 2 + 0x30
yy = yy - 2
と計算して出力。

奇数のときは、
xx = (xx + 1) ÷ 2 + 0x30
yy = yy - 0x61
(※このとき、もしyyが0x7F以上だったらyyに+1する)
と計算して出力

とこのようにすれば、簡単に出力できるようです。

実際にやってみるとこんな感じです。
シフトJISにハートマークがないので記号が◆になってますが
それ以外はちゃんと表示されます。


というわけで完成品がこちらです。
ダウンロード

2004/1/11
V1.0公開


さて、次回をお楽しみに〜




戻る