Image: 240802 PS/55エミュ製作 [41]PS/55のモニターID検出方式

最近、OS/2のDDK (Driver Development Kit)を見つけて、これにディスプレイ・アダプターに関するヒントがワンチャンあればなぁ、でもこれは日本独自仕様だからないだろうな、と思いながら調べていたら、ディスプレイ・アダプターの内部レジスターが少しだけ分かる資料を見つけた。

ファイル名は PHOENIX.INC、説明は ATLAS video adaptor definitions とあり、MASMのプリプロセッサーを使って内部レジスターのインデックスを名前で定義している。もっと早い段階でこの資料を知っていたら、リバースエンジニアリングにそんなに時間を掛けずにすんだのに!

さらに、他のソースファイルによれば、ディスプレイ・アダプターのレジスターから読み取れる構成情報の中に、4ビットのモニターIDが記憶されていることが分かった。いくつかのモニターIDが定義されていたので、レジスターからIDを返すようにして、一つ一つ試してみたら、OS/2でカラー表示できるようになった。

// Monitor ID
#define  StarbuckC     0x0A  //1010b IBM 8514, 9518 color 1040x768
#define  StarbuckM     0x09  //1001b x              grayscale
#define  Lark_B        0x02  //0010b IBM 9517       color 1040x768
#define  Dallas        0x0B  //1011b IBM 8515, 9515 color 1040x740 another palette

右のコメントは私が追加した。Starbuckというのは何かのコードネームで、コーヒーのスターバックスとは多分関係ない😆。StarbuckCとStarbuckMでカラーとモノクロが定義されていることから、5574カラー表示装置のIDはIBM 8514と同じなのではないかと推測できる。このことから、技術解説書ではディスプレイ端子の一部のピンでReservedとなっていたところは、実はMonitor IDとして使われている可能性が高いことが分かる。

エミュレーターの開発は大分進んできたが、まだ表示のバグがいくつかあって、これを直すのに時間が掛かるかもしれない。

Image: PCem55 beta


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

管理人 : Akamaki (akm)

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

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

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