TOPページへ

日記帳(2005.02)

日記Indexへ


2005/2/28(月)

実はiPodシャッフルを購入したのです。
購入というか、遅めの誕生日プレゼントとして嫁さんが買ってくれたの。
こんな高いの、いいのかなぁ(ノ∀`)

しかし、もらいものでもクワッ(゚Д゚)と言うところは言いますぜ。

ハード的には超グッド(=゚ω゚)b
ちょっとUSB端子のコンタクトが頼りない気がする(勝手に抜けてOSに怒られる)けどキャップにボール式のロックがついていてちょっとやそっとじゃ抜けないのは良し。
そりゃま引っ張りゃ簡単に抜けますんで、満員電車でネックストラップはやめておいた方が身のためだと思います。

しかしソフト面がかなりお察し下さいな感じ(=д=

iTunes入れないと何も出来ないとは聞いてましたが、勝手にQuickTime入れるわタスクランチャーに入れるわやりたい放題。
っつかクイックタイムって会社では禁止されてるんですけど。。。。
しかも、あっ!勝手に起動した!スタートアップに登録しやがったな。
と思ったらディレクトリに無いし、レジストリのRunに直接書きやがったな毛唐が!!

iTunesも日本じゃオンラインストアやってない(※)くせに起動するとオンラインストア画面。
日本法人は翻訳機にかけただけですか?

※・・・米国の住所のクレジットカードがあれば買えるらしいです。

マニュアルも延々同じ事しか書いてないってか、MSもネスケもアポーもメリケン人の営業ってのはみんなこうなのか?
・こんな素晴らしいことができます!(←でもやり方はいまいち読み取れない)
・それだけではありません。
・さらにこんなこともできます!(←でもやっぱりやり方は書いてない)
の三段コンボが多すぎる。
まぁ読む気がさらさら無い俺が言うのもなんですが。
最近のプレイヤーはどいつもこいつも統合ソフトを標榜して何もかもライブラリ化して俺が俺がと抱え込もうとしやがって厄介です。
愚かでも実直なツールが欲しい。

あとマニュアルにはUSBメモリとして使うことがほっとんど書いてないんですが、これでハマるケースがあります。
PCに挿した時、本体のLEDが「橙点灯」であれば充電中、これが「緑点灯」になったら充電完了と書いてあります。
「橙点滅」の場合は転送中など、アクセスしているので抜いてはいけません、とも書いてあります。
が、USBメモリとしての領域を確保するとリムーバブルディスクとしてマウントされるわけですが、その状態では常時「橙点滅」なんです。
充電の状態はわかりません。というか充電されてるのかわかりません。
充電されてるんでしょうか。これは状態表示の仕様にものすごく問題アリだと思います。
(一応、シェルで「取り出し」を指定してアンマウントすれば充電表示に遷移しますが当然ドライブとしてアクセスは不可能になります)

ま、ソフトというか使い方というべきでしょうかね。
PCと連携する上でいまいちよくわからないなぁというのが正直なところ。

そんかし最初に言いましたが端末としてはイイ(・∀・)!!ですよ。
多分に主観ですが、液晶なんぞあっても見ない、FM受信?録音?使わんですよ
物欲指数の高いシロモノです。


2005/2/25(金)

例のゼロテックUSB化について。
そろそろEZ-USBの限界を感じます。USB側は問題無いんですが、CPUコアの部分が力不足というか、なぜかI/OポートがXdata領域にあるため、ポインタ経由でしかアクセスできなくて結果すっトロいんですね。
データポインタが2つあるので入力先と出力先のポインタを持ったままトグルすることでやっと1サイクル(4クロック)分縮めました。

正直、250kHzのクロックを作るのが精一杯です。
結局アセンブラでゴリゴリゴリゴリ、汎用レジスタのバンク指定どころかR0〜R7全てを手動で割り当て、しかも順次使いまわして高速化。
forループなど判断のところで遅くなる(ジャンプ命令は大概4サイクル程度食います)ので、10周程度ならベタで書いてしまった方が速い。
くそーこんな3線式の同期シリアルなんてチップに機能あるだろ普通!それさえありゃ超簡単なんじゃ!なんでポート直接叩かなならんねや!
とかつぶやきつつ、でもまぁほら、勉強の一環ですから。

シリアルで1バイト送受信する部分の関数はまんまアセンブリコードとなってしまいました。
うーん、330kHzくらいが限界かな?DS2ネイティブの500kHzはEZ-USBでは無理な希ガス。

この点、後継機となるEZ-USB FXでは動作クロックが倍の48MHz、しかもXdata領域だったI/OポートがSFRと同じ範囲でダイレクトアクセスできるようになってるらしいですよ。
いいなぁ。

あと気になっているのが軸の中心の定義なんすよ。
どこ見ても当たり前のように
 「左端00h、中央80h、右端FFh」
って書いてるからまぁ何かお約束があるのかもしれんけど、10進で書けば左0、右端255なのに中心が128つってるんですよ?
中心は127.5じゃないか何を言ってるんだ。
これじゃぁ左側の感度がごくわずかに上がってしまうか、右側が最後まで切れないかどっちかじゃないか。
てか、バイナリで値を扱う時、どうしても範囲が2の倍数になるわけですよ。
つまり中央値なんて無い、もしくは二つあるんです。

前述の8bitのアナログ値を符号付きで扱う場合、-128〜127ですよね。2の補数だとそうなります。
よく見てくださいよ?ここで0を中央値とするなら、左側に1多く切れますよね?あるいは左側は右側より0.8%程度目盛りが細かくなりますよね?(このどちらになるかは受け取るソフトによる)
あるいは1の補数だとすると、ゼロとマイナスゼロがありますんで、中央値が2つになっちゃいます。

どうしてるんでしょうね・・・


2005/2/22(火)

帰ったら娘が起きていた。
なんと今日は二回も吐いたという。嫁さんも慌てていて俺に電話することも思いつかなかったらしい。

嘔吐というのは、それ自体は単なる異物排斥の為の反射なので、嘔吐自体を心配することはない。
が、その前後は考えなくてはならぬ。
後というのは吐瀉物による窒息、前というのは何か他の原因があって、その結果として嘔吐した場合である。
今回の場合は特に熱もなく、本人も元気なのでたぶん大丈夫だろう。
食べ過ぎか、何かママの目を盗んで変なものを舐めて反射でリジェクトされたものと考える。

一応大事を取って翌日半休として観察し、朝の離乳食は止め、夕の食事は半食とする。


2005/2/20()

すっごい久しぶりに嫁さんが外出するので娘とお留守番。
超疲れた・・・。
まぁママいないといって泣くのを恐れていたわけですが、それはなくてとりあえず無事終了。
しかし間際になってママを駅まで迎えに行こうとしたところで、うんち。BURIBURI。

ここのところ便秘気味みたいだったので喜んだんですがいざオムツを替えようと仰向けにするとものすごい勢いで寝返りを打って逃げる。これがまたなかなかすごい力で。
こっちが力で対抗するとなんかいじめてるみたいやし、ぎゃーすか泣くし、もう!
お前のためにしてんねんぞ!、とか言ってもしょうがないか(´・ω・`)
そんなことしてる間に嫁さんは帰ってきてしまいました。

