ちょっと改題
coming soon です(またか)。
DCにはSH4というプロセッサが載っています。 SH3 portのあったNetBSDは早い段階からDCで動いていたようです。 同様にLinuxやOpenBSDでもfor DCの開発がされているようです。
PS、SSなどでも外部からプログラムを送りつけて実行させるようなことが できました。が、シリアル転送だったりでいまひとつ使いやすさに欠けたように 思います。
しかしDCにはBbAがありますので、 LANからデータを流したり、DC内のOSから外部マシンのディスクを使ったり ということができてしまいます。
NetBSDマシンとして見た場合のDreamcastは
以外といいかも、と思わせるのがGD-ROM対応です。 DCはCD-ROMを進化させたような(後述)GD-ROMを塔載していまして、 普通のパソコンのCD-ROMドライブではGD-ROM部分を見ることが できないのですが、DC上からなら見ることができますよね。
海賊ソフト対策のせいか、最近のモデルではCD-Rが読めなくなっているそうです。 具体的には、2000年12月末に出た「サクラ大戦」モデルといった名前のものから こちらのモデルが該当するようです。
そんなわけですので、2001年3月に入って安くなるのを待とうという方は ひょっとしたらCD-Rが読めないかもしれないということを認識されたほうが よいかと思われます(NetBSDとかで遊ぶならですが)
私が買ったのは、箱に湯川専務の写真があるやつです(中古)。 型番はHKT-3000です(同じ型番なら 大丈夫と私が保証するものではありません)
(2001/03/19追記) CD-Rが使えないタイプのものには、箱に「MIL-CD非対応」 というマークがついています。 近くの店に行ったついでに眺めてみたんですが、 どれもMIL-CD非対応でした。やはり安いDCでのCD-Rブートは絶望的という感じですねえ。
湯川専務モデルって希少なんですか? 探してでも手に入れようとする人が いるとかでびっくり。 私はどっちでもいいというか....おっさんは胸揺れねえし(揺れても見たくないし(^^;)
現状ではNetBSDを動かすために必要なCDは以下のいずれかとなりそうです。
一方、後者の方法では、起動時から他のホストの力を借りなければいけませんが、 起動後はGD-ROMドライブを自由に使うことができます。 また、root以下を完全に他のマシンに置きますので、 OSの入れかえやupgrade時にいちいちCDを作りなおす必要がなく便利です。
そんなわけですので、このドキュメントでは後者の方法を 用いることにします。
tcp/4711から受けとったバイナリを実行するためのソフトです。 詳しくは参考ページ1を見てください(オリジナルサイトです)。
おおまかな手順は以下の通りです。
% tcpcat -h 192.168.1.9:4711 netbsdnetbsdはNetBSDのカーネルです(もちろんNetBSD/dreamcastのもの)。 転送が終わると自動的に実行されてNetBSDが起動すると思います。 ただ、この状態ではファイルシステムがないため、initに行く前に 止まってしまうでしょう。
すべてはここに書いてあるのですが、 いろいろと前提となる知識がありますので、結局 こちらの中身をきっちり 読まないとよくわからんことになったりします。
というわけで、よくわからんことになった私が上記ページを読んで 理解した知識を簡単にまとめておきたいと思います。
DCで読み込めるCDは2つのセッションを持ちます。 実際のプログラムなどは第二セッションから読みこまれます。 この部分はCD/XA(Mode 2 Form 1)と呼ばれる2048 bytes/sectorの 領域で、中身はISO9660イメージそのものです。
ISOイメージの最初の16セクタはいわゆるブートストラップローダが 入ります。上記ページの説明ではIP.BINというものです。 IP.BINには大雑把に言うと、
第一セッションは基本的にオーディオトラックを入れます。 この部分はゲーム中などに流すオーディオデータなんかを入れることができます。
このような構成になっているおかげで、
これは上記ページのmakeipというプログラムで作ります。 詳しくは上記ページを読んでみてください。
以上の知識をふまえて、mkisofs + cdrecordを使った CD作成方法を解説します。cdrecordのdevオプションに与える 数値は適宜変更してください(dev,id,lun)。
入れるべきWAV、あるいはRAWファイルを用意します。 とくに入れるべきオーディオがない場合は無音部分を作ります。
% dd if =/dev/zero bs=2352 count=300 of=audio.raw実際にCDに書きこみます。
% cdrecord dev=0,6,0 -multi -audio audio.raw-multiオプションを忘れないようにしてください。
IP upload slaveのCDなどは、データとしては1MBもないですので、 オーディオデータをいっぱい入れて普段はCDプレイヤで聞いたりすると メディアを無駄にしなくて済むと思います(^^;
mkisofsでISOイメージを作ります。その際に、書きこむべき セクタ位置を知っておかなければいけません。
% cdrecord dev=0,6,0 -msinfo 0,11700この数値をmkisofsの-Cオプションに与えてISOイメージを作ります。 IP upload slaveのディスクを作りたい場合は以下のようになります。
mkisofs -l -C 0,11700 -o tmp.iso 1ST_READ.BIN
前節で作成したISOイメージにIP.BINを書きこみます。 具体的にはISOイメージの先頭16セクタをIP.BINで上書きします。
% ( cat IP.BIN ; dd if=tmp.iso bs=2048 skip=16 ) > data.raw
作成したISOイメージ(data.raw)をCDに書き込みます。
% cdrecord dev=0,6,0 -xa1 data.raw今回は-multiをつけずにセッションを閉じることにします。
IP upload slaveのCDができたら、次はPCにNetBSD/dreamcastの 環境を作ってやります。そして、NFS rootのkernelを作成して DCに送ってやれば、めでたくNetBSDが起動するというわけです。
しばし待て(これからやるので(^^;) 必要な事項は
DCでXあげるのにメリットあるのかなあ... 日本語コンソールは 欲しいけど。というわけでWorld21をDCに対応させたいなあという話です。
やっぱりSDLはDCでも動くべきです。そんなわけで SDLをDCに対応させたい話です。
うーむ某日記で 参照ページ1の訳が出てますな。素晴しいっす。 私のやつは読まなくてもいいかも(今更言うかね)
当方は現在make buildと格闘中です。うーんNetBSDいじるのはあまり やってないので大変です。上で「慣れ親しんだ」って書いたのは実は嘘でした。 NetBSDさん生意気言ってすいませんでした。背伸びをしてfollow you!!
修行して参ります。
現在、PC側をcurrentにしてcross環境作ってるとこです。 make buildはそれなりに大変でしたが、対処法がいちいち src/UPDATINGにありましたんで問題なしでした。
currentのおっかけかたや、カーネルのつくりかた、それとクロス開発のしかたなど ドキュメントは必要充分で私には非常に読みやすく感じました。
NetBSD真剣に触ったのはこれが初めてですが、思ったより居心地いいかもと 思ったり。
なおPC側の作業はwmare上でやってます。これだとダメになっても やりなおし簡単だし、CPUの性能はほぼ実機そのものみたいですし。 私は安いころ($99だったっけ)に買ったんですが今だとちょっと 高そうですね。
ほんとはNetBSD用に一台マシン欲しいんですが。
NetBSD用マシン組みました。ぼちぼちやって行きたいもんです。
Super!! そうかDreamcastで動くDreamcastのエミュレータ(?)があれば NetBSD動かしつつDreamcastのゲームが遊べるのか。成れ〜
これの ドライバが できたそうです。pollingなので早くないけど...ということですが、すごい。
ports/dreamcastにNewOSなる OSのPRがが。
Linux-shの近況。 eCos/RedBootからLinux/dreamcastのカーネルをbootできるみたい。
xmame.SDLが動いているらしいので素直にびっくり。