月別アーカイブ: 2008年12月

28年前のモバイル PC-1211 他

片付けものをしていたらいろいろ出てきました。

Pocket Computer

左上から順に

一列目
 ・1980 SHARP PC-1211  元祖 BASIC 搭載ポケコン。RAM 2KByte
 ・1997 SHARP MI-110M  PowerZaurus のモノクロ版、モデム内蔵

二列目
 ・1999 SHARP MI-C1  バックライトもフロントライトも無い反射型カラー液晶
 ・1999 SHARP MI-P2  MI-110 の安くなったもの
 ・2008 HTC TouchDiamond S21HT ( WindowsMobile6.1 )

三列目
 ・2000 CASIO G-FORT ( PocketPC2000 / mips ) 借り物
 ・2001 HP(Compaq) iPAQ h3630 ( PocketPC2002 )
 ・2003 HP iPAQ h2210 ( PocketPC2003 )
 ・2007 SHARP EM・ONE S01SH2 ( WindowsMobile6.0 )

PC-1245/1262/1501/1480U, PI-6000/8000, PA-8500/X1/9550
あたりもきっとどっかに埋まっています。

この PC-1211 は知人から譲り受けたものです。
液晶漏れがあるものの電池を入れ替えたら動きました。
調べたら 1980年の発売らしいので、28年も前になります。

BASIC は非常に低速。メモリはおそらく 2KByte。BASIC 領域として 1424step。
LCD は 5x7dot x 24文字ですが、その後の PC-1251~ と違ってゼロ にスラッシュが
無く オー にダシュ付き。フォントは大文字と記号のみです。

性能が限られているとはいえ、RAM もバッテリーバックアップで
電源を入れるだけですぐ使えるモバイルコンピュータは当時から使われていました。

Pocket Computer PC-1211/1417G

↑上が PC-1417G、下が PC-1211

Pocket Computer PC-1211

↑PC-1211 の電池交換時に撮った写真。バックアップ用電池含めて LR44 ×4

この当時一番使い込んだのは、PC-1211/1251/1501 の後に出た PC-1245 と PC-1262。
PC-1245 は画面が 5×7 ドット × 16桁しかなく RAM も 2KByte (1486step) でした。
カタログには 2.2KByte と書かれていますが、このうち 0.2KByte は VRAM を指しています。
VRAM とはいえ演算時には LCD を Off にして BASIC の演算スタックとして使用。

当時のポケコンは関数電卓の系列にあったので、数値演算は BCD 10進数です。
変数や数値 1つが 8byte 消費していたので、当時としては VRAM の 0.2KByte ですら
貴重だったのでしょう。

画面は 1行だけですが、上下スクロールできるスクリーンエディタと電源を切っても
消えないメモリのおかげで使いやすかったです。

PC-1211 は 4bit CPU で、BASIC しか実行できず動作も低速でした。
PC-1250/51 以降は 8bit CPU で、隠しコマンド (CALL,POKE,PEEK) によりマシン語の
実行が可能となっています。
マシン語自体は非公開でしたが、それを自力で解析した方がいて雑誌で話題となりました。
たしか雑誌は The BASIC。
マシン語が使えるようになったことで低速な BASIC から解放され、LCD のドットを駆使したゲームや
サウンドの演奏、通信などさまざまなプログラムを作れるようになりました。

この CPU は SC61860 と呼ばれて、その後ポケコンや電子手帳 PA-7000 等にも使われています。
BCD 演算命令を持っている代わりに割り込みなどが一切無く、コントローラというよりも
完全に関数電卓向けのようです。

電子手帳用 ICカード

↑SHARP の PA 電子手帳用に発売されていた ICカード (ソフト)
 左右端はサイズ比較用の iPod touch と Touch Diamond。

真ん中の 2枚が SHARP 電子手帳用に発売されていたソフトです。
ファミコンのように ROM カードを入れ替えて任意のソフトを追加できました。
透明なタッチパネルの下に差し込む形で、カードの印刷面をボタンのように操作できます。

ソフトのダウンロード追加ができるようになったのは、PA-9500 の BASIC カードや
ZAURUS PI-5000 のアドオン機能から。

これは昔、家にあったカタログを元に作ったリストです。
シャープ電子手帳の歴史

Zaurus について書くと長くなるので一気に飛んで、
写真では PocketPC ~ WindowsMobile6.1 までそろってます。
WindowsMobile5.0 (PocketPC2005) も写真に含まれてないけど、使ったことがないのは
PocketPC2003SE。

PocketPC (2000) までは ARM 以外の CPU も使われていました。
ARM が主流になったのは(その流れを決定づけたのは)、
圧倒的に速かった iPAQ h3600 StrongARM。