しょんぼり夕飯を食っていると、椅子に座っていた娘が 「プー」 
おばあちゃんに買ってもらって、でも吹けなかったおもちゃのラッパをついに吹きました。
プー。


2005/2/17(木)

娘が手を叩いた。


2005/2/15(火)

時間って無いもんですねぇ。
件のUSB、休み時間と通勤時間を利用して勉強と試行錯誤を繰り返しております。
ほとんどが英語のドキュメントなんで遅い遅い。けど一度読んで意味わからなくて捨てたドキュメントが、一周してちょっと理解が進んでからもう一度読むと超重要なことが書いてあったりしてびっくり。
自分の中に何かが蓄積されていくのを感じる時って楽しいですね。
おかげで休み時間がすっごく短く感じられます。

しかしHIDってなんでもできすぎ。

とりあえずHIDディスクリプタは標準ディスクリプタじゃないので機械任せに転送できないという事実に気付くまでが一つの山。
これを超えればディスクリプタはアセンブリコードで直接バイト列に落として難なく解決。
まずはPCにつないで標準ゲームコントローラとして認識できました。

後はレポートのどこにいつどんな値を入れるかですねー。
仮想PS2側は全くの手付かず。


2005/2/14(月)

そういやなんか、DDIポケットがウィルコムとかに変わってるらしいですね。
知ってたけど忘れてた、というかけっこうなポケットサポーターだと思ってるんですけど自分、それでもスルーしてしまう忘れ去られぶりがいかにもって感じでステキです。

