### Micco's Home Page ### Welcome to Micco's page!!
Sorry, but this web page is written in Japanese.
<English>
■ 更新情報
■ このWebページについて
■ お知らせ
■ ダウンロード
■ DLL のインストール方法
■ SFX の設定例
■ いろいろ
対応ブラウザー
[Internet Explorer] [Firefox] [Opera] [Sleipnir] [Safari] [Google Chrome]
連絡先:Micco
[e-mail]

今日の出来事 (Jan, 2011)

●Jan.31,2011

○○○でパンヤ (PC エミュレーター編)...

[PangYa Season 4 Delight! on Parallels Desktop 6]

 今月半ばに FIN 氏のブログに, 「○○○でパンヤ」と題して Mac mini (MC270J/A) の Boot Camp を使用した Windows 7 Professional 環境での『スカッとゴルフ パンヤ Season 4 Delight!』の Fraps によるフレームレート計測記事が載りました。 ちなみに, 趣旨はタイトルのとおり「Mac でパンヤを実行してみました」というもので, あくまでも目安のための計測です, 念のため。 (^^;)

Mac で Windows ソフトを動作させるための手段としては Boot Camp を使用して Windows 系 OS をインストールするのが一般的です。 「ハードが Mac」というだけで Windows 7 そのものな訳ですから, 専用ハードである事による問題発生の可能性はあっても, 話が比較的単純です。

Windows ソフトの動作手段しては, もう一つ「PC エミュレーター」によるものがあります。 話が相当ややこしくなったり速度低下を招いたりしますが, 「Mac 環境のままで済む」という絶大なメリットもあります。

というわけで, 幸い手元に Parallels Desktop 6 for Mac を仕込んだ MacBook Air が有りますので, 同様の計測を行ってみました。 本当なら Mac mini を使いたいところですが, そのために買うわけにもいきませんので。 (^^;) < Parallels Desktop 6 for Mac のネタを書きたいがためだけに MacBook Air を買った人間が何を言う!! (笑)

 さて, ホストである MacBook Air のスペックですが, 大まかなところでは Core 2 Duo U9400 1.4GHz, 4GB メモリー, NVIDIA GeForce 320M, Mac OS X 10.6.6 Snow Leopard といったところです。 Mac mini の Core 2 Duo 2.4GHz との差が激しく大きいですね。 何しろ こちらはサブノートクラスの CPU ですから…。 なお, この 1.4GHz というのは Parallels Desktop 6 for Mac の要求スペック 1.6GHz を満たしていません。 (笑)

そのホスト上に Parallels Desktop 6 for Mac Build 11992 をインストールして, そのゲスト OS として Windows 7 Professional (x86) が入っています。 Windows エクスペリエンスの値は以下のとおり:

[エクスペリエンス on Parallels Desktop 6]

ちなみに, Mac mini では 5.9, 5.5, 5.3, 6.0, 5.7 です。 やはり CPU が大きく足を引っ張っていますね。 エミュレーターの特性上 描画は Direct3D を OpenGL 2.1 へ翻訳した上でホストに描かせることになりますから, ゲーム用グラフィックス辺りにも CPU の能力不足が影響してしまっています。

ちなみに, Windows ホストの場合, ベンチマーク辺りだと描画方面については概ねホストの半分くらいのスコアといった感じです。

 では, Fraps による計測です。 まずは「ピンクウインド+エリカ」です。

28fps と そんなものなのですが, ゲージはカクつきキー入力も遅れまくってしまいます。 実際にプレーするのは辛いところです。 ちなみに Mac mini では 87fps。 なお, あえて Aero はオンにしていますし, パンヤのフルスクリーン表示も行っていません。 設定は何も弄っていませんので, 800x600 表示で ほかもデフォルト状態です。

 今度は「ピンクウインド+ルーシア」です。

本来ならルーシアの髪がヒラヒラする分処理は重くなるのですが, PC エミュレーターによる負荷が全てを決定してしまい, エリカと同じ 28fps となっています。 Mac mini では 69fps。

 お次はフルスクリーン表示での「ピンクウインド+クー」です。

フルスクリーン表示にすると 38fps と 10fps 程度数値が上がりました。 その数値以上に大きく向上したのが操作性で, ゲージが少々滑るものの入力遅れも発生せず普通にプレーが可能となります。 はっきり言って dynabook NXW/76HPW (Core 2 Duo SU9300 1.2GHz, 3GB RAM,Intel GMA 4500MHD) 辺りよりも快適です。 )

 最後に待機画面です。

さすがに実機でも意外とキツい待機画面だけあって, 4 人ともなると入力が利かなかったりとゲームを始めるまでが苦痛となってしまっています。 Mac mini では 55fps。

件のブログでは続けてチャットルーム (露天部屋) での計測が続くのですが, 負荷が恐ろしくて入れませんので計測していません。 (笑)

 というわけで, フルスクリーン表示であれば概ね Mac mini の半分くらい…と言った感じです。 CPU が激しく足を引っ張っている MacBook Air では辛いところですが, より上位の 2.0 GHz を超える CPU が載った Mac であれば, 意外と PC エミュレーター上でも行けるのではないでしょうか?

 …と言った内容を昨日 Twitter で呟いたところ, 「いつも使っている実機はぁ~? それと VMware Workstation 7.1…」といった声が (何故かメールで) 聞こえてきましたので, 参考までに それらのデーターも上げておきます。 (笑)  スペック等については VMware 7.1 その他のページを参照。

 Windows エクスペリエンスの値は以下のとおり:

