« [Treo] フルリセット連発…(--; | トップページ | [Treo] PalmでWMVファイルを見たい! »

2007年8月28日 (火)

[DOSモバ] 「ATOK8 for DOS/V」の覚え書き

相変わらずDOSモバを使っていまして、なんかATOK8の調子が悪いので、ついでにDOSモバの再構築をしてみました。

とりあえず、過去のバックアップが当てにならないので、仕方なくATOK8を最初からインストールしようと思ったんですが、DOS環境がないとインストールできないんですね。(^^;
「友樹のおもちゃ箱」を漁れば、DOSの起動ディスクくらい見つかるだろうと思っていたですが、今回に限って、何故か見つかりません。(--;
とりあえず、オリジナルFDの内容を覗くと、ドライバとユーティリティは無圧縮の状態で記録されているようなので、そのままコピーして使えそうです。(^^)
問題は、辞書ファイル!
これが、ディスク2枚に分割されて、JustSystemオリジナルの圧縮がかかっているようです。

仕方がないので、ネットで情報を調べると、ATOK8にはATOK7/8/9の辞書ファイルが使えるという情報を見つけ、「友樹のおもちゃ箱」を探してみると、ありました「一太郎6 for Windows」のCD-ROM!
この中に分割されていない(もちろん無圧縮の)「ATOK9 for Windows」の辞書ファイルを発見!
後は、バックアップにあった「ATOK8.CNF」ファイルから起動パラメータをコピーして、「ATOK8 for DOS/V」の復活です。(^^)

と、思っていたら、これだけだとダメみたいで、DOSモバでATOK8を使う場合、いくつかの問題点があることを忘れていました。
「VZ Editor」でも発生する問題点ですが、MobileGearでBeep音を呼び出す時に仕様の違いからハングアップしてしまうという問題があります。
これに対応するパッチを「ATOK8A.SYS」に当てる必要があります。
あと、20行表示の際に最下行の表示が正しく表示されないという問題もあるようです。
これはバイナリエディタで、2カ所くらいを書き換えるだけでいいそうです。
詳細はリンクを参照してください。

■Beep音発生時のハングアップ対策パッチ
■20行表示を修正するパッチ

改めて、多くの方々のお力でDOSモバは最高のテキスト入力マシンとして完成されていたんだぁと思った友樹でした。(^^;

■ATOK8を20行モードで使うと最下行で不具合がある。

Ans.video mode=75h(20行表示)で使う場合,画面の最下行で日本語変換すると表示されない事がありますが,atok8a.sys に次のパッチを当てると,この不具合を回避できます。(ATOK8はDOS/V用を使う)

    0f5c5: fe c3 88 26 → 90 90 … …
    17310: fe c3 88 26 → 90 90 … …

 同様に,video mode=12h(30行表示)対策としては上記に加えて,

    0f5b3: 76 4c 3c 70 → 72 … … …
    172fe: 76 4c 3c 70 → 72 … … …

デバッガを用いて,fe c3 → 90 90 の書き替えを行います。なお,ATOK8 のバージョンによってはアドレスがずれる事が予想されるので,上記の 4 bytes パターンを参考にして下さい。MS-DOS に付属している debug.exe を使ったパッチ当ての例を以下に示します。(このパッチ情報は筆者が独自に見つけたものであり保証するものではないので,自己責任で実施願います)

まず,copy atok8a.sys atok8a.org を実行してオリジナルを保存しておく。次に,

    debug atok8a.sys↓             ←デバッガの起動
    sf000,fff0 fe c3 88 26↓       ←検索(search)コマンド
    1F46:F5C5                      ←debug からのメッセージ
    ef5c5↓                        ←検査(examine)コマンド
    1F46:F5C5 FE.                  ←続いて 90 90↓ を入力する
    s2f46:7000,8000 fe c3 88 26↓  ←上の 1F46 に +1000 したもの
    2F46:7310                      ←debug からのメッセージ
    e2f46:7310↓
    2F46:7310 FE.                  ←続いて 90 90↓ を入力する
    w↓                            ←結果をファイルに書き戻す
    q↓                            ←debug の終了

これで atok8a.sys の書き替えができました。なお,上記のアドレスは MK32 で gmenu から起動した場合のものであり,環境に依存します。debug.exe は Win98 se などにも標準で添付されているので,DOS窓で上記を実行する事ができます。また,debug.exe の代りに Free の exdeb.exe を使う事もできますが,モバではコンベンショナルメモリが不足するせいか読み込めません(Load Fail!)。そのような場合は,DOS窓で実行してみるとよいでしょう。ただし,config.sys の設定で,EMM386 の次の行に dos=HIG H,UMB を追加して,コンベンショナルメモリ領域を広く確保しておく必要があります。

 また,警告音(ビープ音)が出力されるケースではモバのハードが異なるためにハングアップします。これを避ける方法として,当方で見出したものではありませんが,参考までに挙げておきますと,

    0ec36: b0 fc e6 61 → 24 … … …
    16981: b0 fc e6 61 → 24 … … …

上記と同様にデバッガを用いて,b0 → 24 の書き替えを行うと回避できるようです(ATOK8のバージョンによってはアドレスが異なる事がある)。

[注]mgdisp2 において,video mode=70h のままで15行と20行表示をすれば,上記のパッチは必要としませんが,アプリケーションからのBIOS経由の画面モード変更ができなくなります(両者を区別できない)。したがって,現状のような画面モードの仕様にしています。なお,前者のパッチ(fe c3 → 90 90)を当てたATOK8を他の機種で使っても不都合は生じません。

|

« [Treo] フルリセット連発…(--; | トップページ | [Treo] PalmでWMVファイルを見たい! »

DOSモバ」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: [DOSモバ] 「ATOK8 for DOS/V」の覚え書き:

« [Treo] フルリセット連発…(--; | トップページ | [Treo] PalmでWMVファイルを見たい! »