これは今も地道に更新を続けている PocketPC / WindowsMobile 機種一覧。
PocketPC 一覧

PC-1211 は CPU ネイティブアプリが動かないのでその後の PC-1251 で比較すると、
いい加減に無理矢理求めて 2万倍以上、RAM 5万倍くらい、ストレージ 100万倍くらい。
画面解像度は 360倍+カラー。いや速度はもっと差があるはず。
・CPU 8bit 576KHz 4~8cycle → 32bit 528MHz RISC
・RAM 4KB → 192MB / 4KB(RAM兼) → 4GB
・Display 5x7x24 x 1bit → 640×480 x 16bit
これが 26~28年の差というわけです。
バッテリー持続時間だけ減りました。

関連エントリ
20年前のモバイル PC-1417G

テレビと DeepColor

テレビ売り場に足を踏み入れて、いかに自分が取り残されているか実感。
何を今更という感じでしょうが、最近のテレビは進化してるなと。
全然知りませんでした。

・機能

何でもつながる?ありとあらゆるコネクタが付いてる。
豊富な映像入出力だけでなく、
LAN コネクタは当たり前、NAS 専用の LAN 端子とか USB やら iLINK の 1394 やら
電話線とか中には eSATA まで。

インターネットブラウザも入ってて、ダウンロードしたアプリが動いたりもするらしい。
テレビに USB キーボードもつながる。
HDD 内蔵とか SD カードとか、自分で再生したり録画したり。
どうやって作っているんだろうと思ったら、どのメーカーもマニュアルにも
GPL と使用した Linux kernel の記載があった。

携帯電話のように、今できる機能は何でも入ってるといった感じです。

・画像補整競争

解像度もフルHDで、技術革新によりパネルの性能も向上しています。
でも入力データはフォーマットが決まっており、モニタが対応したからといって急に
変えるわけにもいかず。

そんな中差別化を図る手段が、限られた入力リソースをいかにきれいに見せるか。
デジカメの現像のようにさまざまな画像処理を経て、それぞれメーカー毎の絵作りが行われています。

色の補正、解像度変換、残像を減らすため工夫。中間フレームを生成してフレーム
レートを数倍にして、フィルタで映像内のモーションブラーを除去したり。
それだけハードウエアの処理性能が向上しているということです。

業務用の高度なモニタだと、キャリブレーション調整後のガンマ補正や色域を
一定にするために演算精度を上げています。パネルの多階調化も正確さのため。

一方家庭用テレビの場合は、同様の演算能力をきれいに見せるために使います。
カタログによると内部演算は 10~18 ビットで行われているそうです。

DeepColor というのはこのように従来より多階調の色情報を扱うこと。
入力信号は HDMI v1.3 以降で対応しているので、DeepColor 対応はモニタ側が直接
多階調の情報を受け取れるかどうかを意味しているようです。
実際に使われている液晶パネルも 10bit のものが増えています。

従来フルカラーは 1pixel あたり 24bit (24bpp) で、1ch あたり 8bit = 256階調でした。
10bit の場合は 1024 階調。1pixel あたり 30bit (30bpp) となります。

同じようにカタログに出てくる xv.Color は、色の段階の細かさを表す DeepColor
と違って、色の広さ方向の拡張を表しているようです。

入力情報が最初から多階調に対応しているならともかく、現状ほとんど無いため
その差を埋める技術が画質の差につながるわけです。

昔 Xbox1 の時代でも、ビュアでテレビに出した絵の色がシーンによって違うと
デザイナーに呼び出されることがありました。
まだ CRT だったけど、入力の情報にあわせて動的にトーンコントロールが行われていたためです。
あらかじめテレビ側の設定を変えておかないと、明るいシーンと暗いシーンでトーンが
変わってしまいます。
今だとそれ以上に、テレビで絵が変わってしまう可能性がありそうです。

HDMI 1.3a や DisplayPort では、信号自体 DeepColor に対応しています。

Wikipedia High-Definition Multimedia Interface
Wikipedia DisplayPort

 ・24 bpp ( 8 bit x 3)
 ・30 bpp ( 10 bit x 3)
 ・26 bpp ( 12 bit x 3)
 ・48 bpp ( 16 bit x 3)

GPU の PixelShader も今では当たり前のように内部演算は 32bit 浮動小数で行われています。
1pixel あたり 3ch で数えると 96bit です。

フレームバッファもより深い深度を持つことが可能です。
HDR で 16fp (64bpp) も使われているし、同じ 10bit 階調なら 32bpp の
R10G10B10A2 もあります。

今更ながら、Direct3D 10.1 で 16bit (64bit) 整数バッファへのブレンディングが
サポートされたのはこのためだったのかと気がつきました。

