サンプルプログラムを焼いて起動してみる

サンプルプログラムがコンパイルして、それをCD-Rに焼いて起動できるようにしてみたいと思います。

今回使うサンプルプログラムは、「2ndmix」を使ってみたいと思います。

 

まず、適当なワークディレクトリに移動します。

owner@MacBookAir ~
$ cd local/src/

 

 

そして、2ndmixをフォルダごとコピーします。

owner@MacBookAir ~/local/src
$ cp -rf /opt/toolchains/KallistiOS/examples/dreamcast/2ndmix/ .

 

 

ディレクトリに移動して、コンパイルします。

owner@MacBookAir ~/local/src
$ cd 2ndmix/

owner@MacBookAir ~/local/src/2ndmix
$ make all
kos-cc -c 2ndmix.c -o 2ndmix.o
2ndmix.c: 関数 ‘font_init’ 内:
2ndmix.c:742:5: 警告: 1 番目の ‘load_pcx’ の引数を渡すときのポインタの先の符号が異なります [-Wpointer-sign]
2ndmix.c:394:5: 備考: expected ‘char *’ but argument is of type ‘uint8 *’
/opt/toolchains/KallistiOS/utils/genromfs/genromfs -f romdisk.img -d romdisk_boot -v -x .svn
0 rom 538f2afa [0xffffffff, 0xffffffff] 37777777777, sz 0, at 0x0
1 . [0x9a6fbee5, 0x1e484 ] 0040755, sz 0, at 0x20
1 .. [0x9a6fbee5, 0x1e17b ] 0040755, sz 0, at 0x40 [link to 0x20 ]
1 e-79014.s3m [0x9a6fbee5, 0x1e485 ] 0100644, sz 215944, at 0x60
/opt/toolchains/KallistiOS/utils/bin2o/bin2o romdisk.img romdisk romdisk.o
kos-cc -o 2ndmix.elf 2ndmix.o romdisk.o

多少、警告が出てますがコンパイルできました。

 

 

そのままだと、デバック情報など不要な情報が含まれているので削除します。

owner@MacBookAir ~/local/src/2ndmix
$ ls -l 2ndmix.elf
-rwxr-xr-x 1 owner None 2064377 6月 4 23:19 2ndmix.elf

owner@MacBookAir ~/local/src/2ndmix
$ sh-elf-strip 2ndmix.elf

owner@MacBookAir ~/local/src/2ndmix
$ ls -l 2ndmix.elf
合計 1113
-rwxr-xr-x 1 owner None 548908 6月 4 23:24 2ndmix.elf

約2MBから500KBくらいまで小さくなりました。

 

 

ドリームキャストで起動するにはELFファイルのままでは都合が悪いのでBINに変更します。

owner@MacBookAir ~/local/src/2ndmix
$ sh-elf-objcopy.exe -R .stack -O binary 2ndmix.elf 2ndmix.bin

owner@MacBookAir ~/local/src/2ndmix
$ ls -l 2ndmix.*
-rwxr-xr-x 1 owner None 548240 6月 4 23:27 2ndmix.bin
-rw-r--r-- 1 owner None 20843 6月 4 23:19 2ndmix.c
-rwxr-xr-x 1 owner None 548908 6月 4 23:24 2ndmix.elf
-rw-r--r-- 1 owner None 69520 6月 4 23:19 2ndmix.o

2ndmix.binというファイルが出来ているのが確認できます。

 

 

このままでも起動出来ないことはないのですが、MIL-CDとして起動することはできないので、scrambleをかけます。
ついでに名前も1ST_READ.BINに変更します。

owner@MacBookAir ~/local/src/2ndmix
$ scramble 2ndmix.bin 1ST_READ.BIN

 

 

ディスクの起動情報をMIL-CDに付加しなければ起動出来ないので、起動情報のIP.BINを作成します。
テンプレートファイルをコピーしてきて、makeipでIP.BINを作成します。

owner@MacBookAir ~/local/src/2ndmix
$ cp ~/local/src/makeip/ip.txt .

owner@MacBookAir ~/local/src/2ndmix
$ cp ~/local/src/makeip/IP.TMPL .

owner@MacBookAir ~/local/src/2ndmix
$ makeip ip.txt IP.BIN
Setting CRC to B6D8 (was 0000)

ip.txtの中身を変更する必要は特にありませんが、ゲーム名や型番、ディスク番号などの情報が入っているので変更してみるのも面白いと思います。


上の手順で起動に必要なものはそろったのでディスクイメージを作成して、それをCD-Rにして起動したいと思います。

こちらのサイトhttp://sbibuilder.shorturl.com/からBootMakeをダウンロードして解凍、Bootmake.exeを起動します。

 

 

起動すると以下のような画面になるので、ディスクを作成するための設定をしていきます。

pic002

Volume nameには、ディスクのボリューム名を指定しますが、必要なければ特に変更しません。
Source directoryには、1ST_READ.BINが置いてあるディレクトリを指定します。
IP.BINには、makeipを使用して作ったIP.BINを指定します。
Temp ISOには、一時保存するディスクイメージの場所を指定しますが、特に変更する必要はありません。
Destination fileには、作成するディスクイメージの保存先を指定します。

pic003

 

すべて設定したら右下の「Make」をクリックしてイメージを作成します。

pic004

 

ディスクイメージをImgBurnなどを使用して焼きこんで、DCで起動するとこんな感じになるはずです。

※ImgBurnでcdiファイルを焼くには「Padus .CDI File Mounter」が必要なのでImgBurnのサイトからDLして導入して置いてください。

pic005

 


 

BootMake : http://sbibuilder.shorturl.com/
ImgBurn : http://www.imgburn.com/

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です