AK+で使えない字 [DS/GBA]
ここを訪れる方の中で、私が色々なカートの日本語化を行っていると
思ってる方がいらっしゃるようです。
私はローダにパッチしたりしていますが、これは不具合であったり、不合理な
チェックの解除等です。あくまで解析してパッチしています。
本来、あまり細かい事は気にしないので、メッセージが変だったり、日本語で
なかったりしてもさほど気になりません。
という訳で、メッセージの日本語化の作業はあまり意欲が沸きません
(ファイル名とかROMタイトルは、日本語がいいけど...)。
あしからず!!!
本題に戻って、要望のあったAK+FATで、「ポ」等をファイル名に使用した時の
不具合について調べてみました。
結果、ファイル名に 0x7C("|"、パイプと呼ばれるデリミタ)が含まれる場合に
SAVおよびSTファイルを新規作成できないことが分かりました。
事前に作っておけば大丈夫だと思います。
ダメな文字:-ポл榎掛弓芸鋼旨術酢掃竹倒培怖翻慾處嘶斈忿掟桍毫 .....
S-JISの2byte目は「40~FC(7Fを除く)」なので、0x7Cだけではなく0x5Cも
ダメでした(ソ等)。
いつものようにパッチします。
5C:2F:3A:2A:3F:22:3C:3E:7Cを検索して最初の5Cを00にパッチする。
・公式日本語版V1.15
akmenu2_fat.nds (2007年3月11日、0:25:28)
03C678:5C → 00
超々々、適当ですが動けばいいですよね。
追記:
いくらいいかげんでも、テーブルに2回も "*" 登場は変だろということで、"|" を無かったことに..
本来は、2バイト系を除外してファイル名に使えないコードをチェックしなければいけないところを
全部チェックしているため、S-JISの2バイト目に0x7Cがある文字がエラー判定されていた。
これをちゃんと2バイト系文字を省くように直すか、このチェックは本来要らない
(ndsのファイル名にsavとかstをくっつけているので、その名前にファイル名として使えない
文字が含まれているはずがない)ものなので、チェックしないようにパッチするのが理想です。
ちょっとみたら2ヶ所あって、面倒だったのでチェック用テーブルを書き換えました
(だって、半角の "|" を含むndsのファイル名なんてつけられないし...)。
¥マーク、お前もか!ということで、テーブルの先頭ということもあり、もう面倒なのでテーブルを
NULLにしちゃいました(ちょっと気にしてたが、チャント調べないからこんな事に..反省)。
そういえば、まだ残ってる要望が結構あったんだ...
お願いした者ですが、こんなに早く対処していただき恐縮です。
本当にありがとうございました。
by NO NAME (2007-04-04 22:48)
非常に適当です。
本来の処理を無視してテーブルを書き換えてます。
でも、問題なく動けば何でもいいですよね...
(本当に問題なければいいのですが)
by 皇帝 (2007-04-04 23:12)