2026年7月10日金曜日

PC8801版ザ・キャッスルのステージデータの解析を試みる。その8

 


全ての解析を完了し、ザ・キャッスル、キャッスルエクセレント全面の表示もOK。

ランレングスで2個以上のものが並ぶ場合は、オブジェクト番号に 80h を足して、その次にその個数を付けるのですが、圧縮効率を高めるために、数の多い壁、空白、水については、2個から8個の場合、1バイトで表せるようにしていると。ここを正しく処理すれば、キチンと表示できます。

これで、すてーじめーかー(自作の面データを製品版の圧縮データに変換して書き込む)を作成できるように。

やることは、こんな感じでしょうか。

★必ず1階10部屋単位で変換 でないとデータを作れない
 1部屋ごとに打ったバイナリデータを1階10部屋くっつけて1つのデータに
(バッチファイルを作ると便利 copy /b stage00.dat+stage01.dat+… 階7.dat)
 これを変換して書き込む

★オブジェクトの番号を調べる⇒同じものが幾つ連続している?
 1個ならそのままの番号になる

 2個以上⇒00~05、16、53以外なら
  オブジェクト番号+80h、その次に個数を指定

 00~05、16、53なら専用処理
    9個以上⇒オブジェクト番号+80h、その次に個数を指定
  2~8個⇒オブジェクトにより番号を決定

★最後まで部屋を描いたら16ドットキャラを配置
 ⇒トータルのバイト数からデータの終了+1番地をインデックスに付加する
 ⇒これを10部屋分処理して変換したものを製品データに書き込む

のんびりやりますわ。

0 件のコメント:

コメントを投稿