今後 DisplayPort が普及したら、PC もフルカラー = 24bit ではなく
より色数が増えて 30bit 以上になりそうです。
例えば下記スライド。

WinHEC 2008
  ・Display Technologies – pptx

PSP/PS3/Wii と EMOBILE Touch Diamond S21HT をつなぐ その2 (WMWifiRouter + WHR3-AG54)

前回 はポータブルの無線ルータ LAN-PWG/APR を使いましたが、試しに据え置きの
WHR3-AG54 を使ってみました。
PSP ブラウザも結構快適に使えるようになりました。

TouchDiamond PS3 Wii PSP

機材リスト

・PSP-2000 (5.02)
・BUFFALO WHR3-AG54
・HTC Touch Diamond (S21HT) + WMWifiRouter 1.25

接続方法や設定は 前回 とほぼ同じです。
ブラウザで読み出しの反応が速くなり、待たされる感じが減っています。
回線速度や設定は同じはずなので、単にルータの処理能力の差なのか、最適化など
機能の差なのか、何らかの違いがあるのでしょう。

でもこれを持ち歩くわけにはいかないので、移動を考えたら結局
ノートPC + AP機能付き USB無線LANアダプタ の方が実用的だという結果になりそうです。

せっかくなので他のゲーム機も EMOBILE 経由で接続してみました。

PS3/Wii ともに 11g なので回線自体 PSP より速いはずですが、もともと EMOBILE で
500Kbps しか出てない場所なのでそんなに変わらないかも。
ちなみに E-MOBILE 開始直後、サービス対象圏外だった頃からずっと 500Kbps。

PS3 では一応ブラウザ、YouTube、PlaystationStore、Home など。
Home はアップデートやゾーン移動時のダウンロードはかなり遅い。でも一応入れる。
LittleBigPlanet のオンラインステージは、読み込みに少々時間がかかる。
不安定になったのでオンラインは断念。

S21HT のバッテリーが持たないので Wii の USB ポートからの給電に切り替え。
Wii はまず本体の更新から。でも時間がかかりすぎて断念。その他チャンネルなど
使えるけどやっぱり遅いかも。

関連エントリ
PSP / Eye-Fi と EMOBILE Touch Diamond S21HT をつなぐ (WMWifiRouter + LAN-PWG/APR)
EMOBILE 経由で PSP ブラウザ

HTC Touch Diamond + PS3ワイヤレスキーパッド

キーボードがない Touch Diamond に Wireless Keypad つないで QWERTY キーボード化

ps3keypadwm

ps3keyapdwm は WindowsMobile の携帯電話や PDA で ワイヤレスキーパッド を
使うためのソフトです。v1.30 では各端末のキー配列の違いを吸収できるように
なりました。

ps3keypadwm v1.30 ダウンロードはこちら

対応しているキーレイアウトは 3種類

 ・日本語配列と認識するタイプ
 ・英語配列と認識するタイプ
 ・Touch Diamond 系独自の配列

それぞれキーボードの刻印通りに記号入力できて、日本語入力モード (IME) の切り替え
もできて、さらにキーボードだけで操作できるよういくつかの機能を割り振っています。

ps3keypadwm
↑これは WindowMobile 版 ps3keypadwm 専用の配列です

  ・キーレイアウト認識の違いを吸収 (3タイプ)
  ・WindowsMobile ではほぼ使わない ESC キーを Ctrl キーに変更
     → Ctrl+X/C/V の Copy & Paste などに使える
  ・[/] キーを日本語入力で多用する ハイフンキー [-] に入れ替え
  ・ワイヤレスキーパッドの [あ/A] ボタンで日本語モード切替
  ・Ctrl +数字キー等で WindowsMobile の操作

Ctrl キーとの組み合わせで下記の操作ができます。
ワイヤレスキーパッドでは ESC ボタンが Ctrl なので、ESC を押しながらの操作になります。

Ctrl + [0] = 起動しているアプリ(タスク) を順次切り替える
Ctrl + [6] = Win ボタン (スタートメニューを呼び出す)
Ctrl + [7] = 左ソフトキー
Ctrl + [8] = 右ソフトキー
Ctrl + [9] = OK ボタン相当

Ctrl + [1] = 画面回転 縦 (Touch Diamond だと本来の位置)
Ctrl + [2] = 画面回転 横
Ctrl + [3] = 画面回転 縦 (上下逆)
Ctrl + [4] = 画面回転 横

Ctrl + [あ/A] = ↑ カーソルキー
Ctrl + [/]    = ↓ カーソルキー
Ctrl + [,]    = ← カーソルキー
Ctrl + [.]    = → カーソルキー

ps3keypadwm は RBK-2100BTJ など他の日本語キーボードの配列補正にも使えます。

