X68000の画面間プライオリティ設定

X68000 ビデオコントローラ R1($00e82500)の画面間プライオリティ設定
2
GIMONS @kugimoto0715

2015年になってやっとx68000のビデオコントローラ R1($E82500)の画面間プライオリティ設定の謎が解けたので記録しておく。因みにTypeGはバグっている状態。

2015-07-19 00:54:28
GIMONS @kugimoto0715

$E82500のSP,TX,GRはそれぞれ2ビットで優先順位を指定することになっている。通常は00>01>10(11は未定義)で優先順位が高い、つまり数字的に小さいほうが前面にくる。

2015-07-19 00:56:13
GIMONS @kugimoto0715

ここで謎になるのが同値を指定した場合や未定義値を指定したときにどのような優先順位で表示されるかである。これには次の三つのルールで決定されている。

2015-07-19 00:57:24
GIMONS @kugimoto0715

1.SPとTXの優先順位を決定する  BGSPとテキストは一つのグループとして考える。  基本ルールは数字が小さい方が前面である。  同値の場合はテキストが優先される。  未定義値の11(10進数で3)も有効である。  →これでどちらが前なのかが決まる。

2015-07-19 01:00:31
GIMONS @kugimoto0715

2.GRがどこに割り込むかを決定する  ルール1でBGSPとテキストはどちらが前なのか決まっているので、  SP,TXの値がどうであれGRの数値はどこに割り込むかを決定する。  00:BGSPとテキストより前  01:BGSPとテキストの間  10:BGSPとテキストの後

2015-07-19 01:02:27
GIMONS @kugimoto0715

3.GRが11(未定義値)の特殊ケース  ルール1,2に関わらずGRに11を定義すると次の現象が起こる。  BGSPとテキストが非表示になる。  GRののみが表示される。

2015-07-19 01:03:38