[エクスペリエンス on VMware 7.1]
[エクスペリエンス on Satellite WXW/78DW]

上が VMware 7.1, 下がホストである Satellite WXW/78DW です。 負荷の分 CPU 値が下がり, それが ほかにも影響しています。 描画方面の差が小さいのは, それくらいの負荷で済んでいるという理由もありますが, それ以上に, 特定能力の有無によって得点クラスが分けられるエクスペリエンスの仕様によるものです。

 次に計測値。 まずは「ピンクウインド+エリカ」です。

左が VMware 7.1, 右がホストで それぞれ 65fps と 72fps となっています。 今となっては時代遅れの GeForce 8700M GT だけあってホストが 72fps に止まっているのに対して, ゲストのほうは 65fps と意外と頑張っています。 VMware 上での経験則の常に従いゲージが少々滑りはしますが, ホストと遜色なくプレーが可能です。 なお, これは VMware 7.1 での話です。 7.0 以下には通用しませんので, 念のため。

 今度は「ピンクウインド+ルーシア」です。

[PangYa PW + Lucia on VMware 7.1] [PangYa PW + Lucia on Satellite WXW/78DW]

それぞれ 62fps, 69fps と, 清く正しくルーシアの髪のヒラヒラに掛かる処理の分だけレートが下がっています。

 番外で「ピンクウインド+クー」です。

[PangYa PW + Koo on Satellite WXW/78DW]

本来ならルーシアと同様に髪のヒラヒラでレートは下がるはずなのですが, 何故か 79fps と一番レートが高くなっています。 クーが小さい分軽くなっているのかもしれません。

 さらに待機画面です。

[PangYa Hall on VMware 7.1] [PangYa Hall on Satellite WXW/78DW]

それぞれ 21fps, 33fps と さすがにレートが かなり下がっています。 が, ホストは普通に操作が可能ですし, ゲストのほうも重いとは言え そんなにストレス無く操作が可能で一昔前のサブノート辺りよりは遙かに快適です。

 最後に, MacBook Air では断念したチャットルーム (露店部屋) です。

[PangYa Chat on VMware 7.1] [PangYa Chat on Satellite WXW/78DW]

30/30 状態で それぞれ 13fps, 16fps と さすがに重くなっています。 が,数値のわりにホスト・ゲスト共々, 意外と支障なく操作が可能となっています。

 …と, いつも使っている環境では こんな感じです。 意外とゲストでの落ち込みは激しくありません。 PC (Windows ホスト。) と Mac (Mac OS X ホスト。), VMware 7.1 Workstation と Parallels Desktop 6 for Mac という違いはありますが, 意外と似たような傾向が有りますので, Mac + Parallels Desktop 6 for Mac という選択肢も十分有り得ると思います。

