X68000/X68030のグラフィック画面高速クリアの挙動

6
Makoto Kamada @kamadox

X68030 実機で、グラフィック画面の高速クリアが連続してできなくて、うーんってなってる。偶数フレームはすべて成功していて、奇数フレームはたまに成功している、ように見える。

2021-08-27 22:09:09
Makoto Kamada @kamadox

動作ポートのビット 1 が 0 のとき 1 を書き込むと垂直映像開始の直前にラッチされて高速クリアが始まる。1 が読み出されるのは垂直映像開始の直前から次の垂直映像開始の直前まで。0 になった瞬間に 1 を書き込んでもラッチに間に合わない。(たまに間に合うことがある?)

2021-08-28 14:53:39
Makoto Kamada @kamadox

実画面サイズが 512x512 のとき高速クリアするページを 4 ビットずつ選択できる。実画面サイズが 1024x1024 のときページ選択は無効。

2021-08-28 15:28:42
Makoto Kamada @kamadox

高速クリアではページ 0 のスクロール位置がすべてのページの消去範囲に影響する。ページ 1,2,3 の表示されていない範囲を消去できる。

2021-08-28 15:29:40
Makoto Kamada @kamadox

高速クリアされる範囲に X 方向のスクロール位置の最下位ビットが反映されない。256x256 で X 方向のスクロール位置が奇数のとき画面の右端に消去されないドットが残る。

2021-08-28 15:30:55
Makoto Kamada @kamadox

『Inside X68000』の「CRTC 動作ポートはバイトポート」は誤り。ワードで上位バイトは $00。 kg68k.github.io/InsideX68000-e…

2021-08-28 17:20:04
Makoto Kamada @kamadox

『Inside X68000』の図 24 CRTC 動作ポートに「グラフィック画面高速クリア開始(1)/停止(0)」「テキスト画面ラスタコピー開始(1)/停止(0)」と書かれているが、手動で止めるラスタコピーが 0 を書き込まないと止まらないのに対して、自動で止まる高速クリアは 0 を書き込んでも止まらない。

2021-08-28 17:34:27

サムネ用

JIN @lancerevo7gta

X68000 スターラスター 起動画面(フロッピー読み込み) これ一番カッコいい pic.twitter.com/kuX416C9Kc

2021-08-27 15:11:12
拡大