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

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

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

山内 薄

続・Serial-ATA 250GB HDD

調査のために別のマシン(Pentium4 3.0GHz / P4P800-E Deluxe)のオンボードSATAに接続したところ、リード/ライト共々、50MB/sec強という結果になったため、HDDの初期不良のセンは有り得なくなった。このまま捨てるのも勿体無いので、試しに PCIの安いSATAインターフェースカードを買ってきて、それ経由でマイマシン(Athlon XP 3200+ / A7N8X-E Deluxe)に繋いだ所、


シーケンシャルリード 57MB/sec
シーケンシャルライト 54MB/sec


と、なった。非常にバカバカしい・・・。結論としては、A7N8X-E Deluxe のオンボードSATAと、今回購入したドライブ「Maxtor 7Y250M0」との相性が悪いか、マザボ自身がイカれているかのどちらかとなった。しかし、なんだな、SATAインターフェースカードの箱にCMとして、SATA HDD の商品写真が印刷されていたが、それが今回購入した BUFFALO の HD-H250FBS/U (Maxtor 7Y250M0)だったのは、なんかのイヤミだろうか?(苦笑)



自分の手の届かない場所からの罠

ついにメモリが苦しくなってきた。画面にゴミが出だしたのだ。結論からいうと、スタックポインタがフレームバッファ領域に侵食していた訳だが、最初は原因が全くわからず、HANDY Debugger を駆使して(これは非常に便利!)なんとか原因を突き詰めた(実際は20分ほどで分かったけど・・・)。実は、BLL ランタイムは独自にソフトウェアで、スタック領域(65c02 の 0x100〜0x1ff の領域とは違う)を確保し、独自のスタックを再現するのだが、その先頭アドレス(厳密には底辺アドレス)は、リンカが、「.bssの終了アドレス + 0x1000」のアドレスに勝手に決め打ちしてしまうため、(リンカオプションスイッチでアドレスを指定できない)今回のようなトラブルが発生してしまったのだった。緊急処置として、バイナリイメージデータのランタイムルーチン(スタートアップルーチン)の該当箇所にパッチを当てることで回避したが、これではっきりしたことは、


もうフリーエリアが 0x1000 バイトしか残っていない


ということであった(爆