文字入力しやすくなりました。
Advanced Wnn だと問題が多いので、 MS-IME に切り替えて imekeyset5 で
Phone Style も追加して使っています。

ただ一般的な 5方向カーソルがないので、片手だけで手探りで操作できない点は
少々マイナス。

画面が離れていても操作可能ですが、結局キーを見ないと打てないので QWERTY キー
内蔵端末のようにすぐ近くに持ちながら打つことになります。

Bluetooth の認識は便利で、自動で電源が切れても何らかのキー操作するだけで
すぐに接続が復活します。常に文字入力しているわけではないので、必要なときだけ
キーボードを出して使えます。

しばらく使っていて、片手だけで見ないで操作できるカーソルキーやテンキーだけの
Bluetooth Keyboard があっても良いんじゃないか、と思いました。
用途に合わせて QWERTY キーと組み合わせたり好みで使い分けたり。

それにしても WindowsMobile の日本語 IME 周りや文字入力の互換性の無さは
何とかして欲しいです。キーボード付きの WindowsMobile 端末が出るようになって
から、ずっと同じことばかりしてた気がします。

標準化されてるわけでなく各端末が独自に実装してたりするので、新商品が出るたびに
その場限りの対応になってしまうことが問題です。

関連エントリ
HTC Touch Diamond とキー入力、MS-IME への切り替え
WindowsMobile6 で imekeyset5 を使う
WindowsMobile IME FSKAREN / ATOK
EMONSTER lite S12HT IME FSKAREN
EMONSTER lite S12HT の文字入力を MS-IME に切り替える

HTC Touch Diamond とキー入力、MS-IME への切り替え

●日本語入力の切り替え

Touch Diamond (S21HT) の日本語変換は Advanced Wnn です。
外部キーボードを接続した場合に一部の記号入力ができなかったり、文字を取りこぼし
たりと互換性の面で問題があるようです。

WindowsMobile6.1 には MS-IME も入っているので、EMONSTER lite S12HT と同じ方法で
MS-IME に切り替えることができます。下記エントリで解説しています。
 ・EMONSTER lite S12HT の文字入力を MS-IME に切り替える
 ・EMONSTER lite (S12HT) 対応 ctrlswapmini lite v1.00

直接ダウンロードできるファイルも置きました。
 ・s12ht_msime.txt(reg)
 ・s12ht_msime.txt(reg)
s12ht_msime.txt をレジストリに登録して再起動(長押しで電源入れ直し)すると
MS-IME になります。s12ht_wnn.txt で元に戻ります。

MS-IME のキーマップ切り替えやカスタマイズは、WindowsMobile5.0/6.0 と同じように
imekeyset5 を使うことができます。
imekeyset5

●その他の IME

パネルやキーボードなどの入力方法を自前で何とかするという前提で ATOK が
使えるようです。gesture10key など。

FSKAREN は正式に対応したバージョンが販売されているとのことです。
残念なのは、ほんの数ヶ月前に発売された FSKAREN と別バージョン扱いで、新たに買い直さなければならないということ。発売後わずか 3ヶ月。機種乗り換えで使えなくなりました。
アップグレードなどで既存ユーザーにもきちんとサポートして欲しいところです。

●外付けキーボードのキー配列

↓ Bluetooth Keyboard x4 + Touch Diamond S21HT
BluetoothKeyboard
 左上ワイヤレスキーパッド、右上 RBK-2000BT2
 左下ワイヤレスキーパッド改、右下 RBK-2100BTJ

Touch Diamond S21HT の外部キーボード認識は独自の配列となるようです。
基本的には日本語キー配列ですが、一部キーの認識が異なっています。

キー配列の認識については Bluetooth Keyboard
Reudo RBK-2100BTJ/RBK-2000BTII のページがたいへん参考になります。
携帯電話キーボード Rboard for Keitai RBK-2000シリーズ

対応機種一覧で日本語配列/英語配列/独自配列 の違いがわかります。
Touch Diamond / Touch Pro はどれも独自配列です。

調べてみました

TouchDiamond のキーコード (相違点のみ)
[\|]        → Code  0 / 106 (0x6A)
[@`]        → [[{]
[[{]        → []}]
[]}]        → [\|]
[半/全漢字] → [@`]
[カナ/かな] → Code  0 /  19 (0x13)
[Pause]     → Code  0 / 119 (0x77)
[無変換]    → Code  0 / 103 (0x67)
[変換]      → Code  0 / 100 (0x64)
[ _]        → Code  1 /  51 (0x33)
[ _]        → Code  1 /  81 (0x51)

関連エントリ
WindowsMobile6 で imekeyset5 を使う
WindowsMobile IME FSKAREN / ATOK
EMONSTER lite S12HT IME FSKAREN
EMONSTER lite S12HT の文字入力を MS-IME に切り替える