2009年9月17日の日記の3番目の記事へのコメント
■銀河お嬢様をアレする 〜hcdファイル編
後はhcdファイルを残すのみとなりました.このファイルは上記リンク先のポストにも貼り付けられているようなフォーマットになっていて,各トラックの種類 (オーディオかデータか),ファイル名,開始位置とサイズに対応すると思しき数値のセットが列挙されています.
さっきのページにも書いてありますが,最初の数字がトラックの開始セクタで,次の数字がそのトラックのセクタ数みたいです.トラックの開始セクタが,前のトラックの開始セクタにセクタ数を足した値よりも大きい場合がありますが,これがプリギャップですな,多分.
とりあえず以下のような胡散臭いawkスクリプトを書いて,CUEシートっぽいものに変換.今回の作業の中で自分で何かを書くのこれが初めてかw
gawk -F ',' 'BEGIN{ base = 0; name = "yuna2_" } { if ($2 == "audio") { printf("FILE \"%s%02d.wav\" WAVE\n", name, NR); printf(" TRACK %02d AUDIO\n", NR); } else { printf("FILE \"%s%02d.iso\" BINARY\n", name, NR); printf(" TRACK %02d MODE1/2048\n", NR); } pregap = $4 - base; if (NR > 1 && pregap > 0) { printf(" PREGAP %02d:%02d:%02d\n", pregap / 75 / 60, (pregap / 75) % 60, pregap % 75); } base = $4 + $5; printf(" INDEX 01 00:00:00\n"); }'
しかし未だにawkのいい書き方がわからんのよねー.・・・と関係ないですね.ちなみに,hcd5075.hcd (ユナ2) は12トラック目のセクタ数がおかしいのか,他より2桁くらいでかいのが気になりますw.プロテクトなのか? とりあえずここは 4548 に直して対処しちゃいましたが.
というわけで,CUEシートまでできたので,後はisoとwavと揃えて焼けばいいだけというところまで来たんですが・・・ここでハマりました.焼けるソフトが全然ない(;´Д`)
CUEシートに「BINARY」というのが入っていると,途端に対応してるツールが減るんですかね.CD Manipulator,Zulu2,EACを試したんですがどれもだめでした.あとLinuxにcdrdao入れてやってみたんですが,こっちはプリギャップがどうこうとかいわれてやっぱりだめ.
結局最後はCDRWINにまで行き着いてしまいましたw.遅いけど,まあこれが一番確実かー.というわけで,数十分の後,気になる円盤が焼きあがりましたよ.果たしてゲームは実機で動くのか・・・.
2009年9月17日の日記の3番目の記事へのコメント
[コメントを書く]