« January 2006 | Main | March 2006 »

February 2006

2006.02.25

シリアル通信構想

シリアル通信部の構想がおおよそ固まってきた。
サンプルのシリアル通信クラスは、やはりスレッドを作って受信をやっているようで、受信キューに溜まったら読み込みをしてくれる、様子。
ただし、受信用のメソッドが用意されていないので、どうしてかな?と思ったら、受信したデータを処理するルーチンは実装されていなかった。
これは、ここは自作しなさいよ、ということでしょうな。

ということで、ここに、受信バッファを用意して、受信されてきたものを順次追加していくようにしよう。
バッファはとりあえず256バイト程度の固定値で。
使い方は限定しているから、そんなに無茶なデータも流れないし。

そして、新しく読み込み用のメソッドを追加して、そのバッファからデータを吸い出せるようにする。
読み出す度に、バッファの方は読み出された分を消去して、残りの分を前の方へ詰めていくことにする。

一つ気をつけなくてはいけないのは、1つのバッファを2つ以上のタスクが使うことになるので、セマフォをちゃんと設定してやらないといけないということか。
バッファに書き込もうとするヤツと、バッファを移動させようとするヤツが同時に動いたら、おかしなことになるものね。しかも、その間に受信した分は取りこぼす、とかいうことのないように。
さて、Win32 APIにセマフォの制御はあるのかな?

W-ZERO3 GPS化ソフトの方、ちょっと作業から遠ざかっていたけれど、久しぶりに再開。
Win32用のCommライブラリのソースを見つけたので、それをダウンロードしてきて読んでみて、さらにビルドもしてみたけれど、これ、受信バッファを見たり、イベントを待ったりしているわけではないので、最初に作ったプログラムと変わらない気がする。

次に、24termのソースを呼んでみた。
最初、W-ZERO3用のコードを読んだのだけれど、VC++6用だったので、eVCで読み込めず、解析が難しかった。
ので、Pocket PC用の古いコードを拝見したところ、これはスレッドを使ってイベントを待っていることがわかった。ターミナルソフトだから、受信は完全に分けちゃった方がいいのだね。
しかし、送信−応答がペアになっている通信の場合は、こういうスレッドプログラムにすると、ややこしくなりそうな気がする。一度、状態遷移図とか、まじめに書いてから作成したほうがいいな。
仕事で扱ってるコードは、そういうのを作ってなさそうで困ってるから(苦笑)

今読んでいるのは、 http://www.hidori.jp さんに掲載されていたシリアル通信のサンプルコード。
http://www.users.gr.jp/blogs/hidori/archive/2004/03/23/1734.aspx
WinCEに対応したクラスになっていて、スレッドの作成も中でやってくれている様子。
これなら、比較的簡単に使えるかな?と期待しているところ。

2006.02.23

公証人役場におけるプライバシー

会社を休んで、公証人役場に行ってきた。
理由は前回と一緒だけれど、あれから2ヶ月も経ってるなあ。

で、行ってみると、2組ほどいた。
1組はすぐに出て行ったので内容は不明。
もう1組は遺書がらみ。家族総出で来ていて、内容に間違いないことを確認するために、公証人が読み上げるのだが、まあ、内容が全部わかるわけですよ。名前、住所、どこの銀行に預金があって、どこにどんな登記をしてある土地があって、などなど。
こういうのは他人に聞かれたらまずいと思うんだけどなあ。まあ、覚えちゃいないけどさ。

また、自分の分をやってもらってる間に、あきらかに外国の人が、日本人の付き添いで来てた。
奥さんと子供がウクライナに帰るらしいのだが、「父親の僕が了承してますよ。誘拐じゃありませんよ。」という趣旨の書類を作成して、それ(実際にはロシア語の原文の英訳)を公証してもらわないと飛行機に乗れないらしい。
情勢不安そうなところは大変だなあ、と思った。

2006.02.22

道楽とは

英会話教室で、プレゼンテーションの練習があるので、その調べ物をしていたところ、感動的なフレーズに出くわした。

When a habit begins to cost money it is called a hobby.

ハビット(くせ)にマニー(金)がかかるようになると、それはハビー(道楽)と呼ばれる。


