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

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

                実機はVDPの出力を即表示させてますが、エミュレータはVDPの出力を一旦仮想ディスプレイ
                として裏のフレームバッファに書いて、その処理が終わってから表示対象のハードウェアに
                あわせて画像のコンバートをかけているので最低でも1~2フレーム分は遅れて表示されます。

              • Re: (スコア:2, すばらしい洞察)

                by Anonymous Coward

                間違いです。

                フレーム毎に
                ・実機ではレンダリングしながら表示
                ・エミュレータではレンダリングを終わらせてから表示
                という違いだけです。ですから実機とエミュレータでディスプレイに表示されるものに差は出ません。
                (実機が画面上半分のレンダリング中にあったリアルタイムな外部入力を処理し、それを下半分のレンダリングに反映させる場合は除きますが、そのようなゲームは存在しないでしょう)

                > 最低でも1~2フレーム分は遅れて表示されます。

                遅れとおっしゃいますが、何が何から遅れるのか理解して書いていますか?

              • > フレーム毎に
                > ・実機ではレンダリングしながら表示
                > ・エミュレータではレンダリングを終わらせてから表示
                > という違いだけです。

                「表示」を行ったら、一瞬で画面に反映されると勘違いしてませんか?

                テレビやコンピュータディスプレイなどの「ラスタースキャン」方式での画面表示では、
                「画面上である瞬間に光っているのは「点」一箇所だけ」で、
                「それを左上から始めて、右方向にいって画面端にきたら次のラインをまた左から右へ」と繰り返します。

                たとえば、解像度が320x240で60fpsなら、
                1つの点が光っているのは約160nsです。
                これを320回繰り返して、帰

              • Re: (スコア:1, 興味深い)

                by Anonymous Coward
                > 実際には、「表示を指示した、ちょうどピッタリのタイミングで、左上からの走査が始まる」とは限りませんから、

                ええとですね、エミュレータはディスプレイの垂直同期信号と同期して動きます。
                nフレーム目の出力が終わり垂直帰線期間に入ると、エミュレータは一瞬でターゲットVDPのエミュレーションをし、n+1フレーム目のレンダリング結果をホストのフレームバッファに書き込みます。n+1フレームの表示の開始時にはレンダリングは終了しています。(AZUCO氏の説明とまったく同じです)

                > ここで、「エミュレータではレンダリングを終わらせてから表示」を行うと、
              • なるほど。納得しました。
                そうなると、ラスタスクロールのことなどを考えると、VDPだけでなく、
                「CPUを含めた全システムの、1フレーム=17ms間の挙動のエミュレーション」を、
                「帰線期間、およそ0.8ms間に行う」必要がありますね。

                実機の20倍超の速度でエミュレーションができるなら、フレーム遅延無しにできるってことで。
                NEOGEOぐらいなら可能そうですが、
                今時の「ゲーム機のエミュレーションはこうなっている」と一般論として語れるものなのでしょうか?

                #最近の情勢に詳しくないせいか、にわかに信じがたかったり。

                あと、

                実機が画面上半分のレンダリング中にあったリアルタイムな外部

              • by Anonymous Coward on 2010年03月04日 12時45分 (#1727366)
                > そうなると、ラスタスクロールのことなどを考えると、VDPだけでなく、
                > 「CPUを含めた全システムの、1フレーム=17ms間の挙動のエミュレーション」を、
                > 「帰線期間、およそ0.8ms間に行う」必要がありますね

                依存関係を満たしさえすればいいので「全システム」というわけではないですが、(実機がフレーム描画の裏で行っている作業はエミュでもそうできます)
                リアルタイム制約があってクリティカルな部分なのは確かです。

                > 今時の「ゲーム機のエミュレーションはこうなっている」と一般論として語れるものなのでしょうか?

                エミュレーションの正確さを重んじているものはすべてこうなっていると思います。
                正確さより性能や手軽さを重んじるエミュレータもあります。(液晶テレビみたいな重いポストレンダリング処理をするとか)

                > そうならないようにするためには、処理を画面表示と同期させて、スプライトの座標設定をわざわざ帰線期間の間に行う、という一手間が必要。

                そうしないとちらつきの原因になりますよ。V-SYNCはタイマーがわりにもなっているので処理速度が一定しませんし。
                V-SYNCを取れない大昔の8ビットパソコンくらいじゃないでしょうか、フレームと処理を同期させないのって。
                親コメント

ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家

処理中...