Home > スポンサー広告 > ToHeart2 ダンジョントラベラーズ 解析日誌みたいなの7

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

コメント: -

Home > スポンサー広告 > ToHeart2 ダンジョントラベラーズ 解析日誌みたいなの7

Home > ToHeart2 DT > ToHeart2 ダンジョントラベラーズ 解析日誌みたいなの7

ToHeart2 ダンジョントラベラーズ 解析日誌みたいなの7


行動順の書き換えコードの全キャラ用を作った後、
1キャラ限定用にTempARの0xC2コードを作った。
そして走らせてみるが、毎回クラッシュする。
ソースを何度眺め直しても間違ってない。

どうやらTempARのバグっぽい。
0xC2コードでアセンブラを直接走らせる場合、
レジスタのat v0-v1 a0-a3 t0-t9は安全みたいだが
s0-s7あたりに数値を入れようとすると毎回クラッシュする。

(バグではなく正常な仕様のようです。→MIPSアーキテクチャ
これ自体は知っていたのですがサブルーチンを抜けたときに値を
リストアしてくれるものと勘違いしていました。)

あと、テキストエディタで書いて、QTSpimでアセンブルして作っているんですが、
コードがなぜか1行増える。よく確認してみたら
オプションの『Bare Machine』のチェックが外れていると(=Simple Machine)
次の命令が2行に変換されるようだ。


addiu $t1,$t1,0xFFFF

bare machine
2529ffff addiu $t1, $t1, 0xFFFF

simple machine
3401ffff ori $at, $zero, 0xFFFF
01214821 addu $t1, $t1, $at







全キャラ用にPSPARで判定+ループコードで作ってみたが
どこか間違っているのか初回しか書き換えないので
ばらして書いたらえらい長さになった。
今度アセンブラで短縮してみようかな。



関連記事
スポンサーサイト

コメント: 0

Home > ToHeart2 DT > ToHeart2 ダンジョントラベラーズ 解析日誌みたいなの7

Return to page top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。