ちなみに、調べていたのは、村井弦斎の「食道楽」のタイトルをどう英語訳するか。
結局、「foodie」(食通、グルメ)としてみた。

ちなみに、その「食道楽」で紹介されたレシピを使ったカレーパンとコロッケが、明治村で売っているらしい。
http://www.meijimura.com/105/02.html
明治村、行きたいなあ。

2006.02.19

Hi-MD WALKMAN MZ-NH3D

Hi-MD WALKMAN MZ-NH3Dが近所のサトー無線の閉店にあわせて、展示品が処分価格になっていたので購入。
WALKMANと名の付くものを購入するのは初めてかもしれない。そりゃそうだ。音楽聴かなかったもん。

HiMD

iPodももっているのに、いまさらMDかよ?
というのもあるのだが、愛車のカーナビになぜかMDが搭載されているので、これを使ってやりたいな、と思っていたわけだ。車を買って2年になるけど、一度も使ったことがなかった。
CDプレーヤも当然内蔵しているから、CD-R焼けばいいじゃん、という話しもあるんだが、CD-Rは長くても80分しか入らない。MP3対応じゃないからねえ。

もちろん、iPodを接続することも試した。こいつなら、毎日Podcastも入ってくるし。
FMトランスミッタも買ったし、ドックコネクタから接続するオーディオケーブルも買ったし、ビデオも表示できる3端子つきのビデオケーブルだってもってる。でも、どれもいいソリューションではなかった。なにより、接続するの面倒なのよ。

MDなら、MDLPに対応しているので、1枚で最大320分まで行ける。
今回購入したHi-MDプレーヤは、PCと接続することで、CDから取り込んでMDに書き出すことができる。NetMDと同じだけど、これは便利。なにせ、CDプレーヤとMDレコーダを繋いでダビングとか面倒なことをしなくて済む。
CDをSonicStageというソフトで取り込んで、それをUSB接続したMDプレーヤに書き込むだけ。実に簡単。
初期設定のままにしておくと、CDはATRAC3 64kbps、すなわちMDLP LP4相当で取り込みされるので、そのままMDに転送すれば、勝手に収録時間が4倍になる。どうも、LP2やSPとの混在もできそうだが?

さらに、Hi-MDプレーヤは、データストレージ機能ももっている。
マスストレージクラスに対応しているので、繋げばそのままMOみたいな感じで使うことができる。
いままでのMDでも、2倍容量になってくれるので、300MBぐらいのデータストレージになってくれる。
フォーマットさえ済んでいれば、Mac OS Xでも認識してくれるので、これはいいかも。

液晶付きリモコンもついているので、いっそ、iPodから乗り換えてもいいかも、とちょっと思わせる。
とゆっても、実際はPodcastを取り込むのも面倒だから、乗り換えることはないだろう。
基本的に、カーオーディオ用音楽作成デバイス、という位置づけ。

MDLP LP4の音質は、相当ひどいものなんじゃないかと危惧していたけれど、全く問題にならなかった。
むしろ、iPodをケーブルで接続して、VCR入力から出力した方が汚いぐらい。
これなら十分にカーオーディオとして使えそうだ、という印象を持った。

ただ、このプレーヤ、難点もある。

クレードルはオシャレなデザインなのだが、充電しかできない。あくまで、「充電スタンド」。
最初は本体のどこにACアダプタのコネクタがあるのか探してしまった。
実は、充電スタンドがないと充電できないのだ。18時間程度しか再生時間がないのに、
ちょっとした旅行には充電スタンドも持っていかないとならなさそう。
それは、iPodでも同じ問題があるけど、iPodはUSBやFirewireからの充電もできるからなあ。

また、PC接続と充電を同時にできない。同じコネクタを使っているから。
そのため、充電スタンドから取り出して、ケーブルをさしなおさないといけない。
これは面倒だ。
普段はUSBに繋いだままにしたいんだけどな。

2006.02.11

グループボックスは使えない?

ダイアログボックスにラジオボタンを作っているところ。
緯度経度の出力を、TOKYO97かWGS84にするか、という選択肢をつけようとした。
まあ、最初はTOKYO97だけの実装になると思うけど。

