ファイアの魔法と橋本さん
これまたイース通史に書き忘れ、PLUSでも書き忘れてしまった話なので、以下に収録。
何かのチャンスがあったら、どこかに収録したい。
ALUをフル使用しているのはスクロールの方で、合成じゃないですよと教えられたので、以下の計算は「だいたい間違っていた」のでいったん取り消し。間違いなく正しいところだけを残しておく
ALUをフルに駆使することによって『ロマンシア』・『イース』・『ソーサリアン』・『イースⅡ』と、約1年の間、技術的なアドバンテージを得て、圧倒的な評価を受けることになる。
ではイースエンジンはいくつのソフトスプライトが表示可能だったのか?
3つだ。
PC88版では動かないキャラはBGを扱うマップチップ側置かれているが、PCエンジン版ではスプライトになっていて、動かせるが動かしていないが正しい。
パレットの都合もあるし、ゲームの状態ではPC88と比較してPCエンジンではVRAMには全くの余裕があり、PCエンジンで人型のキャラクタをわざわざBG側に入れる必要は全くない
ところでALUによる合成技術は余りVRAMでは全く足りなくなり『ソーサリアン』で、余りVRAMではなく、VRAMそのものをテキストマスクすることでALUのワークエリアとして使う方法に発展する。
それを見た橋本さんが、1987年末にイースチームに戻ってきた山根と都築さんとともに、テキストマスクで画面をマスクしておいて、そこにアニメパターンを置いておいて、高速に転送することで滑らかなアニメーションを実行する手法で、あの革命的なオープニングアニメーションを作るのだけど、このあたりは『イース通史PLUS』に書いた話になる。
この話も、どっかのタイミングで通史に入れたいものだ。
■PCエンジンmini 制作裏日記 通販
■イース通史Ⅰ・Ⅱ・Ⅲ・PLUS通販(BEEPさんではⅡ,Ⅲ,PLUSにはペーパーが付きます)
3件のコメント
コメントは現在停止中です。
少なくとも、PC-8801mkIISR版のイース2では、BGとOBJの重ね合わせにALUは使われていません。
メインプログラム(MANPR1)が動作している状態で、BGとOBJの重ね合わせ処理のルーチンは105Ah~にありますが、すべてメインメモリ上でCPUが処理しています。重ね合わせバッファが6C00h~、BGパターンバッファが8000h~、3体分のOBJパターンバッファがA000h~、アドルのOBJパターンバッファがB800h~です。
VRAMの余り領域には、BGチップ0~23のパターンが格納されています。差分書き換え時、BG0~23についてはVRAMの余り領域からALUの機能で3画面同時転送をしています。BG24~についても、一度画面に描画したものについてはアドレスを記録しておいて3画面同時転送をしています。
ありがとうございます!
ってことはスクロールルーチンの方だったんですね。
イロイロ直さないといかんので、直しておきます。
その後いろいろ調査しまして、ロマンシア・ソーサリアンについても重ね合わせ処理にVRAMの余り領域は使われていないようです。ソーサリアンは重ね合わせバッファをA000h~に持ち、VRAMの余り領域を仮想VRAM(40×24)に使用しています(ロマンシアもおそらく同様)
VRAMの余り領域を重ね合わせバッファとして使う場合、画面更新時にALUの機能で合成結果を3画面同時転送できるメリットがありますが、合成バッファが24チップ分(1行隠して64チップ分)では足りないと判断されたのかもしれません(イース2は80チップ分、ソーサリアンは128チップ分を確保)。メインメモリからVRAMに転送してALUで合成し、結果をメインメモリに書き戻すのでは速度的なメリットが消失するため、すべてCPUで行うようにしたと想像されます。