棍棒ブンブン丸
2020/3/23 | 投稿者: ghost
『五条大橋』の開発進捗。
通しで4ステージ目、清水観音堂での対決を実装した。ここでの弁慶は表題の通り棍棒ブンブン丸である。
それはさておき。
黒魔術扱いされたままなのも癪なので。
本作でやっているようなMULTICOLORモードの利用をやってみたい、という人が上引用ツイートのようにいるかもなので、ちょっとしたサンプルコードを示しておくことにする。なら日本語で書くなよ、って話なのだが、別に本気で参考にして欲しいと思ってなんかなくて単なる気分転換の暇つぶしだからコレでいいのだ。

これは何か、というと、こちらの拙稿で示したところのMULTICOLORモードのネームテーブルに一工夫加えて(比較的)リニアに使えるようにする初期化を、アセンブラでおこなうためのサンプルコードである。
具体的には、画面モードをMULTICOLORモードに切り替えた上で、ラベルSCRBUFで示すRAM上のアドレスに768バイトのワークエリアを確保してINITNAMTBLをcallすると、ネームテーブルの内容が……

こういう状態になる。
コード自体にはまだまだ最適化の余地があるかとは思うが、可読性も考えればこんなもんかな、と。なお、ここで使用する768バイトのワークエリアは初期化の瞬間にのみ必要なもので、この処理が終わった後は他ごとに利用して構わない。上コード上でワークエリアのラベルがSCRBUFになっているのは、これがゲーム中に実際の描画に使われるスクリーンバッファ(SCReen BUFfer)のアドレスであることによる。
この設定をしてしまえば、デフォルトのそれと比べて比較的……あくまでも比較的に、だが……直観的なデータをパターンジェネレータテーブルに流し込むだけで、本作のようなローレゾリューションの巨大キャラクタをぐりぐり動かすことができる。
本当に厄介なのはその部分なのだが、ま、頑張ってくれ。
通しで4ステージ目、清水観音堂での対決を実装した。ここでの弁慶は表題の通り棍棒ブンブン丸である。
それはさておき。
黒魔術扱いされたままなのも癪なので。
This is creative use of screen 3 for the MSX1 :) looks good! I always hated the big pixel but this looks great. The MSX Dev Entry from NOP decided to use screen 3 as well.
— VampierMSX (@VampierMSX) March 6, 2020
本作でやっているようなMULTICOLORモードの利用をやってみたい、という人が上引用ツイートのようにいるかもなので、ちょっとしたサンプルコードを示しておくことにする。なら日本語で書くなよ、って話なのだが、別に本気で参考にして欲しいと思ってなんかなくて単なる気分転換の暇つぶしだからコレでいいのだ。

これは何か、というと、こちらの拙稿で示したところのMULTICOLORモードのネームテーブルに一工夫加えて(比較的)リニアに使えるようにする初期化を、アセンブラでおこなうためのサンプルコードである。
具体的には、画面モードをMULTICOLORモードに切り替えた上で、ラベルSCRBUFで示すRAM上のアドレスに768バイトのワークエリアを確保してINITNAMTBLをcallすると、ネームテーブルの内容が……

こういう状態になる。
コード自体にはまだまだ最適化の余地があるかとは思うが、可読性も考えればこんなもんかな、と。なお、ここで使用する768バイトのワークエリアは初期化の瞬間にのみ必要なもので、この処理が終わった後は他ごとに利用して構わない。上コード上でワークエリアのラベルがSCRBUFになっているのは、これがゲーム中に実際の描画に使われるスクリーンバッファ(SCReen BUFfer)のアドレスであることによる。
この設定をしてしまえば、デフォルトのそれと比べて比較的……あくまでも比較的に、だが……直観的なデータをパターンジェネレータテーブルに流し込むだけで、本作のようなローレゾリューションの巨大キャラクタをぐりぐり動かすことができる。
本当に厄介なのはその部分なのだが、ま、頑張ってくれ。