Darkside(リンクエラー修正しました)

2012年8月16日(木) 20:52

8ビットCPU

 どうせコマ送りとluaスクリプトを駆使するのだから、素早い操作は必要ない。更に、デジタル入力だけで完了する。だから、キーボード入力で問題ないと考えた。しかし、すぐに間違いに気付く。
 方向キーとポンプキーを同時押しせねばならない状況が多発する。当たり前だが。しかしIBM-PC系のキーボードは2つのキーまでしか同時押しできない。
 TAS製作ではポーズ状態にしておき、コマ送りキーを押しながら操作する。つまり、3つのキーを同時押しせねばならなくなる。これでは、入力を受け付けてくれない。かくして、ディグダグTASであってもPCゲームパッドを使わねばならない。

 改造ネジコンは PSXjin に使えない。特定のアナログ入力が常時効いていると判定され、キーコンフィグ作業できない。
 せっかくなので、プレステ3の純正パッドをPCで使うことにした。

 PCにドライバーとして MotionJoy を入れると、問題なく使用できるようになった。そうなると、次はメモリーサーチだ。
 探し易い値として、モンスターの現在座標を選択。各モンスターについてサーチすれば、1匹ごとのワークエリアの見当が付けられる。サーチし難いパラメータの位置を探す時にも役立つ。
 オリジナル発売当時は8ビットCPU全盛であり、ディグダグもZ80を使用している。この場合、座標は8ビットで表現できる範囲にないと、処理が面倒になる。ところが、ディグダグは画面が特殊なのだ。縦長画面のアーケードゲームは他にもあるが、いずれも縦の解像度は256ドット以内である。それに対し、ディグダグは縦が288ドット。1バイトに収まらない。オリジナルのVRAMは256ドットとその余りで、妙な配置になっている。

 そこで、つい2バイト単位でメモリーサーチしてしまった。モンスターが移動したら、その方向により前回の値よりでかいとか小さいとかで絞り込む。何度か試し、念のため大小関係を逆にしてサーチしたが、引っ掛からない。
 そうか、座標は1バイトなんだ。

 確かに画面の縦は288ドットだが、最上部32ドットはスコアやでかい花の表示にしか使われない。モンスターは地上に出ることもあるが、ジャンプしないから32ドット分のエリアには絶対に行くことがない。だから、座標は1バイトで足りる。まあそういう設計にしておかないと、プログラムで死ぬもんな。
 ちなみに、地層は4つに分かれているが、最下層だけ3キャラ分の厚さしかない。
 1キャラは16×16ドットであり、1バイト256ドットは16キャラ分になる。地上を考慮すると、地下に使えるのは15キャラ分しかない。だから、地層が4+4+4+3になっているのだろう。
 

written by higashino [ゲーム] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

Comments

TrackBacks

Darkside(リンクエラー修正しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4