まあ、ねぇ、ずっと前から判ってることなんだから、タイミング合わせて新端末くらい発表してください。
音声のな。
相変わらず氷河期です。まぁボダフォンより下降してるイメージはないからいいけど。

ところでケータイのアプリでFF2が移植されてるみたいですね。
この記事書いた記者、同世代だな(笑)
俺も好きですよー。FF2。
いろいろ検証したい点はありますがー、ゲームバランスが悪いと書かれてる点はどうだろうか。
最近のヌルいRPGに感化されてレベル上げという概念を忘れているようだが、当時のゲームとしては新しいフィールドに行ったらまずそこに長時間滞在できるだけの強さまでトレーニングするのが基本、これでプレイ時間を稼いでいたはず。
DQ2なんて次の町へ辿り着くと大概画面真っ赤(だれか死んでる)だったじゃないですか。
でもって復活の呪文を書き間違えてさようなら。
RPGの本質として単純作業であるレベル上げが必須かと言われればむしろ逆だと答えますが、少なくとも当時の一人用RPG市場ではレベル上げは常識でした。

今のオンラインゲームだって大半のプレイヤーにとっては同じようなもんだと思いますがね。


2005/2/7(月)

ゼロテックUSB化の続き。

HID仕様書を片手に勉強を始めました。
しかし如何せん仕事も忙しいし、休み時間は照明消しやがるし、時間がねっす。
仕様書は英語だし。

こういう時、日本が世界に誇る偉大なハイテクオタクの皆さんのドキュメントが頼りになります。
もろぼし☆らむ氏のUSBホスト作成記事などはHIDのレポートディスクリプタについて言及した数少ないドキュメントなんですが、同人誌という形態をとっており、表紙は萌え系の女の子イラスト。
会社の非力な事務用PCでカリカリカリカリやっと開いたらこれかい!煤i゜□゜;
会社で見るのは無理だだだ。


2005/2/6()

来週の連休を利用して俺の実家に遊びに行くための用意をば。
府中のべびーざらす(このネーミングもちょっとどうかと思うけど)へ行って物色。

目的は雑多な衣食関係に加えて、椅子。椅子です。
娘はもう、おとなしくしているなど期待できる状態ではありません。手に届くものがあればとにかく掴んでひきずりまわし、舐めて噛んで引っかく、千切る。
手に届くところに物が無ければ何かにつかまって立ち上がって後ろ向きに倒れて泣きます。
この頼もしいエネルギーの塊を一時的にせよ安全につなぎとめておくためにはホールド可能な椅子が必要なんですな。

自宅にいればスイング機能付きのベビーチェアがありますが、これは持って出かけるには少々でかすぎる。
ので、いい感じの小さい椅子が欲しいんですね。
で、いちおういいの見つけてはいたんですが。。。
テーブル部分が可動式で、それは折りたためるからしょうがないんですけどテーブルを持ち上げるとアームとアーム受けの間に隙間ができ、指を挟む危険が極めて大。
ここは何か改造しなくてはなるまいと、ま、結局他の製品で良いのがなくてこれにしたんですね。

しかしこの点は問題にならんのかね、メーカーなんとかせんのかねと思ってたら実物にはそこにシールが。

「指を挟む危険がありますので注意!」

おい!
PL法対応ってこれだけかよ!
こうやってユーザに責任転嫁していつまでもやっていけると思うなよ!
しょうがないからやっぱり目隠しを追加しようかと思います。
ウィークデーで対応間に合うか!>俺

てかね、このシールがあるせいで余計に娘の注意を引いてしまい、危険箇所に手を伸ばす本末転倒な結果となっております。
やっぱり板を貼ってマスクするしか。


2005/2/1(火)

