2010年05月05日

連休

まるまる一週間休みをとって、PDICばっかやってた割に、色んなことが手つかずのままだ。うう……。


pDice(WM版)

Java版で入れた修正をバックポートしてとりあえず動くようにしてみた。いくつかロジックを改善したはずなんだけど、体感速度はそれほど変わらず……。


aDice(Android版)

検索部分のUIはおおむね動作するとこまででけた。性能とかレスポンスはまだまだだけど、HT-03Aではそれなりに動いています。
辞書登録とか、設定画面とか、大物が残ってる……。


明日は仕事。

posted by Jiro at 21:03 | Comment(1) | TrackBack(0) | 日記

2010年04月29日

Volume Deskband 0.2.0.0

Windows Vista/Windows 7用の、音量調節ツールバーです。

ダウンロードはこちら

 

2010/04/29 [V.0.2.0.0]
・設定ダイアログを閉じたタイミングで設定ファイルを保存するように修正

 

※アップグレード時は、Uninstall→本体再起動→Installの手順を踏んでください。


akiさん
>Windows7 64 bit で使っています。再起動すると設定がすべてデフォルトに戻ってしまうのですが、これは仕様でしょうか?

すいません。自分で使ってても、なんか変だなと思ってたんです。(普段PCを立ち上げっぱなしにしていたんで、気が付いていませんでした)

Deskbandがタスクバーからリリースされたタイミングでセーブするようになってたんですが、それだけでは不十分だった模様。修正したので、お試しください。

posted by Jiro at 13:27 | Comment(0) | TrackBack(0) | 日記

2010年04月18日

jot 0.6.01

WindowMobile用テキストエディタ
対応:WM5.0 PocketPC
WM6 Pro/Classic/Standard
WM6.1 Pro/Classic/Standard
(W-ZERO3/X01T/X01HT/X02HT/X03HT/S11HT/EMONEなど)

2010/04/17[V.0.6.01]
・英語リソースを追加・日本語リソースを日本語化MUIの形にして分離
  (ただし英語環境向けの正式対応に非ず)
・改行コードの検索が正常に動作していなかったのを修正
・開く...ダイアログで、履歴の一番上のファイルと同じディレクトリを開くように修正
・MUIに応じてインストール後のテンプレートファイルのコピー元を切り替えるように修正
・テンプレートファイルをコピーした後、削除しないように修正

 

標準リソースには英語文字列を入れて、日本語文字列は日本語化MUIに分離しました。本バージョン以降、日本語環境以外では、メニューその他のメッセージが英語で出るようになります。

jotemenur CEZoom5 CEZoom2

ただし、これは正式に日本語以外の環境に対応できた、という意味ではありません。文字コード変換処理がnlsfuncに入っていたりするせいで、日本語環境でないとShiftJIS/EUCなどの読込が行えなかったりします。

ロシア方面で英語化して使っている人たちのためのものです。

 

改行コード検索の問題ですが、「正規表現有効な場合は、\nで改行コードを検索する」仕様とします。文中の改行コードを検索する例を以下に示します。

jot20100418_1

ただし、置換文字列に\nを入れることは、今のところ対応していません。悪しからず。

で、この対応のために、エディタエンジン内部の改行コードを「\r\n」から「\r」のみで処理するように変更しました。(さらっと書いていますが、影響は広範囲です)

 

あと、開く…ダイアログを、履歴のトップにあるファイルと同じディレクトリで開くように修正しました。

 

色々とクリティカルな部分をいじっているので、今回は人柱版扱いでリリースします。Giraffeの方も開発版フラグを立てておきます。
手元でのテストの密度をそれほど高く出来なさそうなので、今回の修正で不具合が出た人は積極的に報告をあげていただけると助かります。
一ヶ月ほど何もなければ、開発版フラグを下ろすことにしましょう。

動作報告・不具合報告お待ちしています。

ダウンロードはこちら
posted by Jiro at 14:07 | Comment(1) | TrackBack(1) | 日記

2010年04月17日

名残雪ってどころの話じゃねーぞー

なんか多摩地区では雪が降っていました。粉雪みたいな可愛いのではなく、ぼたぼた湿っぽい氷の塊が大量に。四月も後半に入ったというのに、雪で遭難しそうになるとは思いも寄りませんでした。


さて、

tacatさん

今回は以下の条件で「改行」の「置換」が正常に行われないようですので、ご報告したいと思い書き込みました。個体の問題かもしれませんが・・・

