EXCEEDの同人ソフト開発日記という名の備忘録

趣味のゲームソフト開発人。プロなのかアマなのかは不明(不定)らしい。

任天堂のソフトはいつも予定通りに出てこないって言われるけど、
ソフト作りっていうのは、そういうもの。
ゲームソフトは、期限までにやれと言われて、徹夜したり死に物狂いでやったからといって、
期待通りのものにはならない。そういうふうにすると、
結局、チームは妥協しなければならなくなる。
妥協させられて、できたものは、粗くなってしまう。
ユーザーは目が肥えていますから、受け付けてもらえない

山内 薄

通称「Z」の罠

デモで敵が死亡すると「おかしな命令」エラーで落ちる。WinX68k高速版の Debug Trace 機能でさがしたら・・・・ リターンアドレスを PUSH して強制的に rts で抜ける(ジャンプする)ルーチン発見。こんな初歩的な罠にはまるとは・・・まだまだ修行が足りないな・・・

ちなみに 6502 にはバグがあって、JSR 命令でスタックに格納される復帰先アドレスの値は「実際の値マイナス1」の値が格納されて、RTS 時に(自動的に)復帰先アドレスをプラス1することで整合性を保っている。


例)

A000:
JSR $1234 →スタックには $02,$a0 が積まれる。
A003:
次の命令

それで、デモループが一通り正常に回るようになったので、11/1 バージョンとして、ここで本当に一旦〆。ここまでで、ざっと二週間程度。残作業は横画面(ローテート)対応とサウンドCPU対応かな?その辺はバーニンラバーのノウハウがあるので、スムーズに進行すると思う(思いたい・・)。