「ファミコンの驚くべき発想力」読書感想文
全体
ふーん、と思ったこと
- スクロール
- ファミコン本体側ではビデオRAMを2画面分しか用意してないので、そのままだと縦・横どちらかのスクロールしかできない。
- 縦・横・斜めスクロールは、カートリッジ側でビデオRAMを増設し、4画面分にすることで実現している。
- 画面の更新
- 画面(正確には画面の部品:スプライトや背景)の更新は、PPU(Picture Processing Unit)が活動していないわずかな隙を狙って行う必要あり。
- わずかな隙=垂直復帰期間(VBlank):CRTの電子ビームが、右下に来てまた右上に行くまでの期間。
- ダブルバッファリングなどないため。
- 画面(正確には画面の部品:スプライトや背景)の更新は、PPU(Picture Processing Unit)が活動していないわずかな隙を狙って行う必要あり。
勉強になったこと
- 非同期(割り込み)処理にハンドラ(リスナ)を使う理由:
- もしハンドラ(リスナ)を使わないとすると、プログラム側で監視することになる。
- 「if (Aボタンが押されたら) {……} 」みたいな記述をいたることろに書くことになる。
- ずっと監視するのはCPUに負荷がかかる(昨今の処理性能で考えると大した負荷ではないけど)。
- もしハンドラ(リスナ)を使わないとすると、プログラム側で監視することになる。
- ゲームプログラムの処理は日本語でも書ける。
- むしろ抽象度が上がるので、まずは日本語で書いたほうがよいのかも。
- なので、積極的に書いていくべき。