ねこープロジェクトII for ドリームキャスト

ドリームキャストPC-9801 が動くってことで、早速試してみた。ZIP ファイルを解凍すると、UNIX 系 OS や MacOS X 用に mkisofs と cdrecord を使ったドリームキャストで起動する CD イメージの作成用スクリプトが付いてるんだけど・・・えっと、少なくとも UNIX 系 OS 用のヤツはテストされてなかったようで、ちゃんと動きません(汗)
正確に言うと cdrecord -scanbus で使える CD-R ドライブのデバイス名を環境変数 DEV に入れる箇所があるんですが、デバイス名以外の表示結果全てが入ってます。つか、sed とかで使えるデバイス名だけ切り出す等の作業が必要かと。面倒なんで、スクリプトは直さずに手動でやってみる。

  1. 「cdrecord -scanbus」で CD-R のデバイス名(15,0,0とか)を調べる
  2. 「dd if=/dev/zero bs=2352 count=300 | cdrecord dev=15,0,0 -v -multi -audio -」でマルチセッションで先頭に4秒の無音オーディオトラックを作成する*1
  3. 「cdrecord dev=15,0,0 -msinfo」でCD-Rの中身が先頭からどれだけ使用されているか調べる。恐らく、「0,11702」となるはず。
  4. 「mkisofs -r -C 0,11702 cd | (cat IP.BIN ; dd bs=2048 skip=16 ) | cdrecord dev=15,0,0 -v -multi -xa1 -」で mkisofs で cd フォルダの中身を先頭の使用されている部分を空けた状態の ISO イメージとして作成し、cat と dd でその先頭の 32KB を IP.BIN に差し替え、これを cdrecord でデータトラックを作成すれば、焼き上がり。

たぶん、Windows でも無音データの用意(これは簡単か)と、mkisofs で作ったイメージの先頭 32KB を切り取って IP.BIN を先頭にくっつけることが出来れば作成できるハズ。
で、肝心の動作確認。ちゃんと Dreamcast のロゴ表示の後、ピポッとお馴染みの音が鳴ってメモリーチェックがはじまりました(笑)
そそ、解凍した際に出てくる cd フォルダ直下にBIOSやフォント、FDイメージ、HDDイメージを入れておけば1枚のCDに出来ます。一応、ディレクトリ移動も出来るけど、直下にまとめて入れる方が便利っぽい。
MS-DOS 6.2、VIPER-V8、痕など動かしてみました。動作速度はSL-C760でのPC98 for ZAURUSくらいで、遅くはないけど速くはないってカンジ。FM音源バリバリだと少し処理落ちしてるっぽい。11kHzにして、26音源にすればマシかも。
ちなみに今回はサーバとしてテスト動作中の NetBSD/i386 1.6.2 で焼きました。unzip と cdrecord のバイナリパッケージを pkg_add で入れただけ。

ねこープロジェクトII for ドリームキャスト
http://ayame.tkym.org/~histat/dc/np2/jp/index.html

*1:CD のオーディオトラックは 44.1KHz、16ビット、ステレオ(2チャンネル)だから、1秒間あたり44.1×1000×16×2=176400バイト。で、ddコマンドでは2352×300=705600バイトの「00」ばかり並んだデータが出来るので、705600÷176400=4秒。つまり、4秒間の無音オーディオデータってことになる。