こんばんは、川合です。 まだOSASK ver.4.7の一般公開が終わっていないわけですが、早くも ver.4.8へ向けてのベータリリースです。 今回のTwicthell6の特徴は、次のとおりです。 ・bim2bin4uの-v48aオプションに対応 ええといきなりですが、bim2bin4uなどというものはまだリリース しておりません。だから現状では意味がないのですが、bim2bin4uは 数日後にはリリースしますので、どうかそれまで待っててください。 この機能についてはあとで大雑把に説明します。 ・heppokoコンソールにsetorderコマンドを追加 setorderコマンドは、runコマンドに先立って実行できるコマンド で、そういう意味ではsetwindefによく似ています。 このコマンドで、ファイルセレクタに引き渡すファイルを前もって 設定できます。 (例) setorder rose.bmp run rrose.bin こうすることで、ファイルセレクタの表示はスキップされて、即座に バラが回ってくれるわけです。他のアプリでも同様にできます。 ・heppokoコンソールにsetimgnameコマンドを追加 setimgnameコマンドはCFやATA-HDDモードで利用するディスクイメ ージを切り替えるコマンドです。Ctrl+0〜9をコマンド化したものと 考えてください。 (例) setimgname fdimage1.bin こうすることで、Ctrl+1と同じ効果が得られます。 setimgnameでは数字だけではなくファイル名全体を指定できますの で、「osaskfd2.img」などを指定することもできます。そしてその後 にCtrl+1を押したりすると、「osaskfd1.img」を探しにいきます。 ファイル名は必ず8.3形式のものにしてください。ファイル名の8文 字目は数字以外でも構いませんが、Ctrl+0〜9で切り替えることがで きるのは数字のものだけです。 --- さてもう少し詳しい説明です。 まずsetorderコマンドです。 これは僕がデモ実演用にほしいと思っていたコマンドです。今まで rroseを実演に加えようと思ってdemo.psfに書いてみても、そこでファ イルセレクタが出てしまって、手間が掛かります。これはまずいわけ です。それで、このコマンドを用意しました。 次にsetimgnameコマンドについてです。なぜこんなコマンドを今ごろ つけたのかといいますと、うっちゃんさんにディスクイメージ10個じゃ 足りないし、CFはまだ空き容量がたくさんあるから、もっとたくさん切 り替えられるようにできないか、といわれたことがきっかけでした。 はじめ僕は、なんで10個で足りないんだ、FD一枚でもかなり余裕があ るのに・・・と思いました。実際僕は5個くらいのディスクイメージを 使ったのが最高で、それよりたくさん必要になる状況がわからなかった のです。で、うっちゃんさんに聞いてみたところ、.HELファイルをたく さん集めてあるディスクイメージとか、.MMLがいっぱいあるディスクイ メージとか、.JPGがいっぱいあるディスクイメージとか、なんかそうい う感じで不足しているんだと教えてもらいました。あと、スクリーンシ ョットをたくさん撮りたいと思っても、ディスクイメージが10個までだ と数個撮ったらいっぱいになってしまい、続きの撮影をするためには、 一度OSASKを終了しなければいけないわけです(それで画像ファイルを どかす)。 聞けば聞くほどOSASKをたくさん使っているからこその要望だなあと 思い、それにこれは簡単に実装できるので、つけました。これで、2GB のCFでもディスクイメージで埋め尽くすことができます(笑)。 もちろん、この問題の本質的な解決は、ディスクイメージ制をやめて ちゃんとダイレクトにCF/ATAサポートすることですが、それをやるとな ると時間がかかりますので、しばらくは着手できません。だから今回は これでいいと思っています。 さて最後のbim2bin4uの-v48aオプションに関する話です。 これは話すと長いので、詳しいことはbim2bin4uのリリースのときに 書きます。しかしその長い文章はきっと多くの人にとって「読む気がし ない」ということになりそうなので、ここに要約っぽいことを書いてお きます。 まずbim2bin4uというのは、bim2binのバージョンアップなのですが、 しかしこれは最近の傾向に反して、tekの改良ではありません。という か、tekの改良案は結構持っていますが、それは当分やりませんので、 心配(?)無用です。 bim2bin4uでは、bim2binの本来の機能、すなわちOSASKアプリの生成 に関する機能をバージョンアップしています。まあ新しい形式をサポー トした、くらいに考えてもらえばいいです。で、この新しい形式のメリ ットですが、細かいことをすっ飛ばして説明すると、こうです。 ・アプリのmakeが速くなる。 ・アプリが小さくなる。 ・アプリの実行が速くなる。 ね?いいことずくめです。 makeがどのくらい速くなるかですが、時間のかかっていた圧縮を最後 の-osacmpのときにしかやらなくなるので(つまりorgを生成するときは tek圧縮作業はやらない)、だからmakeがスピードアップするわけです 。 アプリが小さくなるのは、データセクションの2重圧縮をやめるから です。それに加えて、スタートアップルーチンを圧縮に有利になるよう に改良しました。 これに関連することですが、スタートアップルーチンがtek5を利用し なくなる関係でstack:の値も悩まなくてよくなります。tek0時代と同じ く、最低4k、あとは必要に応じて、という以前の計算法に戻るわけです 。 どのくらい小さくなるかですが、以下に実験例を示します。左が今ま でのベスト値で、右が-v48a利用時の値です。 hellok 126 → 110 helloc4 481 → 442 helloc9 176 → 135 bball 199 → 195 invader5 1152 → 1108 最後の「実行が速くなる」ですが、これも理由は簡単で、要するに展 開作業が1回しかないからです。2回やるよりは速そうです。 なお、今までのアプリも問題なく動きますし、bim2bin4uも今までの アプリ用のバイナリ生成能力をそのまま持っています(-v48aオプショ ンを明示しない限り今までと同じように動く)。 なぜ今までは二重圧縮路線を推進していたのか、なぜそれを見直すべ きだと思ったのか、という件については、bim2bin4uのリリースメール に書きます。 それでは。 -- 川合 秀実(KAWAI Hidemi) OSASK計画代表 / システム設計開発担当 E-mail:kawai !Atmark! osask.jp Homepage http://osask.jp/