2017/01/31

arcadia2001に関するメモ(その2)

ミサイルウォーのような背景が白くなるゲームに納得がいかなくて、簡単なプログラムを作ったりして調べたことのメモ書き。

(以下メモ)

描画モードについて

定義できるスプライトとキャラクタ(PCGと言うべき?)は、それぞれ8×8ドット単色で4枚ずつ。
それとは別に英数と簡単な記号のキャラクタを持っている。

解像度としてはキャラクタを横16個、縦13個並べられる画面を2画面持った標準モードと、横16個、縦26個並べられる画面を1画面もった高解像度モードがある。

背景とスプライトはRGB各1ビットの8色から色を指定できるが、キャラクタは8色のうち指定された4色の2グループを切換して使用するしかないようだ。
また、英数キャラクタの代わりに8×8ドットのキャラクタを、横3分割、縦2分割のブロックパターンに切換して簡単なグラフィックを描くことも可能。
このモードも前述の通り、色は4色のどちらかのグループしか使用できない。
習作として、「ゆっくり霊夢」をカラーで描いてみようと思ったけど、後からこの色の問題が発覚して挫折…。
しかし、描画モードの中では色を反転するような要素は無かった。

色の反転する条件について

arcadia2001用アセンブラのサンプルコードを調べてみたところ、CPU(Signetics社製2650A)のプログラムステータスと呼ばれる特殊レジスタの上位6bitめをセットするとエミュレータ上では色が反転する様子。
これは実際に自分でもコードを書いてみて挙動を確認した。
しかし、CPUのデータシートを読んでみたところ、その特殊レジスタは『FLAG』という信号名のCPU40ピンをON-OFFするだけのものだった。

実機の再検証

前回の記事で、サービスマニュアルの回路図が少しおかしい事に気づいていたが、再検証してみたところエミュレータと同様にCPUの『FLAG』ピンで色が反転する回路になっていることを確認した。

回路図ではUVI(2637)の12ピンを74LS86へ接続するようになっているが、実機では未接続になっていることは前回の記事の通り。
実機では回路図上で未接続となっているCPUの40ピン(FLAG)が74LS86へ接続されていることを確認した。
CPUのFLAGピンの代わりにスイッチでHI/LOW切換できるようにしたら便利かな?

ミサイルウォーの正しい色は?

もう少し資料や解析をしてみないとわからない部分はあるが、ミサイルウォーの色はあれで正しい様子。
逆アセンブルしてみたが、CPUのFLAGピン切換に関するコードが『無い』
もしかしたら、他系統の互換機では色が反転しているのかもしれないが、画像や動画を探しても見付からなかった。

手持ちの他のゲームを逆アセンブルした結果は、
  • ドラえもん:明確にFLAGピンをクリアしている。
  • エスケープマン:FLAGピンのセット・クリア両方あり。機種を判別しているか?だとしたらトリガは?
結果としては少しモヤモヤするけど、もう深追いはしません。おしまい。



0 件のコメント:

コメントを投稿