「Beginning Visual C++ 6」によると、ラジオボタンを含むときには、「グループボックス」というコントロールを使う、というようなことが書いてあった。
そして、eVCにもグループボックスがある。
ラジオボタンをグループボックスで囲んでダイアログを作って、ビルドして、実機で実行したところ、正しく表示されない。消えてしまうのだ。

これは、おそらく、1つのダイアログではラジオボタンは1組しか使えない、ということなのかな、とも思った。
まあ、いいか。
ラジオ化するのはそのぐらいだし、ほかのコントロールでも代用できるし。

eVC開発環境再構築

eMbedded Visual C++をPAEが動作する環境で動かそうとすると、Pocket PCエミュレータが危険なアプリケーションです、とかなんとかいわれてしまうので、それを避けたくてVMware PlayerでWindows 2000環境を構築していた。
そこにeVCをインストールして開発をスタートしていたのだが、ビルドしたプログラムを転送するのが面倒くさい。
ビルド時間とかは気にならないぐらい応答もいいのだけれど、ともかく、この転送のためにいちいちゲストからホスト、ホストからゲストへ、と移るのがわずらわしい。

ということで、ホストOS側にeVCをインストールすることにした。
このためには、セキュリティリスクがともなう。
せっかく、Athlon 64 + Windows XP Media Center Editon 2005 (XP Pro SP2相当)によって使えるようになった、NX機能をつぶさなくてはならないのだ。