jot0511
W-ZERO es とhybrid w-zero

検索 \n
置換 空欄

何も変化なし

検索 \n
置換 *

置き換えがなさらず、\nの後に*が付加されます。

報告ありがとうございます。今、手元で再現しました。

#元々、「\n」を検索する時に改行コードして扱うかどうか、自分でも忘れちゃったんですが。と言い訳をしておいて。

・「\n」を検索 → 改行コードにマッチしない、「\n」にもマッチしない
・「\n」が含まれる文章で「\n/*」の置換をすると、妙なところに「*」が入る

と、変な動作をしているようです。変なの。

 

機能追加はともかく、バグはすぐに直すのがポリシーなので、土日のうちに直したいと思います。

「\n」で改行コードをマッチさせるかどうか、については、ソースを見直してから結論を出します。


qtotterさん

今週は↑のバグが優先なんですが、待ってる人がいると思えば、モチベーションも上がります。


なんか英辞郎の方でも仕様変更があったらしいので、pDiceも含めて直さなきゃな、と思っていたところ。

#私は英辞郎のユーザーですけど、英辞郎の中の人には言いたいことがあります。
・思いつきで、上記のような仕様変更をするのはやめて欲しい。PDIC/Unicodeは素晴らしいアプリですが、それだけが英辞郎クライアントという訳じゃないんです。今時、たかが数メガバイト削ってどうしたいんですか?
ダウンロード販売のファイル形式が、WinRarの自己解凍形式とか、ふざけんな。わざわざ機種依存するフォーマットで配布しておいて、「Macintoshでの解凍可能性については当方は保証できません。」とか言うな。今時圧縮率気にする奴なんていないから、頼むからZIPで配布してくれ。

と、「モバイル環境向けのPDIC互換ビューワー開発者」という世界でも数えるほどもいない弱い立場ですが、文句ぐらい言ってもいいよな。

posted by Jiro at 01:21 | Comment(0) | TrackBack(0) | 日記

2010年04月12日

ロジック見直し完了っと

AndroidでPDICの検索が遅い件。

プロファイル取ってみたら、BOCU->Stringのデコードで処理時間のほとんどを喰っていることが判明。細かい文字列がたくさん、というのは、Javaの文字コード変換に取っては効率が悪いようです。

なんで、SJISなりBOCUなりの辞書内の文字コードで検索を行うように検索処理を書き直したところ、まあ実用に耐える程度には高速化できました。よかったよかった。

携帯Javaと同様の手法でロジックの最適化が出来るようなので、エンジン部分はもう少し見直すとして、来週からはUIを本格的に作り込んでいきたいと思います。

posted by Jiro at 01:31 | Comment(0) | TrackBack(0) | 日記

2010年04月10日

三極化

MobileHackerz再起動日記: iPhone OS 4にみる、アップル本気の『どくさいスイッチ』

詳細は上記リンクの解説がとても詳しいのでそっちを見て頂くとして。

これらの施策に共通するのは「アップルは、自社製品の周辺でビジネスすることについてパートナーの利害よりも自社のビジョンを優先する。自社のビジョンに邪魔だと感じたらサードパーティはあっさりと切り捨てる」という姿勢です。もちろんどの会社にも多少なりともあることではありますが、アップルの場合は特に鮮烈。そして実はこれは今にはじまったことではなく、かなり昔からのアップルの(ジョブズ氏の?)カルチャーでもあります。

(上記リンク先より引用)

まさにその通り。iPhoneをいくら素晴らしいと思っても、Apple製品を買いたくない理由がまさにこれ。

 

それはそれとして、ちょっと思いつきで表にまとめるとこんな感じになります。
(もっとカラム増やしたいけど横幅の都合で割愛)

  開発言語 フレームワーク 3D 展開
Android Java
C/C++
Android Framework
OpenGL 携帯電話
その他組込全般
iPhone Objective C
C/C++
iPhone SDK OpenGL iPodTouch
iPad
Windows
Phone7
C# Silverlight
XNA
DirectX XBOX360
Windows PC
Windows
Mobile 6.5
C/C++
C#
Win32 API
.NETCF 3.5
規定無し フェードアウト

それ以外のプラットフォームは、緩やかにAndroidに巻き取られていくことでしょう。

で、こんな表を見ているだけでも、Google/Apple/Microsoftの思惑が、それぞれ別々の方向を向いているのが分かって面白いです。

・AndroidとWP7は、Java/C#のようなマネージド言語を採用して、開発コストを低減したい。
・Appleはネイティブコードで、低コストのHWでのリッチな表現を可能にしている。
・WP7はゲームコンソールやPCとの互換性を目指している。
などなど。

XBOX系のゲーム屋さんにとっては、WP7は意外と魅力的なプラットフォームに見えるのかもしれません。

んで、何が言いたいかっていうと。おいらみたいなサンデープログラマは、どこかの派閥に所属するしか無くなるってことです。アプリを作るにしても、移植が大変というか、ここまでプラットフォームが違うと移植じゃなくて作り直しになってしまいます。

結局こんなブログでいくら愚痴ったところで、奴らの決めた囲いのどこかに囲い込まれてしまうという、この現実からは抜け出せないわけです。

それが納得いかないんだよなあ……。

#それはそれとして、Desireを買うつもりです。

posted by Jiro at 21:55 | Comment(0) | TrackBack(0) | 日記

Android用のpDice

アドエス小物日記: じゃばじゃば の続きで、pDiceをAndroid用に作り直しています。

adice

なぜか不思議なことに、自分のものではないHT-03Aが手元にあるので、これ幸いと実機デバッグをしています。WMはエミュレータの方がデバッグしやすかったんですが、Androidはエミュレータが遅いので、実機デバッグの方が快適です。

んで、前回はPC用のJavaで動作確認していまして、今日初めてAndroidで動かしたんですが、あまりの性能差に愕然としました。英辞郎・和英辞郎・IRREGの組み合わせで、起動するのに5秒、単語一個検索するのに20秒と、あり得ない遅さ。

特に、Javaではプリミティブなbyteの処理のオーバーヘッドが大きいのが致命的なようです(PDIC的には)。NDKを使えばいいじゃん、ってのはその通りなんですが、当面Pure-Javaでロジックを見直していこうと思います。

結果表示部分は、とりあえずWebKit+HTMLで。ただ、表示まで一瞬待たされる感じもするので、決定にあらず、てな感じ。


名前は、’A’ndroid+p’Dice’=aDice 。部分文字列で入っていた’PDIC’が消えることになります。が、pDiceのpは、’P’ocketPCのPだったと、後付けの言い訳をひねり出したので、これでいいのだ。

#iPhone用はiDice、WP7用はnDice(.Netなんで)とか思いつく前にAndroid用を形にしようね>おれ


どなたか、Androidっぽいアイコンを作ってくれる人はいないものでしょうか。

posted by Jiro at 21:18 | Comment(1) | TrackBack(0) | 日記

2010年03月30日

auのAndroidもキター

Android搭載のシャープ製スマートブック「IS01」 - ケータイ Watch

キーボード付きはいいんだけど、コレジャナイ感がいっぱいなのはなぜだ。つーかでけーよ。テーブルに置かないと使えない大きさじゃん。

 

で、それはそれとして、

シャープ、Androidアプリ開発者向けの端末を販売へ - ケータイ Watch

こっちの開発用端末は、電話機能無し&素のAndroid(OS書き換え可能)ってことで、開発用のテストマシンてこと以外にも、単機能PDAとしても面白そうな感じがする。rootは確実に取れるだろうし。

 

シャープは意外と本気かもしれない。

 

#これとPocketWifiの組み合わせとかでもいいかも。

posted by Jiro at 21:10 | Comment(0) | TrackBack(0) | 日記

なんでJavaにはunsigned byteがないのだ〜〜〜〜〜!?

いえね、BOCUの入ったバッファをByteBuffer#compareTo()で比較しようとして、はまっちまっただけのことなんですけどね。

わざわざmemcmp()相当の関数を書かなきゃいけなかったのが、だるかっただけです。

 

#今更なのは、百も承知。

posted by Jiro at 01:05 | Comment(0) | TrackBack(0) | 日記

2010年03月28日

HTC Desireキター

ソフトバンク、Android 2.1搭載の「HTC Desire」を4月下旬に発売 - ITmedia +D モバイル

Xperiaの予約をしないで指をくわえて待っていたら、Softbankから「Nexus One」相当のスペックを持った「HTC Desire」の発表が来てしまいました。

ああ、どっちにしよう……。このあと一ヶ月くらい、この話題だけでご飯が何倍でも食べられちゃいそうです。w

posted by Jiro at 18:33 | Comment(0) | TrackBack(0) | 日記

2010年03月23日

じゃばじゃば

とりあえず、pDiceのエンジンをJavaに移植する作業が一段落。元々WindowsCE向けなので、内部Unicodeで作ってあったから、そんなに大変な作業ではなかったです。

エンジンが動いてしまえば、あとはAndroidのUIを作るだけ〜〜〜っと。そこが大変なわけですが。

posted by Jiro at 00:18 | Comment(0) | TrackBack(0) | 日記

2010年03月22日

EclipseでBOCUを使うためのメモ

随分以前にやったはずなんだけど、改めてやろうとしたら何をすればいいかすっかり忘れてて四苦八苦したので、メモを残すことにします。

BOCUというユニコード文字列を圧縮するための文字コードがあります。PDICのUnicodeフォーマットは、内部でBOCUを使ってます。

で、通常のJREでは、java.nio.charset.Charsetクラスで文字コード変換を行いますが、デフォルトの文字コードにBOCUは入っていません。というのも、BOCUはIBMが主体で開発されたものだからです。

ちなみに、WM用のpDiceには、IBMが提供しているライブラリが含まれています。

で、これを1年ぐらい前に書いたコードを引っ張り出してきたら、BOCUではまったので使い方をメモ。

・Eclipseを普通に設定する。 Pleiades Java用が便利。

ICU 4.4のダウンロードページから、以下の2ファイルをDLする。

icu4j-4_4.jar  6.2 MB  Jar file containing binaries.
icu4j-charsets-4_4.jar 2.2 MB Jar file containing binaries for Charset Conversion.

・プロジェクトのフォルダに入れてから、「ビルドパスの構成」→「ライブラリに追加」を選ぶ。

#自分が、手順を書いておかないと忘れる人間であると言うことが、はっきりした。


ss018

AndroidSDKに、XperiaX10をかぶせたもの。

Sony Ericsson - Developer World - Technology - Android - Developer Tools

から、ダウンロードできます。予約すらしていないというのに、こんなに気持ちだけ盛り上げてどうするんでしょうか、私は。


ちなみに、AndroidSDKでは、BOCUがサポートに入っているので、ICU4Jは使わなくても良さそう。

posted by Jiro at 02:14 | Comment(0) | TrackBack(0) | 日記

2010年03月20日

Windows Phone 7のクリップボード

既報ですが、下記の記事。

「Windows Phone 7 Series」搭載デバイス、コピー&ペーストに非対応:モバイル - CNET Japan

 

脊椎反射で「Windows Phone 7終わったな」と呟く前に、この間入れたばかりの開発ツールのエミュレータで確かめてみることにしましょう。

1)TextBoxクラスを入れたアプリを作る。
2)適当に打ち込んでみる。
3)Shift+左右カーソルで選択 →これはOK
4)Ctrl+X →選択していた文字列が消える
5)Ctrl+V →さっき消した文字列がペーストされる
6)再度Ctrl+V →もう一度ペーストされる
7) InternetExplorerを立ち上げて、Favorite編集画面で Ctrl+V →さっきの文字列がペーストされる

てな感じで、クリップボード自体が実装されていない、というわけではなさそうです。

クリップボード機能はOSに備わっているのに呼び出すメニューが無い、というせいで、X02HT(WM6std)にはクリップボード機能自体が無いと言われていた状況と似ているような気がします。

 

ただし。

WP7のSIPにはCTRLキーがありません。
System.Windows.Control 名前空間には Clipboardクラスがありません。

てことで、MSがクリップボードを提供するつもりでないことは、明らかですね。

やっぱ、(エディタ使いな人間としては)「Windows Phone 7終わったな」でした。

 

それはそれとして、Xperiaが気になって仕方がない今日この頃。エディタ専用機としてアドエスと併用する、て考えたらQwertyキーが無くてもいいかな、と思い始めてます。

#本国で売れてないんなら、早く日本向けにもNexus One発売してくれよう>Google

posted by Jiro at 20:22 | Comment(0) | TrackBack(0) | 日記

2010年03月17日

自由、とは

XMLの共同開発者が「Android」開発に参加--アップルを痛烈に批判

XMLの共同開発者が「Android」開発に参加--アップルを痛烈に批判:ニュース - CNET Japan

ちょっと共感できる記事があったので,メモメモ。

iPhoneのハードウェアとソフトウェアが素晴らしいのは事実だが、それでもわたしはこうした状況を嫌悪している。なぜなら、自由に代わる言葉はないし、オプションとして提供されるような要素でもないからだ。(Tim Bray氏)

Appleのユーザーサポートのひどさと、器量けつの穴の狭さと、独占欲は、三十年前から不変普遍のものですが、それはそれとして「自由」というのは重要であるというのは、全く同感です。

posted by Jiro at 01:12 | Comment(0) | TrackBack(0) | 日記

2010年03月16日

転職しました

毎日モバイル機器向けのコードを書いているせいで、趣味のコードを書く気力が出てきません。jot/pDiceへのコメントは、ほぼ毎日目を通してます。

jotの灰鰤とか、SC-01Bとか、X01-SCとかでの不具合にも対応したいんだけど、実機に触れたこともないので、手が打てません。

どうしても困るという人は、実機を貸してください。さもなきゃ、ソース公開してあるので、デバッグしてください。メール頂ければ、リモートデバッグ程度なら、協力できると思います。

posted by Jiro at 23:33 | Comment(0) | TrackBack(0) | 日記

最近のウィルコムの動向ですが

会社更生法云々は既報の通りですが。

まあ、PHSは緩やかな死を迎えていると思っていたので、あんまり驚いていません。遅いし。まあ、停波までの長い道のりを歩くのに赤字を垂れ流さなくて済むってとこだけは、他社に比べるとマシな死に方だというだけです。

HybridW-ZERO3については、Qwertyキーが付いてないので絶賛見送り中です。でも、今、つなぎ放題2xで3600円/月なのが、灰鰤PHSのみ機種代込みで2900円/月になるというのが、やっぱり納得がいかない。

それを言ったら、スマートフォンで3G使い放題が一番安いのがiPhoneというのも、納得がいかない。灰鰤売りたいんなら、3Gの金額をせめてiPhoneより安くしろよと、言いたい。

 

#あと、3Gで通話できるW-SIMを出してください。さもなきゃ、W-SIMを取り払った Thoroughbred W-ZERO3でもいいです。Qwerty+ATOKにしてくれるともっと嬉しいです。お願いします。

posted by Jiro at 23:26 | Comment(0) | TrackBack(0) | 日記

Windows Phone Developer Tools

ようやくWindows Phone 7 SDKのβ版が出たようです。
Windows Phone for Developers | Windows Phone: Developing applications and games for Windows Phone 7 Series

とりあえずトピックとしては、

・開発環境は.NET+Silverlight+XNA 。

・開発ツールは、VS2010 express for Windows Phone 7 。無償。 VS2010へのプラグインもあり。

てとこみたいです。

おそらく、普通のアプリ(デフォルトUIを使うような物)は、Silverlightで、ゲームはXNAで、という完全切り分けになる模様です。

早速インストールしてみました。

vs2010

GUIエディタはXAMLベースで、従来のWindowsFormを編集するとの同じ感じで編集できます。ボタンのイベントハンドラはC#。WindowsFormの開発に慣れた人ならすぐ入れるかも。

実行するとこんな感じ。iPhoneっぽい?

ss015

入っているアプリはIEのみ。日本語表示不可。

ss016

設定画面でリストをフリックして縦スクロールさせると描画が追いついてこないとか、完成度はまだまだという感じ。つーかこの時点で国際化対応されていないってのはどうなんだろう。

とりあえず今の段階では、どう頑張ってもネイティブアプリを実行できる余地はありません。てか、Win32API自体実装されないでしょうね、きっと。SilverlightがWM6.5にバックポートされる見込みも無さそうなので、WM6.5とWP7は完全に非互換、て落ちでいいような気がします。

まあ、ネイティブアプリ作ってる私が言うのも何ですが、Win32API自体がWindowsMobileの最大のメリットにして、最大の足枷になってた訳なんで、スパッと過去を捨てて新たな環境に移行するのは充分有りだと思います。

んで、今考えられるWindows Phone 7 のメリットですが、

・高度な開発環境の無償化
・C#,Silverlight,XNAなどの既に開発コミュニティのいる言語・フレームワークを選んでいること
・ほぼ単一プラットフォームであること

あたりでしょう。実際に発売される製品レベルで、単一プラットフォームであることを維持できれば、Androidを喰ってしまう可能性は充分にあるような気がします。

#どうせブランド力でAppleにはかなわないけどな。

 

どのみちQwertyキーボードなモデルが出なさそうな雰囲気なので、テキストエディタを移植ってのは無さそうな感じがします。

とりあえず、pDiceでも移植してみっかな。

posted by Jiro at 23:15 | Comment(0) | TrackBack(0) | 日記

2010年01月06日

Volume Deskband

本家Volume Deskbarのいしおさんの日記でご紹介頂きました。

勝手にクローンを作ったのに、快く受け入れて頂いて、本当にありがとうございます。

 

んで、足りない機能ですが、暇を見つけてぼちぼち作っていきます。

・アクティブにしなくてもホイールを有効にする機能
私自身はWheelPlus(ポインタの下のウィンドウにホイールイベントを送ってくれるフリーソフト。x64上でも32bit版が動作します。)を併用しています。

・ホットキー対応
設定ダイアログの「CTRL + ALT + ほにゃらら」とか出す部分の作り込みが面倒で先送りしました。

クローンを名乗るからには、この辺の機能は一応真似ておかないといけないかな、と。

posted by Jiro at 23:24 | Comment(0) | TrackBack(0) | 日記

2009年12月30日

HDD換装&バックアップ

Windows7を入れて早一ヶ月。VolumeDeskbandもリリースできたので、懸案だったHDDのバックアップを取ることにしました。

ここ数年HDDのバックアップにはAcronis True Imageを使用していました。
・大体2〜3ヶ月おきに一回のペースで同程度の容量の別のHDDにクローンを作る
・毎週一回、NASにユーザーデータ部分のバックアップをとる。
てな感じの運用で。

で、今回も同様に。

移行先として用意したのは、Western DigitalのWD10EARS。Caviar Greenシリーズは低発熱・静音性とそこそこの性能のおかげで、ここ最近お気に入りです。EARSは4096bytes/sectorを使用しているおかげで、旧モデルよりも若干容量が増えているとか。

AKIBA PC Hotline! (http://akiba-pc.watch.impress.co.jp/hotline/20091212/etc_wd.html)より

このAdvanced Format Technology(以下AFT)は、物理セクタあたりのデータサイズを従来の512バイトから4,096バイトに拡大することで記録密度を高める技術。

HDDのセクタは通常512バイトで、その前後にリードイン、セクタギャップ、ECC(エラー訂正符号)が付加される物理構造。AFTでは物理的なセクタ長を4,096バイト=512バイト×8個分に拡大、この物理上の1セクタ(4,096バイト×1)を論理上の8セクタ(512バイト×8)としてエミュレーションすることで、削減された(7個の)リードインやセクタギャップの分、容量効率を高められるという。

同社によれば7〜11%程度ディスク容量を節約できるほか、(セクタあたりの)ECCの増加によりエラー訂正率も50%向上させたという。ドライブ−ホスト間のデータ転送は従来どおり512バイト。

ので、実際に測ってみました。

WD10EADS(旧モデル)

D:\Download\diskmap>diskmap 1
\\.\PhysicalDrive1   Fixed hard disk media.
Cylinders  HeadsPerCylinder SectorsPerHead BytesPerSector MediaType
     1db01         ff               3f            200             c
    121601        255               63            512            12
TrackSize = 0x7e00 32256 (31.5KB)
Cylinder Size = 0x7d8200 8225280 (8032.5KB) (7.84424MB)
Total Sectors = 0x747059c1 1953520065
Disk Size = 0xe8e0b38200 1000202273280 (976760032.5KB) (953867MB) (931.511GB)
Disk Signature = 0xc34dc34d 3276653389

WD10EARS(AFT)

D:\Download\diskmap>diskmap 2
\\.\PhysicalDrive2   Fixed hard disk media.
Cylinders  HeadsPerCylinder SectorsPerHead BytesPerSector MediaType
     1f8b1         f0               3f            200             c
    129201        240               63            512            12
TrackSize = 0x7e00 32256 (31.5KB)
Cylinder Size = 0x762000 7741440 (7560.0KB) (7.38281MB)
Total Sectors = 0x74705610 1953519120
Disk Size = 0xe8e0ac2000 1000201789440 (976759560.0KB) (953867MB) (931.511GB)
Disk Signature = 0x8a31f86d 2318530669

基本的に公称容量どおりとなっていて、実容量が10%増えているということではないようです。なあんだ。

浮いた分はエラー訂正や代替セクター用に予約されているんでしょうから、AFTがユーザーメリットに繋がっていないというわけではないでしょう。きっと。


さて、気を取り直して。

このHDDは4096bytes/sectorのため、4096バイトの境界にパーティションの先頭を合わせないと性能が発揮できないとされています。しかし、WindowsXPでは普通にパーティションを作成した場合、63セクタ目=7.875*4096 のアドレスからパーティションを作成するため、性能低下が発生します。

Windows7なんだから問題ないね〜と思ってたら、TrueImage等のディスククローンツールでも、パーティション作成時に同様の問題を起こすようです。

で、色々調べた結果、以下のような手順で引越が出来ました。

1. 新HDDをPCに接続し、旧HDDのWindows7を起動する。
2. Windows7の管理ツールを使って、新HDDにパーティションを作成し、フォーマットする。
3. TrueImage 2010を起動し、旧HDDのパーティション全部をバックアップする。
4. 今取ったばかりのバックアップから、「MBRを除くパーティション部分のみを」を新HDDに復元する。その際に、バックアップ先のパーティションは手動で選ぶ。
5. 今度は、「MBR部分のみを」を新HDDに復元する。
6. シャットダウン後、旧HDDを取り外して、新HDDから起動する。

このように二段階で復元することで、移行先HDDのパーティション構成を保持したまま、復元できるようです。


ついでに、Windows Vista/7 で、SATAをIDE互換モードからAHCIに変更する方法。

単にBIOS設定を変更しただけだと、起動時にAHCIドライバがアクティブになっていないので、起動ディスクを読めず、自爆します。

MicrosoftのKBより(http://support.microsoft.com/kb/922976/ja)

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci
  Start=0

に設定することで、AHCIドライバがアクティブになるとのこと。事前にこの設定を反映した後、BIOSの設定を変更します。

これで、AHCIでHDDアクセスが行われるようになります。(プラシーボぐらいのパフォーマンスアップしかないそうですが)


古い方のHDDは、空いたマシンに入れてWindows Home Serverを立てる予定。毎週のバックアップ管理をそっちに移すつもりです。

posted by Jiro at 14:24 | Comment(0) | TrackBack(0) | 日記

2009年12月28日

Volume Deskband 0.1.0.0

Windows Vista/Windows 7用の、音量調節ツールバーです。

ダウンロードはこちら


先日、何を血迷ったか、勢いで自宅のメインPCをWindows7にアップグレードしてしまいました。折角4GBメモリが載っているのに、800MB近くが認識されずに無駄になっているのが、前から気になっていたんです。で、64bit OSに変えたくて、Windows7に上げたわけです。

VMWare player 3.0上でWindows7を動かしてる時はもっさりのろのろでしたが、実環境で動かしてみるとRADEON2600のおかげでキビキビ動いてくれます。

タスクバーを細めにすると、XPのタスクバーっぽい見慣れたレイアウトになってくれるのも、いい感じです。

前のXP環境は、VMWare vCenter Converterを使ってそのまま仮想環境に閉じ込めることで、新旧の環境を同時に使って移行作業もスムーズに進みます。というか、無理して移行しなくてもいいものを、そのままにしておけるのが楽ちんです。

アプリは32bit版がたいがいそのまま使えるか、最新版にアップデートするだけで充分でした。GPSレシーバ用のシリアルポートドライバだけ苦労したものの、ドライバ類もほぼ問題ありませんでした。

 で、

困ったのが、Volume Deskbar。ツールバーは、シェルエクステンションなので32bit版は使えません。作者さんの日記を読みに行ったところ、Delphiで書かれてて、Delphiの64bit対応が来年以降とのことで、当分対応できそうにないとのこと。

代わりになるフリーソフトも見つからないので、

「自分で使う物は自分で作る」

の方針を発動させることにして、Volume Deskbarのクローンを作ることにしました。会社も辞めることになったので、12月中頃から有休消化期間に入っていて、時間だけはそれなりにありましたし。

シェルエクステンションも、ツールバーも、COMも、ATL/WTLも、VistaのマルチメディアAPIも初めてでしたが、どうにか形にはなったかな、と思っています。

とりあえず、7/Vista × 32/64bit 環境でテストして問題なさそう、ぐらいまでは確かめましたが、それほど長時間運用はしていないので、まだバグが残ってるかもしれません。


Windows7 x64で悪くなったのは、エクスプローラーの操作性ぐらいかなあ。それ以外は、割と気に入ってます。

posted by Jiro at 20:51 | Comment(0) | TrackBack(0) | 日記