戻る - 参加 

2014年5月28日 (水) 更新
ウィンドウと、メッセージ表示のテストプログラムを追加。
2013年5月15日 (水)  
4のBGMモードをつくってました。
長かったです。
2012年9月23日 (日)  
一年ぶりに更新しました。
見た目にはほとんど変化はありませんが、中身はだいぶ変わりました。
出来れば会話まで入れたかったのですが、メモリがいっぱいになったので、
メモリ配分やディスクアクセスなどを見直したいです。
(これが一番の悩みの種です。)
ではまた。次はいつになるかわかりませんが。
2012年9月12日 (水) メモ
ソースコードに全角でコメントできるように、M80.COMを改造した。
その時のメモ。

上から2つ目の

"and 7Fh" を

"and 0FFh" に変える。


具体的な方法としては、

バイナリエディタでM80.COM または M80.CPM ファイルで
上から2つ目の

E6 7F を

E6 FF に変える。

2012.7.17

パッチが出回っていたような事が書かれたHPを見つけたのでやってみた。
こんなに簡単にできるとは思わなかった。
(合ってるかどうかわからないが、これでうまくアセンブルできている。)
2012年6月26日 (火) スプライトローテーションについて。
横1列に5個以上並んだ時にちらつかせるための方法。スプライトローテーションについて。

本家のドラクエ3では、16個(キャラ)のスプライトが

0 123 456 789 ABC DEF <- スプライト番号



となっていて、勇者はずっと0。若い番号が優先的に表示される。

で、偶数コマでは、123とDEF、456とABCを入れ替え。
奇数コマでは、123とABC、456と789を入れ替えしてます。

これを繰り返すと、位置が渦巻きのようにグルグル変わって、10回で元に戻ります。

なんでこんなコトしてるかというと、まんべんなくちらつくようにするためでしょうか?

で、MSXでこれをやろうとすると、スプライトモード1ではできるけど、モード2では、カラーテーブルが
別扱いで、横1行ごとに1色づつデータを持っているため、入れ替えるデータが多すぎて、
どうしても画面がおかしくなります。(間に合わない)
(アトリビュートテーブルは80h(128)バイト。カラーテーブルは200h(512)バイト)

なので簡易的にちらつかせる方法にするしかない。(エミュでスプライト制限を解除してもちらつく仕様。)

今、色々なホームページの情報を見て、ソースコードを書き直しています。見た目の進歩はありませんが(汗)
2011年11月19日 (土) BGMモード製作
BGMモードプログラムをアップしました。
2011年10月25日 (火) Z80
z80のインデックスレジスタってバイト数増えるわステート数も増えるわ、使わないほうがいいな。
2011年9月11日 (日) 更新しました。
更新しましたが、見た目にはあまり変化ありませんね。
でも、ソースコードはかなり作り直したりしてますし、
まだまだスリムにしたり、データのロードを改善して、
ウインドウ表示したり、戦闘ルーチンも実装できれば、
などと夢見ております。

自信ないですが、本家ファミコンバージョンでは、テンポ150を超える場合の処理に、バグがあるのではないかと思ったりしてます。(テンポ300までなら、1/60秒ごとに進める処理を時々2つ進めることでテンポを速くできますが、3つ進んじゃったりしてるようです。)
といっても150より速い曲はゾーマ戦だけなので、ソーマ戦のBGMだけ、S先生の指示より速いテンポになってるかもしれませんね。
2011年7月12日 (火) 無題
前回書いたことはかなりできてきた。
BGMのテンポずれはたまたまいけるテンポをしらみつぶしに探しただけだ。
割り切れない値のときが面倒だ。ファミコンのオリジナルはどのようなテンポでもずれない。またゆっくり考えたい。

それにしてもそろそろ自分で書いたコードがわけがわからなくなってきた。
いつでもどこでもソースコードの中身を思い出せるような、8ビットドラクエプログラムマスターを目指すのだ!?
2011年5月28日 (土) 今後の課題
1.フィールド移動の追加
2.BASIC画面から実行するお試し版の製作

3.BGMテンポを可変にする。
4.スプライト9番目の処理。(S#0)
5.ウインドウの表示(余裕があれば)
6.移動ルーチンの改良。

3.と4.はよくわからない部分が多い。
6.はファミコン版をよくみると、スプライトを一度に書き換えないなど、
真似したい部分があった。

inserted by FC2 system