2006.09.24)発展課題のページ(全部読む前にここを読むのは混乱するのでおすすめじゃないです)「はりぼて友の会」とかを覗いていると、「はりぼてOS」の兄弟OS(姉妹OS?)といえそうなものがたくさん生まれています。これらを別々のディスクにインストールして、好きなときに好きなOSを起動して遊ぶのは楽しいですが、これらのOSはみんなすごく小さいことですし、1枚のディスクにまとめられたら便利かなと思いました。そんなわけで、てきとーにOSセレクタ(の元?)を作ってみることにしました。いうか、実は「はりぼてOS友の会」が10月のオープンソースカンファレンスに出るので(おめでとう!)、その記念作品だったりします。・・・ということで、このプログラムは「はりぼて友の会」に奉げます(ライセンスは毎度のKL-01なので誰でも使えます)。↑さてどうやって作ろうか?景気よく「作るぞー」と意気込んではみたものの、さてどうしましょうか。OSセレクタというとまずはIPLやasmheadの部分を書き換える方法が考えられますが、これはどうやらAkkieさんがチャレンジする予定らしいので、Kはやらないことにしました。なるとbootpack.hrb部分をいじるしかないわけで、コンソールにOS切り替えコマンドでもつけようかなと考えました。一度は普通に「はりぼてOS」(かもしくはその兄弟OS)が起動して、そこからコマンドで他のOSに移るわけです。OS切り替えプログラムが超巨大化して、それ自身がOSになってしまった、と考えてもいいでしょう。「はりぼてOS」は小さいので、これでも下手なブートセレクタよりも小さかったりするのですが。これだと切り替えコマンドがかっこ悪いとか言われそうです。それもくやしいので、切り替えAPIをつけることにしました。APIならOS切り替えアプリをかっこよくすればいいですし、それならKがバカにされる心配もありません(笑)。仕組みはこうしました。新たに.shsというファイル形式を考えます。Haribote.Sys」の略で、「選択起動可能なharibote.sys」のつもりです。Haribote.Sys」の略でもいいんですが(笑)。たいそうな略語ですが中身は簡単で、これはharibote.sysの中のbootpack.hrbの部分だけを取り出してファイル名と拡張子を変えただけです。・・・これをディスクから読み込んで、メモリ上にそれっぽく配置してJMPしてやればうまくいきそうだと考えたわけです。・・・こんなてきとーな方法でほんとにうまくいくのかな。なんか.shsだとWindowsの挙動がおかしいので、.bhsにしました。Haribote.Sys」の略。↑とにかく作ってみるようまくいくかどうかを心配していても前進しないので、気の向くままに作ってみました。API番号はとりあえず30番です。