goo blog サービス終了のお知らせ 

6 - 912 = -906

終わりました

倉庫フラグの拡張中

2010-12-17 | バイナリ
一応はフラグの拡張を終了。
が、問題発生。

直接SRAMからデータの読み込み書き込みをしていたので中断再開でバグが出るようになった。
仕様上、多分前のverでも同様のバグ出てたはず。
処理方法を変えたからバグがよりはっきり出た。

解決方法はあるといえばあるんだがどうしようか。

・解決方法案
SRAMの直接読み込みが原因でデータが上書きされ、それ以降のデータが正しく読めない。
オリジナルの倉庫のデータの読み込み書き込み時に別のSRAMに読み込み書き込みをする。
単純に言うと2重保存みたいなやつ。

ただこれやると容量がおもいっきり無駄になる。
2000バイトくらい。


そして未識別名も同じバグがあることに気がついた。
こっちは回想時に名前だけが変わるだけだから問題ないって言えば問題ない。
記録の回想だから名前は識別されたものになるんです、って言う苦しい言い訳できそうだし。


んで、どうしようか。
未識別名は直さないです、多分。
直すとして500バイト分で、直すのも簡単。
問題は倉庫。
多分すごくめんどくさいと思う。
2重保存以外の修正案を模索するか。
コメント

倉庫フラグの拡張の前に

2010-12-16 | バイナリ
ちょっと倉庫のところを解析。
なんとなく仕組みがわかったので多分楽にできると思う。
処理上ではオリジナルの倉庫って100個までアイテムが保存できるっぽい。
実際は50個くらいまでしか使ってないけどね。

オリジナルの処理と保存方法も変えてRAMに600バイトくらい空きを作る予定。
使い道は完全にないけど空きがあった方が得なはず。

倉庫そのものを拡張したいな…
コメント

倉庫の仕組みを完全に忘れている

2010-12-15 | バイナリ
SRAMへのアイテム名と識別の状態とかの書き込み終了。
うまくいかなくて3回くらい1から作り直したけど。

次は倉庫のアイテムフラグの拡張の保存処理。
倉庫アイテムも全部SRAMに送っちゃった方がいい気がしてきた。
今のままだとRAMに読み込み書き込みあるからなんか邪魔。
削れるなら削る。
とりあえずその方向でやってみる。


RAMの 7E935E-7E945D ってなんなんだろ?
一部は何に使ってるか分かるけど、大半が分からない。
余ってるような気もするしつかってるような気もする。
余ってたらアイテムのフラグを2バイト分楽に追加できそうなんだがな。
でも追加するとして何をするのかが疑問。
武器盾成長とかか?
やったとしてゴミ武器が強くなるのはいいんだが後半のメイン武器乗換えとかはなくなるから個人的には嫌い。
ゴミ武器活かしは共鳴とかでやってるんでね。

解析しなきゃ追加は無理なんでやらないと思うけど。
コメント

力技で解決?

2010-12-14 | バイナリ
SRAM問題はセーブデータを1つにしたことで一応解決。

チェックサムの範囲を $B06000-$B07FFF だけにして
$B16000-$B17FFF $B26000-$B27FFF を初期化して
メニューの記録と選択等をまとめて終了。

一部意味が分からない処理とかあったが適当に弄ってなんとか解決。
多分大丈夫なのでSRAMへのアイテム名と識別の状態とかの書き込み処理を作ろう。
コメント (2)

なんとなく原因がわかった

2010-12-14 | バイナリ
sramが32KBしかないから64KBの設定だとダメなのか…。
インフォメーションブロック?を弄ってもsramのサイズが変わらん。
全然意味がわからん、困ったな。

この辺の説明してくれるとこないし、英語はわからんし手詰まりか…

しょうがないからセーブ2と3の領域を消してそこを使うか。
16KB分使えるから容量的には問題ない。
64KB設定で新規に使ってたのが約16KB。
これはセーブデータが3つ分なので1つあたり約6KB。
約10KB近く余るので十分すぎるほどのメリットがある。
めんどくさいセーブ別の書き込み処理とか書かなくて済むし。

メニュー関連の処理直すのがめんどうだな。
早期に原因が分かったのが不幸中の幸いか。
コメント (4)