VMware Fusion 3.1 は…。 経験則的には あまりお勧めできません。 (^^;;

Feb.2,2011 追記

 本来であれば, ホストである Satellite WXW/78DW でもゲストと同じ 800x600 の解像度 (及び設定も。) にしておくのが筋なのですが, 私が上げているベンチ系記事の常である「普段使っている環境での測定」に従って, 実際プレーしている環境で測定しています。 なので, 死ぬほど重たい Seesmic Desktop 2 辺りも走ったままです。 さすがにポップアップ表示はオフにしておきましたけれど。 (笑)

それに合わせて「ゲストのほうを 1400x900 で表示する」という手も当然考えられるわけですが, これまた毎度のごとく「ゲストにおいては解像度が違っても速度は殆ど変わらない」という傾向がありますので, 800x600 のまま測定を行っています。

Feb.9,2011 追記

 この画像を撮った頃のエリカですが, パンヤの例のバグで知らない間にフラワーセーラーリボンが外れていました。 どおりで「何かがおかしい」と感じた訳ですね。 (見掛け的にもステータス的にも。)

●Jan.26,2011

VirtualBox 4.0.2 r69518 公開...

 しばらくチェックを怠っていた間隙を縫って, VirtualBox 4.0.2 r69518 が先週登場していたようです。 気付いたのが一昨日の真夜中でしたので, 昨日ダウンロードとインストールを行いました。 (^^;)

 さて, 巷的に一番気になる部分は「ICH9 化を行っている Windows 7 ゲスト等で VirtualBox Guest Additions を使うと起動時にブルーサンダーが発生する」の不具合でしょう。 あ, 環境によっては VM がクラッシュするなど微妙に症状は異なっているかもしれません。 製品版で仕込んだという辺りが何だかなぁ…というバグです。

それはともかく, 件の不具合は 4.0.2 では解消されているようです。 が, β4 までとチップセットの認識状況が異なっているような…。 有効化できないのに比べれば遙かにマシですので, 気にしないこととしましょう。 (笑)

 一方, コンシューマー的には「こちらのほうが遙かに問題」と言えそうな, Direct3D での画面初期化失敗の不具合ですが…, こちらは何も変わっていませんでした。 といいますか, Direct3D 自体で言えば悪化しています。 今回の版ではサウンドのブツ切れ現象が発生しますので。

どうやら 4.0.x では Direct3D の更新は たとえバグフィックスであっても行われないようですね。 それどころか 4.x でも行われるかどうか…。 とはいうものの VirtualBox 3.0 から対応化を行っているわけですから, 4.x で 3DMark05 辺りが普通に動作する程度へ もっていかないと, 「技術力がない」と巷から見なされてしまいそうです。

個人的には 4.x の段階で 3DMark05 が動作しないなら, 5.0 以降での Aero 対応も無理だと思っています。 対応するにしても 5 年後?  PC エミュレーターに お金を掛けたくない向きには辛い状況ですね。 そこが有料と無料の違いとも言えそうですけれど…。(^^;;

 ともあれ, ICH9 化を行っている若しくは行いたいのであれば, アップデートしておいて損はないような気がします。 ただ, VirtualBox なので保険は掛けた上で行いましょう。 ただ, 意味があるのかどうかは微妙ですけれどね。 PIIX3 設定でも SATA や USB 2.0, HD Audio は使えますので…。 体感速度も変わりませんので, 違いは CPU 型番の認識が行われないくらいかしら?

Jan.27,2011 追記

 正式版が出た翌日に密かに公開された VirtualBox Guest Additions r69551 を適用してみましたが, 特に変化はありませんでした。 緊急アップですから広域的な改善を望むこと自体間違いなのですが, やっぱり期待してしまうのでした。 「(正式に対応を謳った項目について) 直したつもりが直ってなかった」とかで, ピンポイントで自身の不具合に当てはまることを…。 (笑)

Jul.13,2011 追記

 3DMark05…どころか 3DMark03 すら正常動作していないわけですが, VirtualBox 4.1.0WDDM 版ドライバーと Aero への対応化が行われました。 ただし, 最新 GPU (GeForce なら 500 シリーズ。) でないと実用には辛そうです。

●Jan.24,2011

マイクロソフト セキュリティ アドバイザリ (2269637) さらに その後...

 8 月下旬に大々的に宣伝され, 拙作 LHMelt を含め多数のソフトウェアが該当した「安全でないライブラリのロードにより、リモートでコードが実行される」 (マイクロソフト セキュリティ アドバイザリ (2269637)) の脆弱性ですが, 半年以上経った今でも ちょこちょこと脆弱性情報が載っています。

ここまで来ると残っているのは「『自身には関係ない』と高を括っていた」か「チェックはしたけれど し切れない箇所が残っていた」かの どちらかなのでしょうね。 きっと年単位で散発的に該当ソフトが登場するのでしょう。 はっきり言って他人事ではありません。 (^^;)

いや, お願いですから次の Windows では「端からダメ」という仕様にしてください。 訳の分からない下手な小細工設定を付加しないで…。

『LHA の脆弱性』その後 (6)...

 『LZH 書庫のヘッダー処理における脆弱性について (2010 年版)』 (MHVI#20100425) の その後の状況ですが, 何度か書いているとおり何も変わっていません。 対応を開始したベンダーもありますが, ほぼ全ての自社製品が該当している上に, 昨今ではエンジンが共通化されている傾向のあることから, 簡単にエンジンを更新できない状況となっています。 何しろ, デバッグ対象の製品や範囲が広大ですので。

結果, エンジン自体での対応を終えているベンダーであっても, 対応エンジンの一般公開は行われていないのが実情です。 コンシューマー向けはともかく, 業務用ソフトを使用しているのであれば, 窓口へ問い合わせてみるのも手かもしれません。

 それはともかく, 未だに誤った認識や対応の行われているケースが散見されるようです。 もっとも どこからも正式情報が発信されていないわけですから, 仕方のない話ですけれど。 せめて, 一部の製品については対応可能である旨くらい告知すれば良いのですけれどね。 >対応着手済ベンダー

 で, まず 1 点目。 LZH 書庫に脆弱性があるのではありません。 あくまでも対応ソフト側が書庫を正しく扱っていないだけです。 件の問題を「LZH 書庫の脆弱性」と言うのであれば, 現状出回っている ほぼ全ての書庫形式に同じ脆弱性が存在します。 (^^;)  ちなみに一連のタイトルは, プログラムソースの出所という意味で「LZH 書庫の~」ではなくて「LHA の~」になっています…。

 次に 2 点目。 爆弾を投下した本人が言うのも何ですが, 「必ず LZH 書庫から ZIP を始めとした他形式書庫へ移行しないといけない訳ではありません。」  巷では徐々に移行が進んでいるようですので, その流れに乗って「これを機会に」といったケースであれば もちろん構わないわけですが…。

件の問題は「LZH 書庫への対応を謳っていて検疫も行われていると思っていたら, 実はすり抜けが発生していた」という点にある訳ですが, 巷でも言及されているように「検疫されない」という点では未対応形式の書庫や暗号化された書庫と何も変わりませんし, 対策ソフトが検疫できないウイルス等が仕込まれていれば それまでです。

最後のケースはともかく, オンデマンド系の機能を有するクライアント型の対策ソフトがインストールされていれば, 少なくともファイルが展開された時点で検疫に引っ掛かります。 なので, 多くの環境では気にするほどの問題とはならないはずです。

危険なのは ISP のサービス (ISP のサーバー) やゲートウェイでの機能のみに頼っているケースです。 要は自身のネットワークや PC へ辿り着くまでの途中経路のみで検疫を行うパターンですね。 この場合は一旦すり抜けてしまえば終わりですし, 今回の問題は「既に対応しているウイルスだろうが何だろうが すり抜け可能」という点にあるのですから。

で, ゲートウェイ等だけに頼っているわけでもなく, ましてや外部と書庫を やり取りするわけでもない, しかも今回の脆弱性の存在しない (攻撃書庫を扱わないようになっている) 内部のみで完結しているシステムを利用している状況で, 何故移行が必要なのかしら?  あ,上述の「これを機会に」は別ですよ, 念のため。

特に移行を急ぐ必要もなく問題も発生する恐れはない…といった状況であれば, 無理をして数百万単位 (開発し直すとなれば最低でもそれくらいの金額にはなるでしょう。) の資金を投入して移行する必要はないと思うのですけれど…?

●Jan.19,2011

iPhone 5 と iPad 2...

 定期イベント…といいますか, iPhone 5 と iPad 2 が 6 月に登場するようです。 さすがに 1 月ということは無かったようですね。 それはともかく, 新型 CPU である A5 採用に伴って どれくらい動作が速くなるのか興味のあるところです。 iPhone 5 についてはデザインも刷新されますが, それが悪い方向への UI 変更へ繋がらないことを祈りたいところです。 いえ, Apple は たまに やらかしますから…「既存ユーザーを無視して我が道を行く」を。 (笑)

しかし…。 また筐体が変わるとなると…「毎回小物を買わせる」ことにしたのかしら?  まさか周辺機器等まで何もかも更新が必要…ということは無いでしょうけれど。 どちらにしろ, 私は先月 iPhone 4 を年貢方式で買ったばかりですし, 特に不満も無く使えていますので, iPhone 5 はスルーですけれど。

 一方の iPad 2 ですが, 何やら大きいもの (要は iPad と同じサイズ。) や小さいものが出るらしいのですが, それよりも解像度が 2048x1536 へ引き上げられる点を個人的には歓迎したいですね。 これなら iPad と同じサイズでも許せます。 iPhone 4 と同じような感じでフォントが表示されると有り難いですし, 「iPad の大きさで iPhone 4 と殆ど同じ解像度」というのが iPad へ堕ちなかった最大の理由でしたから。

iPad と同じサイズのもので UXGA+, 小さいほう (iPhone 4 と iPad の中間サイズとした場合。) で SXGA+ 辺りの解像度といったところでしょうか?  いくら何でも小さいほうで UXGA+ は…細かすぎます。 いえ, 拡大すれば良いので やってもらっても構いませんけれど。 とはいうものの…, ここまで解像度が上がるとシングルウインドウだと勿体ない気がします。 (^^;)

 う~ん。 評判にも因りますけれど, iPad 2 には堕ちるような気がします。 ただし, 必要なのは解像度であって iPhone 4 以上に限定された使用法になるでしょうから, MacBook Air 同様, 最廉価品の WiFi オンリーモデルを選択することになると思います。 要は「お試しモード + α」ですね。 それにより WILLCOM D4 辺りの出番は完全に無くなることでしょう。 WILLCOM 03 は…iPhone 4 がトラブった場合の予備機として生き残るかしら?

 あ, 「あくまでも SONY VAIO type P VGN-P91S も持っていて鞄の中に常駐」しているユーザーとしてですので, 念のため。 一般的な視点からは逸脱していますので注意。 同様に「au 携帯を使用。 その他を電話機として使用することは皆無」ですので。 (^^;)  ついでに, VAIO には WILLCOM CORE 3G (FOMA SIM) を仕込んであって, 自宅以外での回線は E-MOBILE Pocket WiFi (D25HW) を使用しています。 はっきり言って普通ではないです。 (笑)

Jan.21,2011 追記

 何やら Apple 筋が高解像度化を否定しているという話も聞こえてきているのですが, もし現行の解像度を踏襲するのであれば, iPad 2…といいますか高解像度化が行われるまでスルーですね。

Apr.22,2011 追記

 結局 iPad 2 の解像度は狭いままでしたので, 基本スルーということになりそうです。 A5 システム手帳のサイズで XGA では…ちょっと辛いです…PDA の延長としては。 いえ, VAIO type P を持っているだけに。 「なかなか安くなってくれない」というのもネックになっている気がします。

 iPhone 5 は 9 月に出るらしい…という話もあるようです。 さらに 6 が来年 3 月とか…。 要は「5 は繋ぎ」状況。 更新するとしたら 6 ですね。

May.6,2011 追記

 Apple Online Store で発売開始された先月 29 日当日に, iPad 2 WiFi 32GB モデルに堕ちてしまいました。 到着予定は今月下旬ですけれど。 (笑)  あれこれ好き勝手書いていた点が「本当にそうなのか?」しっかり確認したいと思います。

May.23,2011 追記

 予定どおりといいますか 20 日に iPad 2 本体が届きました。 軽いことは軽いのですが, MacBook Air や VAIO type P という比較対象が相手では分が悪かったのか, 意外と重く感じました。

結果論として解像度は iPad から変更されなかったのですが, 予想 (と少々弄ってみた程度。) と異なり現行でも十分でした。 …iPhone アプリの全画面表示を除いて。 (^^;)

●Jan.11,2011

2010 年末のプロケア 10...

 すっかり忘れていましたので今更クリスマスの話なのですが…, 25 日にプロケア 10 を受けるためにディーラーへ行ってきました。 毎度のフロントウインドウ撥水コーティングとガソリン添加剤…だけなら安く済んだのですが, 夏前にスルーしていたナビデーターの定期更新も行いましたので, ¥32k.- 也でした。 たまたまですが夏にスルーしたのが良い方向へ働いたようで, 自宅から 5km 圏内の比較的新しく出来た道路が反映されていた点はラッキーでした。 [一覧]

いえ, 別に更新するつもりはなかったのですが, 25 日当日まで更新費用が安かったものですから。 普通なら それだけでは更新しないのでしょうけれど, 元々夏に更新する予定でしたから…。

 余談ですが, ここ半年ほど YERA のデーター更新を全くやっていませんので, 次回は契約更新する必要が無さそうですね。 やはり, 自身の活動範囲内で変化が見られないとダメのようです。 「どうせ変化は無いから…」と更新が おざなりに。 (^^;)

年末年始の MacBook Air...

 「使うときは使うけれど使わないときは全く使わない」というセカンドマシン以下の宿命といいますか, 11 月に買った MacBook Air をクリスマス前から全く使っていませんでした。 Mac OS X v10.6.6 へのパッチ当てが無ければ…さらに いつまで放置されていたことか…。 (笑)  外出時に PC を持ち歩かなければいけない状況は有りませんでしたし, 職場では鞄の中に SONY VAIO type P VGN-P91S を入れていますから…。

Parallels Desktop 6 for Mac 方面が必要なければ, iPad のほうが総合的には便利で使用頻度は上がっていたかもしれませんね…, たとえ iPhone 4 を持っていたとしても。

 そういえば Mac App Store が開始されましたが, iPhone 向け App Store と全く同じような感じだと少々嫌かも…。 いえ, たまに App Store (といいますか iTunes。) がデーターを吹っ飛ばしてくれますので。 iPhone の場合は母艦でバックアップしているわけですが (ぶっちゃけ別フォルダーへ丸ごとコピーとか。), こちらは母艦そのものですから…。

UNLHA32.DLL の登場経緯と LZH の拡張子...

 LHA が登場してから 20 年以上, UNLHA32.DLL でさえ 16 年経過しているわけですが, 今でも時々「統合アーカイバ・プロジェクト」の成り立ちや LZH の拡張子についての質問メールが飛んできます。 この辺りについては拙作 LHMelt のヘルプに余談として載せてあるのですが, 「それを見ろ」というのも何ですし毎回説明するのもアレですので, これを機会に ここへ載せておくことにしました (笑):

".LZH" の拡張子について

 UNLHA32.DLL が作成する LZH 書庫の拡張子は ".LZH" となっていますが, 昨今の比較的多くのアーカイバーと異なり, UNLHA32.DLL やオリジナルである LHA のソフト名 "LHA" が拡張子としては使用されていません。 最近のソフトしか知らない世代の方には謎となっているらしいので, (私が見聞きした) 大まかな経緯を余談で書いておきます。

 今を去ること 20 年弱前 (1980 年代の終わり。) の海外では, UNIX 系 OS の compress コマンドを参考に作成された SEA 社の ARC や, PKWARE 社が作成した ARC の高速互換アーカイバー PKARC が, PC (MS-DOS) 用ソフトとして広く使われていました。 アーカイバー系のソフトに "ARC" の名前が多いのは, この辺りのソフトの存在も一つの起源となっています。

 圧縮は, 通信にかかるコスト削減には欠かせない技術の一つなので, その頃には日本でもアーカイバーに関する話題が盛り上がりを見せてきます。 (今でこそファイルのサイズを あまり気にすることなくダウンロードできたりしますが, 昔は扱うファイルの大小が, そのまま月に支払う通信料金の 1 万円と 10 万円の差といったような大きな違いとなって現れたのです。)

 そんな中で登場したのが, 三木氏による LArc (88 年) です。 このアーカイバーは, 奥村氏による LZSS が土台となっているのですが, "LZSS" の名前は LZ77 系アルゴリズムの一つである LZSS 法からきていて, それが そのまま LArc が作成する LZS 書庫の拡張子 (".LZS") にもなっています。 (MS-DOS では拡張子が 3 バイトまで。)

 LArc が少しずつ国内で普及していく中, 奥村氏が さらなる圧縮率の向上を目指して LZARI というプログラムを作成します。 このプログラムは, 名前のとおり先の LZSS 法と (適応型) 算術符号を組み合わせたものなのですが, 当時は算術符号 (のバリエーション) についての, 現在の Range Coder 法のような優れたアルゴリズムが存在しなかったため, 圧縮率は良いものの時間がかなり掛かってしまうという欠点がありました。 (後には, 算術符号に関する特許問題も浮上してきます。)

 ここで登場するのが吉崎氏が作成した LZHUF です。 これは LZARI の算術符号の部分をハフマン法 (適応型ハフマン) に置き換えたもので, それをアーカイバーとして完成させたものが LHarc (89 年) です。 LHarc の作成する書庫の拡張子が ".LZH" なのですが, これは LZHUF からきています。 LHarc はアーカイバーの世界に大きな影響を与えたソフトで, ZIP 書庫でのオリジナルと言える PKZIP / PKUNZIP, ARJ 書庫の ARJ といった当時の (MS-DOS 系の) メジャーなアーカイバーは, みんな, この LHarc の影響を受けています。

 LHA (91 年) は, 名前は違えども実質 LHarc Ver 2.x となるソフトです。 名前が異なるのは, ARC を作成した SEA 社の『ARC の名前を使用しないでほしい』という意向によるものです。 今なら下手をすると訴訟でも起こされていそうですね。

それはともかく, "ARC" の文字を使えなくなったことから, 当初は LH というソフト名を使用していました。 が, この "lh" というプログラム名が MS-DOS 5.0 で追加された LOADHIGH コマンドの省略形コマンド名と同じだったのです。 そのため, テスト開発や技術解説用途として C 言語 のみを使用して作成されたものについては LHx, 公開に向けてのアセンブラーを使った正式版相当のものを LHa と, ソフト名が変更されました。 なので, LHa の 'a' は "ARC" の 'a' というよりも, アセンブラー (assembler) の 'a' という意味合いが強いものだったりします。 ('x' は, 戦闘機等でおなじみの『開発 / 実験機を表す 'X'』からきているのでしょうね, やっぱり…って, 考え過ぎかしら?)  その後, Ver 2.11 で LHA ('a' が大文字) の表記に改められています。

 上で書いたように, LHA が実質 LHarc Ver 2.x であることから, 作成される書庫の拡張子も LHarc の ".LZH" が受け継がれているのです。

 ちなみに, 後継のソフトであることから, LHALHarc 互換の書庫を扱え (制限は, ファイルの名前順でソートしての格納くらいです。), LHarc で行えた (LArc による) LZS 書庫の展開も可能となっています。 UNLHA32.DLL は, 言わば LHA の移植ソフトなので, その辺りの仕様も受け継いでいます。

UNLHA.DLL の登場経緯

 『統合アーカイバ・プロジェクト』の成り立ち…といいますか, 『UNLHA(32).DLL が どのように登場したのか?』という質問を受けることがありますので, 余談ついでに書いておきます。

 LHA が登場してから 2 年後の 1993 年頃。 世の中は MS-DOS から Windows へと移り変わる過渡期にあって, 当時は Windows 3.1 が主流となっていました。 Windows NT 系の OS も登場していましたが, 一般ユーザーが使う OS は Windows 3.1 や 3.0A…どころか, MS-DOS ユーザーも まだまだ多かったのです。 (Windows は別途購入が必要でした。)

 この頃, Windows 3.1 用の国産アーカイバーとしては, nonki 氏による LHfe などが登場していて, それらのソフトは大概が kom 氏の LHA.DLL を使用していました。 LHA.DLL は, (UNLHA32.DLL もそうですが。) 極めて MS-DOS 的な仕様をもつ DLL でしたが, 当時は LHA の全盛時で, また, プログラムを作成しようとするような者であれば大抵が LHA にも精通していて, かなり手軽に書庫操作のプログラム作成が行えたことから広く普及した DLL です。 (これをもっていないと, こと LZH 書庫を扱う限りにおいては, 実質 Windows 用のアーカイバーは使えませんでした。)

 LZH 書庫操作用のツールとしては, フリーウェアである LHA.DLL が登場していて誰でも使える環境となっていたわけですが, 海外で主流となっていた ZIP 書庫用のツールは MS-DOS 時代と同じくシェアウェアが殆どで, 誰もが自由に使える DLL のようなものは存在していませんでした。 (当時, Info-ZIP の DLL 版は発展途上。)

 一方, 既に登場していた LHA.DLL にも, システム的な制限と DLL 自身の仕様とが絡んで, 『展開 (書庫操作) 中にはシステムを含む他の操作が一切行えない』 『操作を行えるようにすることは可能でも, 所要時間が 10 倍以上となってしまう』 『DLL のバグと環境が絡み書庫の情報が正常に取得できたり出来なかったりする』 等の問題が発生し, (特に一般ユーザーにとっては) 決して使い易いと言えるものではありませんでした。

 93 年秋も終わりに近づいたある日, 旧 NIFTYSERVE の FWINDEV (Windows 開発者フォーラム。 β版ソフトに関しての話題も扱っていました。) にて, LHfe のバグ報告のついでに 『UNZIP (Info-ZIP) のソースから ZIP.DLL って作れないかしら?』 と召還呪文を唱えてみたところ, 『UNZIP のソースが転がっているなら作ってもいいですよ』 と shoda T. 氏を召還することが出来たのです。 (笑)  その後, nonki 氏が ISH.DLL を作成してくださることになり, 言い出しっぺの私が何もしないのでは法則 (言い出しっぺの法則。) に反する…ということで, 『とりあえず LZH 書庫用の DLL は登場している。 なら, 登場していない ARJ 書庫用をば…』 と (メールで秘密裏に宣言した上で) UNARJ.DLL の作成に取りかかった…というのが, 最初期の大まかな経緯です。

 今にして思えば, Windows プログラミングの知識が (ほぼ) ゼロの状態で, 完全技術解説用プログラムである, 『指定された書庫をカレントディレクトリーに展開するだけ』 の UNARJ から, LHA.DLL と同様のインターフェイスを備えた UNARJ.DLL の作成に取りかかったのは, 無謀以外の何者でもないですね。 (笑)  それでも, 『一文字表示するのにも文字の画像 (ドット) パターンを用意して, ポートを叩いて…』 という処理をマシン語で行う必要のあった過去の経験に比べれば, API が用意された Windows プログラミングの世界は天国に思えましたけれど…。 (当然ながら, それはそれで別の大いなる苦労が登場してくるわけですが。)  また, フォーラムを通じて本職プログラマーを召還できてしまう…といった辺りは, パソコン通信の利点でもあり, 平和な古き良き時代だった…ということなのでしょう。 何しろ, 一般人にとっては各種ソフトの作者の方々なんて雲の上の存在でしたから。 (今がどうかというと, やっぱり雲の上の方々です。 そんなものです。)

 さて, UNARJ.DLL の作成に取り掛かったものの, 日頃からこぼしていた懸案事項 (愚痴) の一方は LHA.DLL であり, そちらは解決に至っていませんでした。 が, とりあえずは UNARJ.DLL を軌道に乗せる必要があり, 結局 UNLHA.DLL が登場するのは 1 年以上後の 95 年となるのです。 95 年初頭といえば, Windows 95 のα版 (東アジア向けの FE 版。) が開発者向けに配付された頃であり, 幸運にも, そのα版を開発者でないにもかかわらず登録テスターとして使用する機会を得た (これも FWINDEV に出入りしていたおかげです。) ことから, あまり時を経ずして UNLHA32.DLL も登場しています。

 このように, 『統合アーカイバ・プロジェクト』は, 誰かが音頭をとって始められたものではありません。 API についても『ハンドルを使った API も必要になってくるね…』といったような段階の大まかな仕様が FWINDEV で話し合われた程度で, 詳細な仕様が策定されたわけではありません。 言わば『早い者勝ち』の状況だったわけで, 幸か不幸か UNARJ.DLL が叩き台 (その土台は LHA.DLL そのもの。) となってしまい, それで採用されていたものが そのまま固まってしまったのです。 最初に作成された DLL が UNLHA.DLL であったのなら随分違っていたのでしょうが, 不幸にも UNARJ.DLL だったため反応があまりなく, そのままズルズルと…。 悪いのは私です。 ごめんなさい, ごめんなさい, ごめんなさい。 (笑)

 ちなみに, 『統合アーカイバ・プロジェクト』の名前は shoda T. 氏によるもので, 今も現存する Web サイト (善意による個人開設。) の立ち上げに際して使われたのが最初だったはずです。

●Jan.07,2011

64 ビット版 DLL, 2011 年の展望...

 開発のタイミングを失ったまま放置…基っ, 手が着けられていない UNLHA32.DLL の 64 ビット版ですが, そうこうしている間に年が明けて 2011 年となってしまいました。 今月末にはメインマシンが 64 ビット機へ更新されることですし, 自身の環境的にも 64 ビット版が必要となってくるわけですが, さて どうしたものか…。

放置の最大要因とも言える例の脆弱性については, 状況が全く変わっていません。 対処すべく手を着けているベンダーも複数存在しますが, どこも非公式な対応しか行っていませんので, 巷的には「対応していない」のと同義です。 あ, ここでいう「非公式」とは, 「一般的なアップグレードやパッチとして提供されていない」の意味です。 半年以上経ち新製品も登場した状況で こうなのですから, 今後も同じなのでしょうね, きっと…。

 とはいうものの, UNLHA32.DLL 自体は対応しているわけですので, それを使うユーザー的には ある意味「どうでも良い問題」では有ります。 (^^;)  Twitter でも呟きましたが, 状況に関係なく今年の上半期中には 64 ビット版を出すことになると思います, 主に自身の環境における必要性的に。 (^^;)  一部お約束している方面もありますし…。

出すのは良いとして, その場合は「UNLHA64.DLL」ではなくて「UNLHA32.DLL for x64」になると思います。 要は UNLHA32.DLL の 64 ビット整数を扱う API のみで構成された 64 ビット版 DLL ですね。 業務方面については, 「そのまま 64 ビット化」というケースが意外と多いので, 下手に仕様が変わるより そのままのほうが都合が良くて, そういった要望も多いのでした。 >「そのまま 64 ビットにしたものもお願い」リクエスト

 現行の仕様のまま UNLHA64.DLL を出す気はありません。 機会があれば MICLHA32.DLL の後継として 64 ビット版を出すことが有るかもしれませんが, 恐らく出すことはないでしょう。 余生を過ごす段階となった LZH 書庫ですし, 複数形式に対応した内部実装型へ流れつつある現状では, 低レベル API なんて必要ないでしょうから。 まぁ, 「低レベル API を使用して UNLHA32.DLL を構成し直す」なんてのは, 個人的お遊びとしては面白いので, そちらは ちまちま弄り続けるとは思いますけれど…。 >MICLHA32.DLL

 お遊びとしては, 「Info-Zip その他の API も組み込む」というのも面白いのですが, 海の向こうは頻繁に仕様の変わってしまう点が激しく難点。 「対応アプリ側も含めて特定版の組み合わせでしか使えない」なんてのは, 御免被りたいところです。 もちろん, 旧 API のままに留めておくという手もあるわけですが, 本家のほうがコロコロ変わるわけですから, 追随しないことには その方面の API を用意する意味がありませんし…。 あ, だめだ。 とてもでは有りませんが, 業務用としては使えそうに有りません。 (笑)

 余談ですが, 自身は ここ数年 LZH 書庫と 7z 書庫しか使っていません。 何だかんだで ZIP 書庫は文字コードで引っかかるケースが意外と多いですし, 普段は LZH 書庫を使っています。 で, 「更新等を行わなくなった且つサイズが気になる」といった場合に 7z 書庫を利用しています。 ぶっちゃけ「全部 7z 書庫にお任せ」でも良いのですが, ちょっとしたことなのですが, 処理時間が気になってしまいますので。 >100MB 程度でも結構気になる (笑)

その 7z 書庫ですが, 「何も考えず LZMA で圧縮」状態です。 LZH 書庫に比べれば遙かに圧縮率が高いですから, ヘッダーくらいは圧縮しますがソリッド書庫も全く使いません。 それで十分です。

Jan.11,2011 追記

 上を書いた 7 日の時点では, 次期予定だった Qosmio T780 が すでに販売終了となっていました。 神のお告げが「もう買うな」 「新型 Core i7 を待て」の どちらなのかは不明です。 (笑)  とにもかくにも実機が手に入らないと本格的な開発とは行かないのが辛いところです。 いえ, Satellite WXW/78DW 上での 64 ビットゲスト運用はメモリー容量的に苦しいので。 (^^;)

Apr.22,2011 追記

 T780 が販売終了となってから 4 ヶ月…。 ようやく それに代わる dynabook Qosmio T851/D8CR が発表されました。 今度こそ…今度こそタイミングを逃さず買わないと。 (^^;;

●Jan.03,2011

大晦日の悲劇 (CD 編)...

[Mahler No.7 CD]

 昨年のゴールデンウイークに行えなかった「マーラー全交響曲耐久連続視聴」を大晦日から正月に掛けて行っていたのですが, 年明けまであと僅かという時に悲劇は起きました。 あ, 大層なネーミングを行っていますが, 要はマーラーの交響曲の範疇に入りそうな曲を, 『嘆きの歌』から『交響曲第 10 番』 (全曲版) まで ぶっ通しで聴くという単純作業のことです。 (笑)

 6 番まで聴き終わり, 「さて 7 番を…」と CD を取り出そうとしたところ, 保護用のクッションが くっついたまま CD がケースから外れていました。 たまにある話ですので, ここまでなら何の問題もなかったのです。 が, そのクッションを外しに掛かったところ…レーベル面保護シールが くっついてきました。 いえ, ここまでなら良かったのです…ここまでならば。

右の画像を見れば一目瞭然ですが, その保護シールにくっついて, 1/4 ほどの領域の印刷層から記録・反射層までもが剥がれてしまったのです。 「レーベル面保護シールが, そのレーベルどころか樹脂層以外根こそぎ破壊してどうする!!」と思わず目が点になりました。 (大爆笑)  さすが 30 年近く経った CD だけある…といいますか, このようなことも有るのですね。 記録層まで 1/100 mm しかないってのは, CD 最大の仕様的欠陥だと思いますです。 (^^;)

 ちなみに, 今回不幸にも犠牲者となったのは『マーラー 交響曲第 7 番 ホ短調』 (クラウディオ・アバド/シカゴ交響楽団) です。 アバド旧録音のマーラー全集のやつですね。 今となっては このオリジナルの CD としての入手は不可能です。 国内なら中古で ¥15k とかしますし, 海外でも新品で似たような価格です。

幸い, 国内では無理ですが海外では復刻版が出ていますので, そちらを発注していたりします。 昔は無理だったのが今では 1 枚に収まっていますので, 地味に有り難いですね。 >グラモフォン

 余談ですが, 今回の耐久視聴は随分時間が掛かってしまいました。 大晦日の 11 時過ぎに始めたのですが, 昼食・夕食 (年越しそば) 等は もちろん, 上述の顛末を Twitter や TwitPic で呟いたりもしていましたので, 終わったのは年が明けて朝は 6 時半でした。 年末年始の番組は根こそぎスルーです。 (笑)

聴いた面々は以下のとおり:

  • 嘆きの歌:シノーポリ/フィルハーモニア管弦楽団。 オリジナル 3 楽章のやつです。
  • 交響曲第 1 番 ニ長調:アバド/シカゴ交響楽団
  • 交響曲第 2 番 ハ短調:アバド/シカゴ交響楽団。 初めて買ったレコードがこれだったり。 (笑)
  • 交響曲第 3 番 ニ短調:アバド/ウイーン・フィルハーモニー管弦楽団。 今でも「世界最長の交響曲」としてギネス・ブックに載っているのかしら?  『銀英伝』組には第 1 楽章がおなじみ。 (^^;)
  • 交響曲第 4 番 ト長調:ショルティ/アムステルダムコンセルトヘボウ管弦楽団
  • 交響曲第 5 番 嬰ハ短調:マゼール/ウイーン・フィルハーモニー管弦楽団。 この面々のライヴが当時のクラシックアワーで流れたのが, マーラー真理教入信のきっかけとなった最有力候補。 第 4 楽章の Adagio は映画や番組で良く使われます。
  • 交響曲第 6 番 イ短調:ショルティ/シカゴ交響楽団
  • 交響曲第 7 番 ホ短調:アバド/シカゴ交響楽団。 上述のとおり お亡くなりになりました。 (笑)
  • 交響曲第 7 番 ホ短調:アバド/ベルリン・フィルハーモニー管弦楽団。 旧録がお亡くなりになったので, 新録に御登場願いました。
  • 交響曲第 8 番 変ホ長調:ショルティ/シカゴ交響楽団。 『ハルヒ』 1 期の 6 話は これの第 1 部。 (ラトル/バーミンガムシティ響。)
  • 大地の歌:ショルティ/シカゴ交響楽団
  • 交響曲第 9 番 ニ長調:アバド/ウイーン・フィルハーモニー管弦楽団
  • 交響曲第 10 番 嬰ヘ長調 (マゼッティ版):スラットキン/セントルイス交響楽団。 各版持っていますが, 今回はマゼッティ版に登場願いました。

殆どが 20 年以上前に揃えたものですので, 旧録ばかりですね。 あ, 新録も持っています。 こうしてみると「基本アバド」なのかしら?  しかも 2 極化が進んで…バーンスタインやカラヤン, etc も持っているのに…。 (笑)

Apr.22,2011 追記

 今年はマーラー没後 100 年記念ですので, 月末からの連休中に もう一度耐久視聴を行う予定です。 今回は歌曲も含めてなので 2 日掛かり…。 あと, 1 日と 12~18 日は Twitter のアイコンがマーラーになります。 そして背景もクリムトのマーラーチクルスに。 あ, アイコンが変わるのはサブアカウントのほうです。 さすがにメインを変える訳には…。 (^^;)

May.27,2011 追記

 マーラーアイコンが, 「これは一体誰?」という事態を引き起こしてしまい, 結局 1 日と 18 日だけの変更に止まりました。 (笑)