こんばんは、川合です。
まだ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/