[osask 7132] Twitchell6.

  こんばんは、川合です。

  まだ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/

ML番号でジャンプ
ML単語検索