この方法がよくわからなかった。
まずはじめに「boot.iniの/PAEオプションを消しなさい」という英語のヘルプページに飛ばされた。
しかし、そんなものはない。
SP2の方はこちら、というページ(http://support.microsoft.com/kb/891667/)に飛ぶと、日本語表示になった。
たぶん、言語設定が日本語だからだろう。
しかし、意味がわからない。


5. pae を存在する場合、がオプションするを削除することによって PAE モードを無効にします。
6. noexecute を存在する場合、
がオプションするを削除します。

なんですかこれは?
と思ったら、これ、機械翻訳サービスによるページだったらしい。
トップに注意書きがあったので、引用すると、

ご注意: このサポート技術情報 (以下 KB) は、通常、英語で提供されている文書が機械翻訳システムにより自動翻訳されたものであり、人的な確認・修正が加えられたものではありません。この翻訳版の KBは、日本語をお使いになるお客様の便宜のために提供させて頂くものであり、マイクロソフトは、翻訳言語の品質について一切保証するものではありません。また、KB の内容誤訳によって、またはお客様による KB のご使用によって、直接または間接的に起こりうる一切の問題について、いかなる責任も負わないものとします。

内容を誤訳したら、意味が変わる可能性が十分にあるんだけどなあ。

ともあれ、翻訳を英語にしたら、普通の英語になってくれた。やれやれ。
結局、


5. /pae が存在する場合、オプションを削除することによって PAE モードを無効にします。
6. /noexecute が存在する場合、オプションを削除します。

ということだったらしい。

これによって、NX機能が使えなくなった。ああ、セキュリティリスクが...

まあ、まだ多くのPCはNX機能をつんでないんだし、と思いつつも、Athlon 64使ってる意味がないじゃん、とだんだん思うようになってきた。
特徴機能の中で実際に使われているのは、Cool'n Quietだけか...

VMware Player と Athlon 64 3000+ と 64bit OS

VMware Playerは64bitホストならびにゲストOSに対応しているのだけれど、もちろん、CPUも64bit対応している必要がある。
我が家のPCは、Athlon 64 3000+なので、ホストはWindows XP Media Center Edition 2005ということで、32bit OSなのだけれど、その上で仮想マシンとして64bit OSが動かせるじゃん!と期待していたのだけれど...

対応CPUは、

・AMD Athlon 64, revision D or later

とのことで、うちのSocket 754のAthlon 64は、Family F, Model Cだったとさ。ああん。

ということで、相変わらず、64bit拡張CPUの恩恵は受けられずじまいなのであった。
むしろ、PAEのせいで動かないアプリがあって邪魔くさいぐらい...

ダイアログボックスのメニューを消す

今日は設定用のダイアログボックスを作ってみよう、と思った。
「Beginning Visual C++ 6」という英語の分厚い本を引っ張り出してきて、ダイアログボックスのあたりとかを読んでいるのだけれど、同じようにしてもリンクが通らない。VC6とeVCとでは、扱いが違うのか?

それとは別に、「このソフトウェアについて」のダイアログが出ているときに、ソフトキーが表示されているのがいやだなあ、と思った。
これを消すために、何かInactiveとかEnableとかHideとか何かのコントロールを使わなくてはならないのだろう、と思っていたのだけれど、どうもそうではなく、消すだけなら簡単らしい。

WM_INITDIALOG メッセージの処理時に、SHINITDLGINFO のフラグとして、

SHINITDLGINFO shidi; shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIPDOWN | SHIDIF_SIZEDLGFULLSCREEN | SHIDIF_EMPTYMENU;
とする。SHIDIF_EMPTYMENUが追加の部分。 これで、ソフトキーが消えてくれる。

AboutDialog

うんうん、こうでなくてはな。


2006.02.09

開発お休みの日

三日坊主、ともいえなくもないが。
今日は、W-ZERO3の開発はお休み。
帰ってきたら9時半ぐらいだったし。
本職の方で、一日中、コード眺めたりビルドしたりデバッグしたりをしていたから、コードものは疲れ気味。
また週末にちょこっと手を出そう。

2006.02.08

コモンダイアログのテスト

とりあえず、仮アプリケーション名を「W-ZERO3 GPS」としてみた。
実際は、かなり精度の悪いGPSになりそうで、トラッキングツールとしてもまったく役に立たなさそうだが。
職場で「ちず丸 for Willcom」を使ってみたら、500mぐらい離れた位置になっていたし。
ちなみに、うちからだと250mぐらいずれている。
どういう計算をしているんだろうかなあ?

さて、今日は「コモンダイアログ」に関するテスト。

ログを保存する先を指定するところを先に作ってしまおうと。
ザウルスだと、その手のダイアログがなかったので、結局、手入力だったのだけれど、さすがWindowsというかMFCというか、コモンダイアログを呼ぶだけでファイルを書くところを指定できるようだ。開発者さん楽々。

しかし、やっぱりどうしたらいいのかわからないので、リファレンスとして、Windows CE Fanの開発者向け情報にあったサンプルコードを参考にしてみた。
http://www.wince.ne.jp/frame.asp?/review/kappy/tips4.htm

ここでは、「GetOpenFileName」という関数を使っていた。
これをそのまま使って作ってやると、エクスプローラのファイルダイアログが開いて、ファイルを選択できるようにはなるのだけれど、保存先を新しく作ることができない。

関数の名前からして、「GetSaveFileName」ってのもあるんじゃないの?と補完で検索してみたら、あっさりとあった。しかも、ほとんどそのまま使えた。
ただし、フィルタだけ修正する必要がある。
TCHAR型や、TEXTは不慣れなのだけれど、

filter[]=TEXT("JPEG\0*.JPG\0\0");

という表記からして、「\0」を区切り文字にして、前がダイアログボックスに現れる表記(「JPEGファイル」など)、後ろがワイルドカードの様子。GetSaveFileNameの場合は、後者の拡張子が反映される様子。

最後に、この得られた結果を表示するように、「Hello World」を表示している部分をそのままいただいて実装してみた。

GetSaveFileName

今日はもうひとつ、メニューボタンの非表示にも挑戦しようとした。
しかし、まったくわからない。
DISABLEとかENABLEとかを設定するところがどこかにあるとは思うのだが、あるのは、メニューのIDだけ。これだけでどうやって非表示とかにすればいいのやら?

2006.02.07

W-ZERO3向けソフト開発開始

eMbedded Visual C++ 4.0 (以下、eVC++)をインストールして、W-ZERO3用のソフト開発に着手し始めた。
本職は、自称・ソフトウェアアーキテクトということにしているのだが、このごろはすっかりデバッガだったり、ポーターだったり、あんまり自分でコードを書くことはしていない今日この頃。
さらには、作るアプリケーションはGUIを使わないので、その手のプログラムもかなり久しぶり。
実は、数年前にVisual C++ 6.0で仕事をしたことがほんのちょっとだけあるのだが、すっかり忘れてるし。
本格的にGUIプログラミングをしたのって、「ざうちゃっ」が最後かしら?

前置きは長くなったけれど、まずは、MFCの作法とかを学んでいかないといかんなあ、と思うのだった。

まず、eVC++を起動して、最初にアプリケーションの雛形を選ぶ。
いくつか試したところでは、Pocket PC 2003用の「Hello World」アプリがよさそうだった。

これをビルドして、W-ZERO3で動かしてみたところ、「ソフトキー1」にきちんとメニューが割り当ててあった。
そう、Pocket PC用のソフトをインストールしても、多くはこのキーに対応していなかったりして、対応するのは難しいのだろうか?と思っていたのだ。探し方も見当もつかなかったし。
しかし、あっさりと、「Menubar」のリソースの中にあった。これはありがたい。
「IDM_MAIN_COMMAND1」 というのがそのキーイベントのIDで、左側の「ソフトキー1」に相当するらしい。
同じく、「IDM_MAIN_COMMAND2」というのが右側の「ソフトキー2」に相当する。

キーがわかれば、次は、そのキーイベント、ここではメニューバーなので、メニューイベントになるが、それを処理している部分を探して、お好みの処理を入れてあげればいい。
Pocket PCでは、右上の「×」ボタンを押しても、ウィンドウを閉じるだけでプロセスは動いたままになってしまって、終了させるのが面倒くさい。なので、メニューに「完全に終了する」という処理を入れたかった。

これは、「WndProc」というコールバック関数で処理されていた。
ちょうど、ヘルプダイアログを出すメニューイベントが記述されていたので、同じところにcase文を使って記述しておいた。
プログラムを終了する方法は実はよくわからないのだが、WM_DESTORYメッセージを自分のウィンドウハンドラに投げてやればいい、のかな?と思って、その処理を入れてみた。

SendMessage (hWnd, WM_DESTROY, 0, 0);

というのは、同じように、OKボタンが押されたときの処理で、WM_CLOSEメッセージを投げていたからだ。
で、実際、WM_DESTROYメッセージを投げたら、アプリケーションは完全に終了してくれた。
ま、これでいいか。

あとは、おまけで、W-ZERO3の高解像度(Hi Resolution)対応するためのリソースも追加した。
これは、Pocket Streets 2002のVGA化でも使ったのと同じ手法で、「CEUX」というリソースを追加して、そこに適切な値を設定してやると、アプリケーションがVGA対応であると認識するのだそうだ。
その方法については、「Windows Mobile 2003 Second Edition Developer Resources」に含まれるドキュメント「DPI_Awareness.doc」に書いてあった。

とりあえず、何もできないけれど、「Hello World」が表示されるだけのアプリが完成。

HELLOAPP

さて、次は、「Hello World」を書き換えるところかなあ。


追伸: せっかくなので、W-ZERO3のカテゴリを作ってみた。

2006.02.06

VMware Player と MOOCS

PC環境整備のため、これまで3つもOSが入っていたのを、Windows XP Media Center Edition 2005 1本に絞ることに。Windows 2000はVMware Playerで動かすし、今後、Linuxなども開発環境用にしか使わないから、結局、VMでよかろう、という判断に。

さて、PCがふっとぶと使えなくなるのが気に入らない「MOOCS」を蒸し返してみると、2/1にまた新しい無料楽曲が増えていた。
VMで構築したWindows 2000にインストールしたMOOCS Playerで楽曲をダウンロードしておいて、その状態で、ホストOSを再インストールして、そこにまたVMware Playerをインストールして、VMをコピーして、起動して...ああ、ややこしい。
ともかく、再インストールしなおしたホストの上に、VMを構築しなおしたとき、MOOCSのライセンスはどうなるのか?というのをちょっと試してみたかった。
結果、問題なく再生ができた。うーん、何の固有値を見て同一PCとか判定しているのか?インストールする際に作ったランダムな値とか?

とりあえず、これで「システムごとバックアップを取ってしまえばオッケー」という方向が見えた。

一方、VMware上のMOOCSからCDを作成しようとしたら、失敗した。
VMwareはCD-Rのライティングには対応していないんだっけ?
でも、CD-RWの消去はちゃんとできたぞ??

ちなみに、CDを作成しようとしているのは、iTunesで再リッピングするため。
どうせ、無料入手の音源なので、音質が下がろうが気にしないのであった。

と、ここまでして思ったのだが、「ライセンスバックアップができない」という購入意欲をいきなりそいでくれるサービスから、楽曲を購入することはありえないから、無料曲しかダウンロードしないじゃん、と。
しかも、その無料曲もiTunesに取り込みなおすんだから、ライセンスの保存とか考えなくていいんじゃないの?と。

でもまあ、技術的興味とか挑戦ということであります。

2006.02.05

VMware Player で Windows 2000 を動かす

無料ソフトウェア「VMware Player」では、Virtual Machine (VM) を作成することができないのだけれど、設定ファイルとディスクファイルを用意してあげれば、動かすことができる。
on CDで動くOS(Knoopixなど)なら、設定ファイルとCDイメージだけでも動いてしまうけど。

手持ちのVMware Workstation 3.2がAthlon 64には非対応っぽいので、VMware Playerで動かしてやることにした。
なお、3.2で作ったVMファイルは使えないし、アップグレードパスもない。もっとも、VMでは重要な作業はしてなかったからいらないけど。

さて、いろんなサイトを見て回って、実際に動くようにしたところまでを書き残しておく。

1. 「VMware Player」を入手する。
VMwareのサイトで簡単に手に入る。

2. 「QEMU on Windows」を入手する。
これもQEMUをGoogleで探せばすぐに手に入った。

3. ディスクファイルを作成する。
QEMUのツールのひとつ「qemu-img」を使って、VMware形式(VMDK)のものを作成する。
ここで作るディスクイメージは仮想ディスクの最大容量を指定するのだけれど、FAT32の外付けHDDにバックアップすることも考えて、4GBまでにしておく。

qemu-img create -f vmdk image.vmdk 4G

「4G」は「4GB」の意味。「4096M」でもたぶん一緒。

4. 設定ファイルを作成する。
設定ファイル(VMXファイル)は、実はテキストファイル。メモ帳があれば作成できてしまう。
インターネットで見つけた設定ファイルをもとに、修正などを加えたのが以下のとおり。


config.version = "8"
virtualHW.version = "4"
memsize = "256"

displayName = "Windows 2000 Professional"
guestOS = "win2000pro"
nvram = "win2k.nvram"
checkpoint.vmState = ""

scsi0:0.present = "FALSE"
scsi0:0.redo = ""

ide0:0.present = "TRUE"
ide0:0.fileName = "image.vmdk"
ide0:0.redo = ""

ide1:0.present = "TRUE"
ide1:0.autodetect = "TRUE"

# for Physical Drive
#ide1:0.fileName = "auto detect"
#ide1:0.deviceType = "cdrom-raw"

# for Virtual Drive
#ide1:0.fileName = "I:"
#ide1:0.deviceType = "cdrom-raw"

# for Install CD image
ide1:0.fileName = "w2k-install.iso"
ide1:0.deviceType = "cdrom-image"

# for VMware Tools
#ide1:0.fileName = "windows.iso"
#ide1:0.deviceType = "cdrom-image"

floppy0.present = "FALSE"

ethernet0.present = "TRUE"
ethernet0.connectionType = "nat"
ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:0c:29:d7:59:00"
ethernet0.generatedAddressOffset = "0"

sound.present = "TRUE"
sound.virtualDev = "es1371"

#usb.present = "TRUE"
usb.present = "FALSE"
uuid.location = "56 4d c3 26 2d 94 b4 23-78 41 62 fa b4 d7 59 00"
uuid.bios = "56 4d c3 26 2d 94 b4 23-78 41 62 fa b4 d7 59 00"
usb.autoConnect.device0 = ""
usb.autoConnect.device1 = ""


#で始まる行はコメント。
「(device).present」 はそのデバイスが使えるようにしてあるかどうか、ということらしい。
この設定では、USBは使わないようにしている。

CD-ROMの設定は、まずはWindows 2000のインストールなので、インストールCDのイメージを作っておいて、設定ファイルと同じディレクトリにおいておいた。
filenameにドライブパスを入れておくと、特定のドライブをマウントすることができるようになる。

なお、VMware Workstationだと、動作中にもCD-ROMの対象となるイメージを入れ替えることができたのだけれど、どうもできない様子。VMware Playerはできない様子。
なので、インストールには不便。
「DAEMON Tools」と組み合わせると、ISOイメージを簡単に交換できるので、便利。

5. 起動〜インストール
ここまできたら、VMware Playerを起動する。
作成したVMXファイルをダブルクリックすれば勝手に起動してくれる。
初回なので、HDDがフォーマットされていなければ、CD-ROMにブートが行ってくれるはず。
BIOSをいじりたいときには、F2キーを連打するのだけれど、カーソルがちゃんとVMware Playerに取り込まれていないと、キーを受け付けてくれない。
起動して直後は、フォーカスが中にいっていないので、すぐにウィンドウ内をクリックして、F2を押すという、結構タイミングがシビアなことをやらなくちゃならなかった。なかなか慣れないもの。

ともかく、CD-ROMブートができれば、あとは普通のインストールと変わらず。
まあ、ちょっと遅いけど。

6. VMware Toolsのインストール
VMware Workstationには、VMware用Windows SVGAドライバやマウスドライバが付属している。
これをインストールしないと、画面は16色しか出ない。
VMware Workstationのうち、Linux用TAR BALL(*.tar.gzファイル)を入手するのが吉。
これなら、インストールすることなく、中から「windows.iso」という、ドライバインストールディスクのイメージを取り出すことができる。
このイメージを取得したら、CDに焼くか、DAEMON Toolsを使ってマウントさせるか、VMXファイルのISOイメージを書き換えるかして、VM上のWindows 2000にインストールする。
なお、VMXの書き換えが有効になるのは、VMがシャットダウンしている時〜起動時なので、起動中に一時停止をかけて、VMXを書き換えて、再起動、というのでは反映されない。

7. 運用
VMware Toolsがインストールされたら、基本は完成。
あとは、Microsoft Updateをかけたり、いろいろと作業をして、普通に使えばいい。

2006.02.04

W-ZERO3に入れたアプリ

とりあえず、現時点でW-ZERO3に入っているソフト。

EBPocket
プロアトラスLite PDA
無線LAN接続切り替えツール
Opera Browser
TCPMP
GSFinder
TRE
WZERO3MON
GSPocketMagic++
Pocket Streets 2002
Skype
ちず丸 for Willcom
乗換案内
ぷよぷよフィーバー

定番ソフトやらなにやらいろいろと。
一度、フルリセットしちゃおうかな?
その前に、メールのバックアップを取りたいな。

W-ZERO3 GPSツール案

正直なところ、W-ZERO3やW-SIMの位置情報ではトラッキングには不向きだと思うけど、遊び半分で。

仮想COM化はあとにして、まずは、緯度経度をログに取っていくツールを作ってみることを考える。
すでにログを取るツールとしては、「W-ZERO3 Monitor」 というのがあるのだけれど、電波状況が欲しい訳じゃないので、もっと単純化しようと。

1.COMポートを開く
2.ATコマンドを送る
3.COMポートを閉じる
4.時間、緯度、経度をログに書く

これを周期的に行うようにする。たとえば、1分毎とかね。
繋ぎっぱなしにしていると、受話とかメール受信ができなくなっちゃうからね。

あとは出力。
ATコマンドの応答が、TOKYO97測地系で、

Nxx.xxxxxx
Eyyy.yyyyyy

となるのはわかっているので、これをどうフォーマットするか。
とりあえず、持っている情報だけ出しておいて、再フォーマットはPerlなりでも処理しやすい形にしておくとしたら、

N,xx.xxxxxx,E,yyy.yyyyyy,YY,MM,DD,HH,mm,ss

で、いいか。

まずは、開発環境を整備して、ATコマンドを出力して結果を得るところまで作ろう。

○W-ZERO3 Monitor
http://www31.ocn.ne.jp/〜yoshio2/wzero3mon-1.html

W-ZERO3 と Pocket Streets 2002

地図ソフト大好き人間なので、W-ZERO3には「プロアトラスLite for PDA」と「ちず丸 for Willcom」が入っている。
米Microsoft社が販売する米国の地図ソフト「Streets & Trips」には、Pocket PC用のソフトウェア「Pocket Streets」が付属していて、Windows版のソフトウェアから地図を切り出して持ち出すことができる。まあ、その辺は、「プロアトラスLite for PDA」に似ているんだけど、データがベクトルデータなので、拡大縮小が自由自在。Point of Interestの表示、住所検索なんかもできてしまう。さらに、GPSにも対応、と、いたれりつくせりなのであった。
手元には、昔、アメリカにいた頃に買って、初代iPaqに入れていたことがある「Pocket Streets 2002」がある。2003も買ったのだが、日本に帰ってきたときに、アメリカに行く人に気前よくあげてしまった。

ともあれ、W-ZERO3でもこの2001年頃のソフトが動くのか、試してみた。
さらに、VGA化もしてみた。

pstreet

サンプルのSeattle, WAの地図より、Space Needle周辺。
おお、かなりいい感じじゃん?

「Streets & Trips 2006」もちょっと欲しくなった。$40ぐらいで買えるかあ。うーん。
Costcoで買うのが一番安いのよね。

もっとも、W-ZERO3をアメリカで使う機会なんてあるの?と思うわけだが、まあ、友人たちに見せびらかすことがあるか?というぐらいだろうか。でも、アメリカじゃWindows Mobile Phoneは少なくないからなあ。でも、この形はちょっとかっこいいかもな。そもそも、W-ZERO3を使ってる間にアメリカに行く機会あるんかいな?

W-ZERO3はGPS機能が使えないので、結局、Meridian GPSを使った方がいいんだろうな。あちらも住所検索ができるし。モノクロだけど。
そういや、マゼランに渡したままのGPSがまだ帰ってこないなあ。
忘れられてるのか?

2006.02.03

エクスポゼがWindowsに!

Mac OS X 10.3 Pantherの発売日以降、この機能がないためにWindowsにはもう戻れない!と思った機能:『Expose´』(エクスポゼ)
それが、Windowsでも実現されたというのだ!
http://hotwired.goo.ne.jp/news/technology/story/20060203302.html
オタクソフトウェアとゆう会社が作ったらしく、30日のトライアル版があるとゆうので、早速、試してみた。

本当に、Expose´のような動きをする!
でも、Athlon 64 3000+ と ATI Radeon 9550 の組み合わせのせいか、動きはもさっとしている。
ちょうど、PowerBook G4 Titanium (G4 500Mhz + Rage Mobility)にPantherを導入して、動作させたような、そんな動き。
iBook 32VRAM(G3 800Mhz + Radeon 7500)に比べても、圧倒的に遅い。

それでも、なんか、幸せを感じた。
価格は$9.95。Windowsを常用するなら、出す価値はあるんだが、会社のPCには(個人でライセンスを所有するソフトは)入れられないしなあ。

W-ZERO3 GPS化計画へまた一歩

W-ZERO3で位置情報 http://app.blog.livedoor.jp/hayasuda/tb.cgi/50305369
というのを発見。
「ちず丸 for Willcom」をバイナリエディタで見れば良かったのね。
ATコマンドはテキストだから、普通にソフトを作ったら、テキストリソースに残るものね。

AT@LBC1
AT@LBC?
AT@LBC2

が一連のコマンドのようで、最初と最後が切り替えかな。

プロアトラスLite PDAがGPS対応しているので、なんとか、仮想COMポート(COM4とか)を作成して、そこにつなぐと、このATコマンドを使って緯度経度を取得して、NMEAでデータをはき出す、とゆうようなことができれば、ちょっとかっこいいんだけどな。

インフルエンザで仕事を休んでいるのに、なにをやってんだか(苦笑)


追記:
ちなみに、このデータ、測位系はTOKYO97ですね。変換が必要か。

« January 2006 | Main | March 2006 »

Recent Trackbacks

October 2014
Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