ニコ動でレトロゲー巡りをしていると、
PC-6001というやつで黄金の墓というゲームを見かけた。
すんごくシンプルな絵なんだけど、
絵をどんどん描いていくような処理がなんだかとっても魅力的だった。
描画の記録とかどうやってるんだろう?
MSXのミステリーハウスのタイトルも似た感じだからBASIC調べれば分かるのかな?
昔、お絵かき掲示板なるものが流行ったときにも絵を描く様子がわかるリプレイ機能があったけど、
似たようなことやってるのだろうか。
(間隔開いてるキーボードってなんかいいなぁ(*´ω`*))
絵を描く処理??
Re: 絵を描く処理??
PC-6001とかMSXとかは,複雑な処理をしようとするには遅いだけ,というのが描画内容が見える原因ですね。
VRAMへのアクセスは,外部へのI/Oなのでそれなりに重い処理です。
描画内容は,VRAMに直接保持されているはずです。
VRAMへのアクセスは,外部へのI/Oなのでそれなりに重い処理です。
描画内容は,VRAMに直接保持されているはずです。
Re: 絵を描く処理??
YuOさん
処理が遅くても、線をかいて色塗りつぶしてる!すごい!と思っちゃいます(笑)
パッと表示できる今、逆に新鮮というか・・・。
>描画内容は,VRAMに直接保持されているはずです。
どんどん描画の指示を送っている感じですかね。
なんとなくイメージが掴めてきました。ありがとうございます。
処理が遅くても、線をかいて色塗りつぶしてる!すごい!と思っちゃいます(笑)
パッと表示できる今、逆に新鮮というか・・・。
>描画内容は,VRAMに直接保持されているはずです。
どんどん描画の指示を送っている感じですかね。
なんとなくイメージが掴めてきました。ありがとうございます。
Re: 絵を描く処理??
当時はVRAMを直接保存できるようなメディアがなくて(あるいはとても高価で)、線や円や塗り潰しの命令を駆使していました。
線の開始と終了の座標と色、閉領域を塗りつぶす開始点と色、といった数値をあらかじめ準備しておいて、それを読みながら対応する描画命令を実行します。
そうすることで少ない容量でもたくさんの画面をオンメモリにできます。
高速化のためにBASICの命令を高速なものに置き換えたり、拡張したりするテクニックも流行ってました。
ちなみにエニックス(現スクエアエニックス)が1984年に発売した桂正和原作のウイングマンのゲームが描画済みの画面を読み込むタイプで、画面の切り替えにカセットテープ版だと数十分、フロッピーディスク版でも数分要するというものでした。
線の開始と終了の座標と色、閉領域を塗りつぶす開始点と色、といった数値をあらかじめ準備しておいて、それを読みながら対応する描画命令を実行します。
そうすることで少ない容量でもたくさんの画面をオンメモリにできます。
高速化のためにBASICの命令を高速なものに置き換えたり、拡張したりするテクニックも流行ってました。
ちなみにエニックス(現スクエアエニックス)が1984年に発売した桂正和原作のウイングマンのゲームが描画済みの画面を読み込むタイプで、画面の切り替えにカセットテープ版だと数十分、フロッピーディスク版でも数分要するというものでした。
Re: 絵を描く処理??
ISLeさん
丁寧な解説ありがとうございます。
周りに詳しい人が居ないのでとっても嬉しいですー( ´∀` )
似た感じのをつくってみます。
>>ちなみにエニックス(現スクエアエニックス)が1984年に発売した桂正和原作のウイングマンのゲームが描画済みの画面を読み込むタイプで、
>>画面の切り替えにカセットテープ版だと数十分、フロッピーディスク版でも数分要するというものでした。
すごい長い・・・。
デバッグするのも大変そうですね。(;^ω^)
丁寧な解説ありがとうございます。
周りに詳しい人が居ないのでとっても嬉しいですー( ´∀` )
似た感じのをつくってみます。
>>ちなみにエニックス(現スクエアエニックス)が1984年に発売した桂正和原作のウイングマンのゲームが描画済みの画面を読み込むタイプで、
>>画面の切り替えにカセットテープ版だと数十分、フロッピーディスク版でも数分要するというものでした。
すごい長い・・・。
デバッグするのも大変そうですね。(;^ω^)
Re: 絵を描く処理??
そういえば今のマシンはVRAMに1ピクセル分ずつデータが並んでいるのがふつうですけど、当時のマシンはRGBがそれぞれ別の領域に分かれていたりしました。YuO さんが書きました:VRAMへのアクセスは,外部へのI/Oなのでそれなりに重い処理です。
だから1ピクセル書き換えるのも、離れたメモリ(の特定のビットだけ)を3回書き換えなければならなかった。
メインメモリが16KB(キロバイト)とかいう時代だったので、メモリ保護の仕組みなんぞもなくアクセスし放題で、特定のI/Oポートにアクセスして、VRAMへの外部アクセスを止めて書き換え速度を上げるというテクニックもありました。
もちろん止めている間は画面に何も映らなくなるので一般ユーザーが見たら故障と疑われる可能性大。
そのため、RGBプレーンのうち1プレーンだけ止めずに残して単色で描画している様子が見えるようにするなど単なる高速化に留まらず演出に凝ったものも多くありました。
最後に編集したユーザー ISLe on 2017年3月11日(土) 21:44 [ 編集 2 回目 ]
Re: 絵を描く処理??
限られた環境に適応してハードの性能を最大限に生かしてるってすごい・・・。 Σ(・ω・ノ)ノ!