割り込みが入ってキャラクターの処理ループに移るがその部分を読んでみた。 ここら辺になる。
フローとか書いてみたがrubyで書き直した方がわかりやすそうなので書いてみた。
処理内容
- データの0バイト目(上位)と1バイト目(下位)が16bitカウンターになっている
- 割り込み毎に1減算される
- 0バイト目が0xFFの場合は終了を表しループから抜ける。0xFEの場合は何もせず次のキャラに移る
- 2バイト目がなんかのフラグになっている
- 0,1,2バイト目とも0になると4バイト目と5バイト目で示されるポインターにジャンプして処理がされる。
0x2000からのデータはは256回毎、0x2010は128回毎、他は毎回処理されそうだ。
0x2030は2バイト目が2なので0に書き換えられたら処理が始まるという感じではないか?