231226 PS/55エミュ製作 [23]今後の課題
PS/55エミュレーターを作り始めてから2年が経ったけど、実機がない中で現状やれることはやり尽くした気がする。テキストモードが実装できればいいと思っていた当初の想定を上回って、BASICのグラフィックアプリケーションが動くレベルになったので、JDOSを動かす環境としては十分。
ソフトウェアや資料さえ集まれば、まだまだ改善の余地はある。
OS/2 J1.x
せっかくのPS/55なので日本IBM版のOS/2 J1.xを動かしたいという気持ちはあるんだけど、私がそもそもディスクを所持していないのと、あったとしても現状は動かないでしょう。
OS/2 1.xを動かすにはハードウェアのエミュレーションやPS/2特有のABIOS (Advanced BIOS)、80286プロテクトモードの実装などが必要になってくるので、DOSBoxベースでは無理がある。86BoxではOS/2英語版が動くので、そこにPS/55の拡張部分を実装すればワンチャンあるか。ただ、現状でWindows 3.1のディスプレイドライバーが動かないことから、ディスプレイ・アダプターのエミュレーションが不完全と考えられ、OS/2でも同じ問題にぶち当たりそう。
韓国版、台湾版、中国版への対応
PS/55は韓国、台湾、中国にも各国向けにローカライズされた上で輸出されている。JDOSに相当する各国向けのDOSが存在するはずだが、それがないことには実装しようにもテストができない。文字コードが分かればDOSアプリケーションレベルでは何とかなりそうだが、それ用のフォントローダーを組み込むのが手間。
APIレベルでの対応
JDOSのシステムディスクなしにJDOS用アプリケーションを動かすとなるとJDOS固有のAPIを追加する必要があるが、資料(技術解説書)がないので追加のしようがない。JDOS自体は手元にあるので動作解析である程度何とかなるかもしれないが、骨の折れる作業だ。
マルチステーション5550用のDOS
KDOSを調べた感じ、5550のハードウェアはキーボードとグラフィック周りがPS/55互換で、他はPC/XTに近い。ただ、ディスクBIOSのブートローダーやハードディスクのパーティションテーブルは5550固有の仕組みがあると予想する。調べてもDOSブートローダーのエントリーポイントすら分からず、途中にBIOS ROMへFAR JMPする部分もあり、せめて実機のBIOS ROMがないことには、これ以上の解析は難しい。
もし上記のような課題を解決できる見込みがあれば、また改良を進めるかもしれない…