ファミコンのプログラム4at GAMEDEVファミコンのプログラム4 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト267:名前は開発中のものです。 14/06/08 02:12:41.17 CkZRo6BG.net >>266 続き VBlank期間は、一瞬で戻るのではなく、NTSC(日本のアナログ放送の信号規格)の場合 20本分の横線を描くぐらいの時間があります。この間、電子銃から電子は飛びません。 非VBlank期間は、ファミコンのPPUは画像の信号を作るため、 CHR-ROMからパターンを読み込んだり、VRAMからネームテーブルや 属性情報を読み込んでいて、PPUの信号線(PPUバス)を占有しています。 VBlank期間は、PPUが画像の信号を作らないので、PPUバスは開放されており CPUはPPUを介してPPUバスにつながっているVRAMにアクセスできます。 「VBlank待ちの直後にVRAMの書き換えを行え」というのは、PPUが映像信号を 作るのに邪魔にならないタイミングでVRAMにアクセスしなさいということです。 268:名前は開発中のものです。 14/06/08 02:53:09.19 CkZRo6BG.net >>267 続き 非VBlank期間中にCPUがVRAMにアクセスできる方法があります。 PPUレジスタ $2001 のbit3とbit4を0にして、BGとスプライトを非表示にすることです。 画像の信号を作るためのPPUのCHR-ROMやVRAMへのアクセスが止まるので PPUバスが開放され、CPUはPPUを介してVRAMにアクセスできます。 代わりに、画面に何も表示されない箇所が現れることになります。 BGとスプライトを非表示にするタイミングにばらつきがあると、 画面がちらつく現象となります。 > VBlankのタイミングと書き換えは理解しずらいのですが、ファミコンのPPUの仕様なんですかね。 ファミコンの設計による制限であるため、仕様と言えば、その通りです。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch