人気ブログランキング | 話題のタグを見る

BeOS R5 on VMware Player

以前、こたつプログラミング用にノート PC の Virtual PC 上に BeOS の開発環境を作りましたが、もうこたつはいらなくなったので、デスクトップ PC 上でも同じことを行いました。
でも、Virtual PC 上の BeOS は時計が進むのがめちゃくちゃ速い。というか、実際の1秒の間に3秒くらい進んでいます。
どうも CPU が 750MHz と誤認識されているのが原因のようです。(実際のホスト側 CPU クロックは 2.13 GHz)

ここにある cpu_fix and system_time_patch のパッチを使うことでうまくいきそうですが、Virtual PC 上ではなぜか起動に 1 分くらいかかるようになってしまいました。

そこで、VMware Player ではどうだろうと思って試してみました。
VMware Player のバージョンは 2.0.3 build-80004。BeOS の環境を再び作るのは面倒なので、NHC というツールを使って Virtual PC の HDD イメージを VMware 用のイメージに変換しました。
あと、.vmx ファイルの簡単編集用に VMX Builder も使いました。
その結果、起動もそれほど遅くなく、時計も進まない状態になりました。
ちなみに、ネットワークは BeBits にある vlance ドライバを使えば大丈夫です。
それよりも、サウンドーカードとして es1371 を選んだところ、BeOS で音が鳴ることにびっくりしました。といってもちょっぴり音が割れるんですけど。
うちの家には BeOS で音を鳴らすことができるマシンは 1 台しかなく、普段の開発に使っているマシンでは音が鳴りません。Virtual PC でもサウンドカードを認識できなかったのですが、VMware Player では認識できたことに驚きました。
# by hironytic | 2008-05-05 11:14 | 近況

[CoveredCalc for Windows] VC++ 2008 とフォントと言語ファイル

キーカスタマイズの UI を作るのが面倒になって現実逃避中です。
現実逃避のひとつとして CoveredCalc for Windows のコンパイラを Visual C++ 2008 Express Edition にしてみることを検討してみたり。まあ検討しているだけでしばらく現在の Visual Studio 2005 Standard Edition から変わることはないですが。

それはそうと、ダイアログのフォント、現在は日本語なら "MS UI Gothic" 9pt を、英語なら "MS Shell Dlg" 8pt を使っています。XP まではこれでまあよかったんですが、Vista は本当にこれでいいんかいなとちょっと考えたりしてます。日本語版なら "メイリオ" がやっぱりきれいなんじゃないのかなあとか。英語版でも、"MS Shell Dlg" だと "Microsoft Sans Serif" になるみたいですが、Vista では "SeGoe UI" が標準っぽい。

これまでは、どうも "MS Shell Dlg" を使うことで多言語対応できますよ、といったスタンスをマイクロソフトはとっていたように思うんですが、ここを見る限り、Vista では、英語向けなら "SeGoe UI"、日本語向けなら "メイリオ" というように明示的に対応させろと書いてあるように見えます。スタンスが変わったんかいな。(まあ、そもそも "MS Shell Dlg" でも Non-Latin な Windows 9x が対応してなかったので、CoveredCalc では日本語向けリソースでは "MS UI Gothic" を指定したわけで、以前からあんまりすっきりしてなかったのですが)

CoveredCalc の現在の言語ファイルと対応 OS だけで考えると、
Windows 9x 系:日本語="MS UI Gothic"、英語="MS Shell Dlg"(="MS Sans Serif")
Windows 2000/XP:日本語="MS UI Gothic"、英語="MS Shell Dlg 2"(="Tahoma")
Windows Vista:日本語="メイリオ"、英語="SeGoe UI"
あたりが一番きれいなのかもしれません。Windows 2000/XP 日本語は "MS Shell Dlg 2" でもいいかもしれませんが。
でも、利用 OS でフォントを変えるならリソースファイルだけでは対応しづらいんですよね。そうなってくると、言語ファイルをリソースファイルとして保持する必要はなくなってきて、BeOS 版と同じように XML ファイルにしてもいいんじゃないかとか思ってきてます。

どちらにしても、当面はキーカスタマイズの作業が待っているのですが。
ってことで現実逃避でした。
# by hironytic | 2008-03-23 16:51 | 開発状況

こたつプログラミング

2 週間ほど前に我が家にもこたつが導入されました。
10年ちょい前に一人暮らしを始めて以来、それから結婚した後もずーっとこたつのない生活だったんですが、久しぶりにこたつの良さを実感しました。

ただ、こたつが置かれた部屋は 2 階。普段、パソコンのある部屋は 1 階なので、パソコンに向かうとこたつの恩恵を受けられません。
というわけで、最近は少し古いけどそれなりに快適に動作するノート PC を使ってこたつでプログラミングしています。
1024x768 のスクリーンがちょっと狭い...

このノート PC では BeOS は動作しないので Virtual PC で BeOS R5 も動くようにしました。
Virtual PC ってホスト側 OS の CPU がゲストにも関係あるんですね。
最初、デスクトップの Intel PC で BeOS R5 のゲストイメージを作ったんですが、ノート PC に持って行ったら動かなくて悩みました。
結局、ノート PC の CPU が Athlon XP-M で、BeOS R5 がそのままでは対応してなかったのが原因でした。Athlon パッチをあてたら動くようになりました。

作業はあんまりはかどってませんが、暖かいのでまあいいか、って感じ。
# by hironytic | 2008-02-16 00:56 | 近況

[CoveredCalc] ショートカットキー

Haiku-Development ML の方でショートカットキーの議論がされてる
CoveredCalc のキーカスタマイズはショートカットキーとはちょっと違うけど、将来 Haiku のショートカットキーの実装方法が変わったら、CoveredCalc BeOS 版のキーカスタマイズの考え方も変わるかもしれない。
# by hironytic | 2008-02-04 21:33 | 構想

[CoveredCalc] キーコードからキー名称取得 2

BeOS 版のキー名称取得方法として
キーマッピングでマップされた文字をとったりすると小文字ばっかりとれてしまいそうだし、
とか書いちゃいましたが、小文字がとれたら大文字にすればいいだけでこれに関しては問題ありません。
ファンクションキーとかテンキーが取れないのが問題。

なので、ファンクションキー、テンキーなどはソフトに添付した XML ファイルに定義を書いておいて、それから漏れたものはキーマップから取得(ついでに大文字化)、それでもとれなかったら "keycode-xx" というのが良さそうです。

ということで、再びまとめなおすと、

1. ソフトに添付した XML ファイルに定義があればそのキー名称を使う。
2. (Windowsの場合) GetKeyNameText() API を使ってキー名称を取得。
2. (BeOS/ZETAの場合)キーマップからモディファイアなしの文字を取得して大文字化。
3. それでもダメなら "keycode-xx"。
# by hironytic | 2008-02-04 20:23 | 構想