Image: 211216 PS/55エミュ製作 [10]テキストモードの完全実装まであと1歩

VRAMに書かれた文字コードの大小から全角・半角を判別するというその場しのぎで、とりあえず画面モード03hを使用するDOSシェルが起動するようになりました。一部文字化けが発生しています。また、画面サイズが微妙に変なため下にミラーができています。CRTCのパラメーターに修正を加える必要あり。

ファイラーのFDがこの画面モードを使用しているようで、一部の文字が点滅したことからバグが判明し、属性解釈をバグ取りすることができました。

Image: PS/55 Emulator

属性解釈を実DOSと内蔵DOSの両方でテストするため、DOS上でバイナリファイルをVRAMへ転送するプログラムをわざわざ自作したよ。この調子で簡単なDOSアプリケーションなら作れるような気がしてきた。

Image: PS/55 Emulator

それよりも、カーソルの属性変更がディスプレイ・アダプター固有のレジスタを使っていて、しかも色解釈がIBM PC系列と異なるものだから、整合性を合わせるのに無茶苦茶苦労。混乱しすぎて今でも正直合っているのか怪しい。VZ Editorに付属するcursor.asmが参考になったんだけど、これDOSプロンプトで実行してもカーソルの色が正しく変更できないのは、エミュレーションとして正しいのか違うのか分からない。

日本語DOS上での文字モードのエミュレーション精度は上々です。いくつかの適用業務プログラム(古風な言い回し😆)を試してみましたが、軽く触った感じは問題なさそうです。

Image: PS/55 Emulator

Image: PS/55 Emulator

グラフィックモードは実装していませんので、一太郎や1-2-3は動作しないと思います。

PS/55用のアプリケーションは日本語DOS固有のファンクションを使用しているものが多く、素のDOSBoxで動作したのはVZ Editorだけでした。ただ、これも起動時の画面モード変更にMODEコマンドを使用しているので、バッチファイルからちゃんと動作させるにはMODEコマンドの実装が必要。

あとは画面モード03hの完全実装だけだが、考えるのすごくだるい。でも、さっさと終わらせたい。


※コメント欄が表示されない場合はdisqusについてJavascriptが有効であることを確認して下さい。コメントはスパム防止フィルターによる承認制のため、投稿してもすぐに反映されない場合があります。

管理人 : Akamaki (akm)

は、PCとVTuberに夢中になっている電気技術者です。

私はレトロコンピューティングの愛好家ですが、そのようなリグはもう収集していません。

私の活動はトップページで見ることができます。読んでくれてありがとう!