パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

NEOGEO、誕生から20周年 」記事へのコメント

  • PS3/PSPにNEOGEOアーカイブスができて、過去のNEOGEOソフトを遊べるっていう噂が出てますね
    本当だとうれしい

    • Re: (スコア:1, 参考になる)

      by Anonymous Coward

      Wiiだと既にバーチャルコンソール化 [snkplaymore.co.jp]されていますね。
      流石にプログラムそのままではないでしょうが、Xbox 360のXbox Live ArcadeでもいくつかNEO GEO用ソフトを見かけますし、PS3の性能だったら完全再現も難しくないんじゃないですかね。

      • by Anonymous Coward
        フレームバッファを採用したアーキテクチャのPS3で完全再現はけっこう難しいと思います。
        • ああいうのは内部で仮想VRAMを持っていて、フレームの最後にVRAM内容を転送するだけですね。
          だからむしろグラフィック的には負荷は低いと思います。
          • by Anonymous Coward
            表示の遅延はどうやって解消するんですか?
            • 遅延が発生するのですか?

              実機 V-Blank-In
                VM 処理開始
                VM V-Blank-Out
                VM V-Blank-In
                  描画処理>BLT
                VM 処理終了
              実機 V-Blank-Out

              特に発生する要因は無いと思いますが・・・
              • by Anonymous Coward

                遅延は発生しますよ。
                ビデオゲームの多くは表示期間と垂直帰線期間を合わせたフレームという単位で動かしているものが一般的ですが、そのフレームのなかでのプロセッサの処理は、大よそ以下の通りとなります。

                ----------------------------------------
                フレーム1表示期間
                ・プレイヤー操作入力
                ・ゲームロジック演算(自キャラ敵キャラの動き、当たり判定など)
                ・ラスター処理(スクロール、パレット書き換えなど)
                ----------------------------------------
                フレーム1垂直帰線期間
                ・スプライトテーブル書き換え
                ・BG書き換え
                ・パレット書き換え
                ----------------------------------------
                フレーム2

              • by Anonymous Coward on 2010年03月05日 3時48分 (#1727837)
                > 対して、これをフレームバッファ式のアーキテクチャで実現しようとすると、フレーム1でのプレイヤー操作入力に対して表示するビットマップの内容を決定できるのはフレーム2のラスター処理を終えた時点です。それからイメージをレンダリングし、テクスチャとしてVRAMに転送し、描画したあとページをフリップすることとなるため、プレイヤー操作入力の結果としての表示の遅延はラインバッファのものに比べて大きいものなります。解決する方法はありますが、「内部で仮想VRAMを持っていて、フレームの最後にVRAM内容を転送するだけ」というレベルの仕事では済みません。

                エミュレータは通常はラインバッファのエミュレーションをします。
                つまり、1ライン分(水平帰線期間除く)サイクルのCPUエミュレーションをし、HSYNC割り込みを処理し、1ラインの水平帰線期間分のCPUエミュレーションをし、1ライン分のレンダリングをし、それを縦解像度分だけ繰り返します。
                フレームのラスター処理を終えてからレンダリングをする、ということはありません。

                縦解像度分のレンダリングが終われば、それを次のフレームの表示までにVRAMに転送するだけです。
                重要なのは、エミュレータ上のレンダリングやラスター処理はリアルな走査線とは無関係に行われるということです。フレームの表示に間に合えばそれでいいのです。
                親コメント

あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー

処理中...