
本誌では、DC上で動作するエミュレータやDCのGD-ROMを読むツール(いわゆる吸出しツール)を紹介してきましたが、 Internetでは、ゲーム、デモ、MP3プレイヤー等、他にも様々なソフトがあります。
ゲームといっても、サンプルプログラムやミニゲームの域を出ないものが多いのですが、中には、かつてPCで一世を風靡した3Dアクションゲーム、DOOMの移植を進めているところもあります。
「デモ」というのは体験版のことではなくて、綺麗な画像や3Dグラフィックを表示して技術力を見せるものです。かんじとしては、PCの3Dベンチマークソフトに近いものです。
こういったDC用ソフトウェアは、BOOB!(http://www.boob.co.uk/)やDC Emulation(http://www.dcemulation.com)で紹介されています。
※MIL-CD対応のDCでしか動作しません。
配布ページ:http://sourceforge.net/projects/cadcdev/ (dctonicをダウンロード)
Disc Juggler/Neroイメージにしたもの : http://www.boob.co.uk/usertools.html
配布ページ: http://www.weltmarktfuehrer.de/
ライティングソフトのイメージ形式で公開されているものは、対応のライティングソフトを持っていればそのまま焼けばOKです。Disk JugglerやNeroのイメージ形式で公開されていますが、作者の使っているライティングソフトのバージョンと、自分の使っているバージョンが異なると、うまく焼けないことがあります。また、作成に失敗したイメージが公開されていることもあるので、注意してください。
このうちCDに焼くことができるのは、binと1ST_READ.BIN形式のものです。 bin形式のものは、後述のツールで1ST_READ.BINに変換してから焼きます。
ちなみに、sh(DCのCPU)の開発環境があれば、
sh-elf-objcopy -O binaryとすることで、elfやsrecをbin形式に変換することができます(<や>は入力しない)。<変換後のファイル名>
通常のライティングソフトではDC用のCDは作成できないので、フリーのライティングソフトを使って焼きます。 以下の作業はDOSプロンプト(コマンドプロンプト)で行います。
以下、特にダウンロードサイトの指定がないツールは、私のページにあります。
配布されているファイルにIP.BINや1ST_READ.BINが同梱されている場合は、以下の作業は必要ありません。
Dreamcast Programming(http://mc.pp.se/dc/) の [Software][Develoment Tools]から、「IP creator」(makeip.tar.gz)と「1ST_READ.BIN scrambler」をダウンロードします。どちらもCソースで公開されているのでコンパイルが必要です。
コンパイラを持っていなくても、Free Borland C++ Compiler(http://www.borland.co.jp/cppbuilder/freecompiler/index.html)やmingw(http://www.mingw.org/)などの無料コンパイラを使ってコンパイルできますが、コンパイル済みのものを私のページに公開しておきます。
scramble binファイル 1ST_READ.BINこれで、bin形式のファイルをCD起動形式に変換します。
makeip ip.txt IP.BINとすることで、ip.txtの内容に従ってIP.BINを作ります。ip.txtには、メモ帳等で起動ファイル名(通常1ST_READ.BIN)や作者、タイトル情報を書き込みますが、通常そのままでOKです。
この他、追加のファイルが必要な場合があります。例えばエミュレータやMP3プレイヤーでは、特定のディレクトリにROMやMP3ファイルを入れる必要があります。
http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html から、windows版のcdrecordをダウンロードします。リンクをたどって、 ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha/win32/ から、最新のcdrtools(執筆時点ではcdrtools-1.11a04-win32-bin.zip)をダウンロードします。
CD-Rドライブがが何番に割り当てられているか確認します。
cdrecord -scanbusとすると、接続されているドライブの一覧が表示されます。流れてしまって読めない場合は
cdrecord -scanbus >log.txtとして、log.txtをメモ帳等で見てください。 この中から、CD-Rドライブの番号を探します。うちでは0,0,0でした。
Cdrecord 1.10 (i586-pc-cygwin) Copyright (C) 1995-2001 Jrg Schilling Using libscg version 'schily-0.5' scsibus0: 0,0,0 0) 'TEAC ' 'CD-R56S4 ' '1.0P' Removable CD-ROM 0,1,0 1) * 0,2,0 2) * 0,3,0 3) * 0,4,0 4) * 0,5,0 5) * 0,6,0 6) * 0,7,0 7) HOST ADAPTOR scsibus1: 1,0,0 100) 'IBM-DTLA' '-305040 ' 'TW4O' Disk 1,1,0 101) * 1,2,0 102) * 1,3,0 103) * 1,4,0 104) * 1,5,0 105) * 1,6,0 106) * 1,7,0 107) HOST ADAPTOR scsibus2: 2,0,0 200) * 2,1,0 201) * 2,2,0 202) * 2,3,0 203) * 2,4,0 204) * 2,5,0 205) * 2,6,0 206) * 2,7,0 207) HOST ADAPTOR
4秒の無音(全て0)のファイルを用意するには、mktmpを使って
mktmp audio.raw 705600とします。mktmpはhack.lzhに入っています。
cdrecord dev=0,0,0 -speed=4 -multi -audio audio.rawここで、dev=0,0,0の部分は、最初に確認したCD-Rドライブの番号です(以下同じ)。audio.rawは音楽として焼くファイルです。wav形式のファイルも利用できます。-speed=4の部分は焼きこむ速度で、省略すると1倍速になります。
cdrecord dev=0,0,0 -msinfo第1セッションがどこまで使われているか確認します。0,11702と表示されたら、11702セクタまで使われています。
mkisofs -l -C 0,11700 -o image.iso 焼きたいディレクトリ-Cのあとの数字は、cdrecordで確認した数字です。-lは小文字のLです。これでisoイメージが作成できます。
ippatch image.iso IP.BIN作成したイメージの先頭部分を、IP.BINと差し替えます。
イメージを実際にCD-Rに焼きます。 speed=は焼き速度です。
cdrecord dev=0,0,0 -speed=4 -xa1 image.iso
ブロードバンドアダプタ、またはシリアルケーブルがあれば、PCからDCにソフトを転送して直接動かすことができます。
dcload-ipのサイトから、dcload-ipイメージファイル、dc-tool-ipのwindows用バイナリ、dllsをダウンロードします。
http://www.cerc.utexas.edu/~andrewk/dc/dcload-ip/index.html
イメージを展開したら、
1st_read.bin(scrambled) 4494 "000.000.000." 4560 "000" dcload-ip-103-0.0.0.0-Nero.nrg 11615C "000.000.000." 116228 "000" dcload-ip-103-0.0.0.0-DiscJuggler3.cdi 16BA1C "000.000.000." 16BAE8 "000"を
"192.168.000" "100"
等、DCのIPアドレスにバイナリエディタで書き換えて焼きます。(dcload-ipのバージョンが変わっていたら、同様の部分を検索してください)
(DCのIPアドレスを決める際、詳細はDreamRip 2.0のマニュアルを読んでください)
DC側でdcload-ipを起動します。
コマンドプロンプトを開き、
C:\>ping 192.168.0.100 (192.168.0.100はDCのIPアドレス)
Pinging 192.168.0.100 with 32 bytes of data:
Reply from 192.168.0.100: bytes=32 time=10ms TTL=128
Reply from 192.168.0.100: bytes=32 time<10ms TTL=128
Reply from 192.168.0.100: bytes=32 time=10ms TTL=128
Reply from 192.168.0.100: bytes=32 time<10ms TTL=128
Ping statistics for 192.168.0.100:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 10ms, Average = 5ms
のように返事(Reply)が返ってきたら接続OKです。
dc-tool -t 192.168.0.100 -x プログラムここで、プログラムはsrec,elf,bin形式のどれでもOKです。 1ST_READ.BIN形式を実行する場合は、
scramble -d 1ST_READ.BIN test.binとして、bin形式に変換しておきます。
別のプログラムを動かす場合、実行中のプログラムに終了機能があれば(STARTボタン等に割り当てられてることが多い)終了し、なければDCをリセットします。
あとはdcload-ipとほとんど同じです。
dc-tool -t COM1 -b 115200 -x プログラム
teratermやHyperTerminalの「テキスト送信」でsrecファイルを送信します。 詳細はDreamRipの関連ドキュメントを読んでください。