ファミコンの画面描画を知る by マスクドPHPer

iOSDC Japan 2019
技術パッション共有トーク(60分)

ファミコンの画面描画を知る

MaskedPHPer マスクドPHPer MaskedPHPer
1

ファミコンの画面は8x8ピクセルで定義されたキャラクタを敷き詰めた画像(BG)の上にやはり8x8ピクセルで定義されたキャラクタ(スプライト)を重ねて描画されています。その名の通り多くの場合BGでゲームの背景を、スプライトでゲームの主人公や敵キャラを表現することになります。

この「BGとスプライトでゲーム画面を描画する」という設計はファミコンに限らず、PCエンジン, ゲームボーイ, メガドライブ等々、PlayStationより前のゲーム機に共通する設計でした。
すでに発売されているゲーム機より高い性能、より良い表現を求められるであろうゲーム機の設計においてなぜ画面描画に関する設計は共通になっているのでしょうか。それには当時の技術的な制約、出力先である家庭用テレビの仕様が影響していました。

このトークでは私が書いたファミコンエミュレータのソースコードを題材に、ファミコンの画面描画の仕組みや、画面描画をエミュレータでどの様に設計・実装しているのかを解説します。
そして、このトークを通してエミュレータのコードが「得体の知れない難しいもの」ではなく読んで楽しく、書いてみたくなるものであることをお伝えします!