ゼロテック2の続き。
とりあえずアクセルの感動領域を自由に設定できるようになったので次はステアリングをなんとかしたいと思います。
しかしこれは多分、茨の道というか・・・ソフト補正ですよねこれ。
クイックに切った時はスパッとタイヤも向きを変えるようなんですが、ニュートラル付近でじわっと切った時の応答が遅い気がするんです。
これはおそらくデュアルショック2完全互換の一番の負の側面、デュアルショックのアナログスティックで挙動が乱れない為にニュートラル近辺の変化は時間方向にかなり鈍らせてあると思われます。
(´Д⊂

可能性は一つあります。
PS2にはUSBポートがあるんですね。そしてそこにはかのGT Force(以降GTF)シリーズがつながります。
あれだけリアルドライブを標榜するコントローラですから、そこはリニアな操作が可能なはず。補正が少ない、あわよくば入っていない入力・・・・だといいな。
でも2chではGTF Proの200°モードでもGTFと違うぞゴルァとか仰ってる方々がおりますのでそれなりの補正はあるんでしょうな。。。
そこは目をつぶってしまいましょう。
やってみなけりゃわからない。

つまり何がしたいかというと、ゼロテック2をUSBポートにつなぐ。
あれ・・・PS2ってドライバはどうすんだろ。HIDの標準ゲームコントローラでレポートが合ってればいいのかな?
まぁそこはそれ、世の中にはGTFが存在するわけですから、この際それをエミュってしまえばよいのです(゚Д゚;)クワッ

個人でのUSB機器の開発なんて虚しい商売です。
というか商売にならない。だって個人じゃベンダID取得できませんから!
ならば市場商品のIDをパチって個人で使うくらい何が悪いんじゃ!・・・って違うか (;’ω’)ン

どうやらGTFがHIDデバイスとしてPCで認識されるみたいなんで、これでいきましょ。
2年前くらいに買って遊んで放置していた EZ-USB(※) を発掘、これと適当なマイコンを・・・ん?
とりあえず EZ-USB だけでどこまで行けるかやってみますか。
つうか正直、EZ-USBに3チャネル程度のADコンバータ内蔵タイプがあれば、そっくりそのままUSB化してしまえるんですが。
ゼロテックって中身結構スカスカなので改造もラクチン。
夢は広がるんだけどなぁ。。。

※・・・Cypress社のAN21xxシリーズの石。

PAD側の資料は当然大本営発表などあるわけないのでネット上で、超有名な藤田資料、寺川氏によるのDS解析資料、及び永田氏によるDS2の解析を参考にします。
未だ不明なコマンド群はあるにせよ、仮想PS2としてPADから欲しいデータを吸い上げるには充分なデータが揃っています。
偉大な先人達に敬礼。('◇')ゞ

ざっと見て気になるのはDS2ネイティブのアナログモード時の500kHzというクロックが操れるかどうかですね。
まぁこれはPAD側の作りは結構余裕を持ってくれてると信じて前向きに。
後は開発環境が試用版なのでファームのサイズが4kに制限されることです。これは結構きついかも。
以前データ吸い上げマシンを作ろうとした時にわずかにサイズ超過して断念したことがあります。
これを超えるようだと (物理的には8kあります) フリーのCコンパイラを探さなくちゃいけない。あることはあるんですがCygwin入れないといけないんですよね。。
ハードル高いすね。

あと疑問なのがPS2側は何を以ってこれをGTFと認識しているか、なんですね。
というのは本来のUSBであればデバイスディスクリプタを読み出してベンダID(以降VID)とプロダクトID(以降PID)で接続されたデバイスが判ります。今回のはHIDなんで固有のドライバとかが必要なわけじゃないから特定する必要が無いのかなというのが一点。
けどゲームとしては変な入力が来ても困るんでロジテックのVIDとGTFのPIDの組み合わせが読み出せて初めてゲームで認識する、というのなら解らなくはないですよ。
けど組み込みでそれやっちゃっていいのかな。例えばゲームポートの方だと応答IDでデバイスを識別するわけですけど、ゼロテック2は「俺デュアルショック2ですよー」という応答をするわけですね。
完全互換ってのはそういう意味で、PS2がゼロテック2を知ってるわけじゃない。
ゼロテック2側がDS2エミュなんです。
ではUSBの方だって後から互換品を出したければ「GTFでーす」とVID/PIDを吐けばいいじゃない、と、そうはいかないんです。
VID詐称になっちゃいますから。
USBでしかもHIDである以上、Windowsにつないだって標準ジョイパッドとして認識しちゃいますから、どこぞのメーカーが作ったのにロジテックのVID吐いちゃまずいでしょ。

というわけで、VID/PIDは見ていないんじゃないか・・・・・いや見てるなきっと。
後発のゼロテック2があれだけ期待されながらGTFじゃなくDS2互換で出てきたのは、汎用性が理由だとすれば吉、VIDの縛りだとすれば凶。

そういやPS2のUSBポートに関する情報って知らないですね。
家でPC自由になる時間ってあんまりないし、かといって会社だと2chはブロックされるし、orz
人柱あるのみか。

認識したコントローラの一覧と、それぞれ押下したボタンというか入力の状態がリアルタイムで見れるようなソフトがありゃいいんですが。。。