見出し画像

X68000 わたし待つわ

わたし待つわ。といってもいつまでもは待ちませんが。
こういう年寄りネタは、若人にはまったく分かりませんよね。気にしないでください。

いよいよ、一歩前へ踏み出します。
前回のブロック崩しはお試しいただけましたでしょうか?(そんなひとがいらっしゃるのかはまったくもって不明ですが)

今回から、セカンドステップです。
禁断のあの技です。
ゲームプログラミングを少しでも齧ったことのある人にはおなじみのV-SYNC割り込みです。

前回までのファーストステップでは、一応遊ぶことは出来るのですがどうもスムーズさに欠けると言いますか画面がぎこちないと言いますか。
あ、もちろんブロックやパドルひいてはボールまで矩形でできていることもそうなのですが、今回から問題にするのは動きの滑らかさです。

液晶画面が一般的になった時代、ブラウン管を見たことがない人たちも増えてきましたが、その頃の動作原理は引き継がれているというのが面白いところです。

解像度では、FHD(1920*1080)が有名ですが、最近では4Kとか8Kとかの言い方の方が一般的かもしれません。
要は、横一列は1920ドット、縦は1080ドットで画面を構成していますよ。ということですね。
そして、描き方ですが、
------------------------------------>
------------------------------------>
------------------------------------>
こんな風に必ず左から右に1ラインずつ描いていきます。
そして1080本横ラインを描いたら最初の行に戻ります。
右端から、左端へ戻るタイミングがH-SYNCで右下から左上へ戻るときのタイミングがV-SYNCです。

この信号は、割り込みで受け取っています。
CPU側(GPU側)では、今どのタイミングなのか分かるということです。

ということで、たとえばボールの座標が計算出来たらすぐに描きこみたいのですが、じっと描きこむタイミングを待ちます。そうです、V-SYNCのタイミングが一画面描き終わった合図ですので、ここで一気に描き込み動作に入ります。

そうすることで、ちらつきのないスムーズな動きを表現できます。
と今回は、概念的なお話になってしまいましたが、実装はまた次に

2026.7.27


いいなと思ったら応援しよう!