Image: 250404 PS/55エミュ製作 [51]DOS/V Extensionへの対応に向けて開発中

気がつけば4月…PS/55DAのエミュレーションをDOS/V Extensionに対応させるようと画策中ですが…新機能を1個追加すると10個潰さなければならない不具合が出てくるから大変です。

エミュレーション開発初期にDOS/V Extensionを試した時は何も表示できず絶望したな。あの時はDAがBitBltを持っていることすら知らなかった。今はBitBltデータのパース処理を組んでいるから、デバッグ用のダンプデータに未知のデータがあれば、それをパースの解釈に加えることで対応可能になった。

ビットマスク処理の正解を見つけるのがとてつもなく大変だった。次はビットマスク処理の正解を当てる前のスクリーンショット。

Image: 86Box55

DOS/V Extensionに対応するために以下の機能を実装しなければならなかった。

  • 文字フォント転送機能
  • 表示開始アドレス
  • ライン比較レジスター(ラインコンペアスクロール用)

とりあえず、文字は表示できるようになったものの、属性の解釈が合わない。

Image: 86Box55

属性解釈はBitBltの1パラメーターをビット反転させるだけで良かった。

Image: 86Box55

DSPXDA2で使用できる拡張テキストモードのリスト。

Image: 86Box55

OS/2で新たな不具合がいくつか出たため、これに対応するのにも、もう大変時間が掛かった。Windowsでは修正すべき所はそんなに無かった。

改めてDOS/V Extensionを色々試してみると、縦書きのモードで半角文字が表示されていない。DOSで縦書きなんて使う人いるか?

Image: 86Box55

漢字ROMから外字RAMへのデータ転送が上手くいっていないようなので、DA内部メモリーアクセスのレジスターのバグだろうなという予想を立てているところ。うーん、カメのような遅さではあるけど、なんとか開発は進んできたな。


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

管理人 : Akamaki (akm)

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

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

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