BubbleUPnP - Android用DLNAクライアントをZiiOで試す

以前からZiiOをネットワークメディアプレーヤとして使用できたらいいなと思っていましたが、今日はそのためにDLNAクライアントアプリ、BubbleUPnPをインストールしてみたので紹介します。いつものようにSH-03Cでダウンロードし、ASTROでapkをバックアップしてZiiOに転送する方法をとりました。ちなみにSH-03Cは動画再生能力が低いため、今回は試していません…(汗)
Androidのメディアプレーヤアプリの多くは、動画の再生を外部ソフト(多くは、そのデバイスの標準プレーヤ)に頼るものが多く、このBubbleUPnPも例外ではありません。このため、再生できる動画の形式は外部のプレーヤソフトに依存します。ZiiOの場合、標準プレーヤであるZiiVideoではH.264コーデックのMP4ファイルは問題なく再生できますが、MPEG-2の再生はできません。そこで、MPEG-2の動画を再生可能なMX Video Playerを併用することにしました。

DLNAサーバーコーデックTCPL結果
TVersity Media ServerMP4(720x480p H.264 + AAC)OFFZV再生可
TVersity Media ServerMP4(1280x720p H.264 + AAC)OFFZV再生可
TVersity Media ServerWMAOFF内蔵再生可
TVersity Media ServerMPEG-2 PS(720x480i + AC3)OFFMXコマ落ち
iVIS HF M52AVCHDOFFMX/ZV再生不可
iVIS HF M52AVCHDONMX/ZV再生不可
※TC : トランスコード、PL : プレーヤ(ZV : ZiiVideo、MX : MX Video Player)

以上のような結果でした。やはりMP4形式の動画はもっともスムーズに再生できました。MPEG-2はMX Video Playerを使用するしかなかったのですが、BubbleUPnPとの組み合わせではオーバーヘッドが大きいのか、時々コマ落ちが発生しました。MX Video PlayerではMP4でもコマ落ちが発生するため、MP4形式の動画再生にはZiiVideoを利用するのがよいようです。iVIS HF M52ではMPEG-2へのトランスコードを利用しても再生可能なデータとして認識されませんでした。M52は他のプレーヤでも認識されない場合があるので、ちょっとクセがあるのかもしれません。

自宅のメディアファイルがほとんどMP4の動画ととWMAの音楽のため今回はこの程度しか試せませんでしたが、MP4の動画については720pでもスムーズに再生できるため、我が家ではZiiOで十分役に立ちそうです。やはりどこででも、寝ころびながらでも、動画や音楽を楽しめるのはいいですね。もちろんもっと高価なタブレットを使用すればもっと自由自在に再生が楽しめるのでしょうけど、12,800円で買ったと思えば当面はこれでいいかなと思いました。

スポンサーサイト



テーマ : Androidタブレット
ジャンル : コンピュータ

tag : Android Creative ZiiO タブレット DLNA BubbleUPnP

Canon iVIS HF M52 のWi-Fi機能を試す

Canonのビデオカメラ、iVIS HF M52は、無線LAN(802.11b/g/n)に対応しています。今日はこの無線LAN機能のうち、DLNAサーバー機能を試してみました。

再生モードに切り替え、"HOME"ボタンを押します。"Wi-Fi"を選べばネットワークの設定が可能となります。
Wi-Fi設定画面

次に、各種のDLNAクライアントを試して再生を試してみました。ソースはすべてMXPモードで撮影したAVCHD動画です。
DLNAサーバー

トランスコード(SDのMPEG2への変換)のON/OFFも試してみました。 結果は以下の記号の通りですが、ネットワークの状態や動画の内容(ビットレートの変動など)によっては○印でも時にコマ落ちがみられることがありました。
 ×:再生可能なファイルとして認識されない
 △:認識されるがコマ落ちがひどい
 ○:問題なく再生できる
ちなみに、無線ルーターはNECのAterm WR8700Nを使用しており、※1~※3までの各機器の接続を下に示します。
 ※1:Planex GW-EC300NAG5P (5GHz帯使用) 経由で接続
 ※2:NEC WL300NE-AG (5GHz帯使用、TVモード) 経由で接続 
 ※3:ルーターに有線で直結
クライアントの機種/ソフトウェアトランスコード結果接続
DiXiM Digital TV plus (PC, DigiOnクライアントソフト)ON※1
DiXiM Digital TV plus (PC, DigiOnクライアントソフト)OFF※1
Windows Media Player 12 (PC)ON※1
Windows Media Player 12 (PC)OFF※1
SP-HR200H (HUMAX スカパーHDチューナー)ON×※2
SP-HR200H (HUMAX スカパーHDチューナー)OFF×※2
KDL-20J3000 (SONY TV)ON※2
KDL-20J3000 (SONY TV)OFF×※2
AV-LS700 (IO DATA ネットワークプレーヤ)ON※3
AV-LS700 (IO DATA ネットワークプレーヤ)OFF※3


このように、ネットワーク接続の仕方や機器の種類によってはHD画質のまま再生することもできましたが、それを可能にするにはかなり環境を選びそうです。また、トランスコードを使用することで、MPEG-2にしか対応していない機器(KDL-20J3000)でも再生可能となりました。ただし、いずれの場合でも再生開始操作をしてからバッファリングでしばらく待たされるため、快適さでという点ではTVに直結した場合に比べると勝負にならない印象です。

あとひとつ気になった点として、この実験中に、M52のDLNAサーバーを終了させようとしたときに一度M52がフリーズしてしまい、バッテリを外さなければならなくなったことがありました。こういうこともあるので、Wi-Fiを使用する際にはこまめにデータのバックアップをしておいたほうがよいと思いました。

※本サイトで紹介する内容は、すべて個人的研究の範囲内で行っていることです。ここに書かれた内容を実行したことによる、データ(クラウド上を含む)・ソフトウェア・ハードウェアの障害および金銭的損害について、私が責任を負うことはできません。重要なデータはあらかじめバックアップを行い、内容を十分に理解したうえで、ご自身の責任の下で行ってください。


使用した機材です。

テーマ : AV機器・家電製品
ジャンル : ライフ

tag : Canon iVIS HF M52 Wi-Fi DLNA

液漏れしたPC-1500を分解清掃する

一昨日紹介したSHARPのポケコン、PC-1500ですが、かなり前にアルカリ乾電池を入れたっきり放置していたので、ひどく液漏れした跡がありました。内部にどれだけ影響しているか心配になったので、分解してみることにしました。
電池ボックス

フラットパッケージのLSIもありますが、DIPのICが使われていたりジャンパが多かったりと、時代を感じます。
内部

基盤を外してキーボードの裏を見てみると、思ったより内部の状態はひどく、乾燥した電解液の粉があちこちに付着していました。
キーボード裏

上方に移っている金属のプレートも外してみましたが腐食がひどい状態でした。
金属プレート
キーボード裏

洗えそうな部品は水洗いし、あとはOA用のウェットテッィシュで丁寧に電解液の粉末を拭い取りました。無事に清掃が終わり、水洗いした部品も乾燥した後に再度組み立てました。電池を入れてONすると…ちゃんと初期状態の表示が出ました。ほっと一安心…。
NEW0画面

今回は基盤など重要な部分はやられていなかったようですが、やはりアルカリ電池やニッカド電池などは液漏れに注意する必要がありそうです。長期間使用しないときは電池を抜いておきましょう。

テーマ : パソコン修理・サポート
ジャンル : コンピュータ

tag : SHARP PC-1500 液漏れ 修理

VX-3/VX-4をPCと接続する

CASIOのポケコン、VX-3/VX-4は、2.5mmミニジャック型のシリアルポートを備えており、これを利用してポケコン同士やパソコンとデータのやり取りをすることができます。ただし、このポートはRS-232C互換(端子としてはTxD, RxD, GNDの3ピン)ですが電圧はTTLレベルのため、そのままPCに接続することはできません。CASIO PB-1000 FOREVER!にこのポートをRS-232CやUSBに変換してパソコンに接続する記事が掲載されていますので、USB接続のほうを試してみることにしました。

メインのパーツはこれ、FT-232RLを用いたシリアル・USB変換モジュールです。秋月電子で購入できます。
FT232RLモジュール

その他のパーツたちです。ケース、ゴムブッシュ、ミニプラグ付きケーブルを用意しました。
その他のパーツ

FT-232RLモジュールは小さな箱に納めるため、裏側のピンをすべてカットしました。
ピンを切断

モジュールをケースの蓋にホットボンドで固定します。
モジュールを固定

ケースに穴を開けます。ケースを開けるときに引っかけるくぼみの位置を考えると、穴は反対にしたほうがよかったようです。
穴あけ

ケースにゴムブッシュをはめてケーブルを通します。
ケーブルを通す

モジュールのTxDにケーブルのR(プラグの中間), RxDにL(プラグの中央), GNDにGND(プラグの外側)を接続します。絶縁のためはんだ付けの後でホットボンドを盛っておきました。
はんだ付け

フタを閉じると完成です。
完成

PCに接続すると、自動的に仮想シリアルドライバがダウンロード・インストールされます。インストールされない場合はメーカーサイトからダウンロードできます。
接続

通信にはターミナルソフトなどが使えますが、PB-1000 Data Communicatorというソフトが使いやすいです。こちらもCASIO PB-1000 FOREVER!のSoftware Libraryからダウンロードできます。説明ではWindows Vista以降では使用できないと書かれていますが、Windows 7 x64でも利用することができました。
このやり方ではソフトウェアフロー制御がうまくいかないのか、通信速度を2400bps以下にしないとエラーになってしまいます。VX-3/4側はF.COMを起動し、こちらもパラメータを合わせます。これでプログラムが自由に送受信できるようになりました。Webからダウンロードしたソフトを転送したり、クロスアセンブラなどを用いてパソコンで開発を行うこともできるようになります。
最後にVX-3/4用のソフトをダウンロードできるサイトをいくつか挙げておきます。増設したバンク2のRAMを活用できるユーティリティープログラムやグラフィックを利用したゲームなどもあります。

CASIO PB-1000 FOREVER!
PB-Prog
HD61700 SPIRITS

※本サイトで紹介する内容は、すべて個人的研究の範囲内で行っていることです。ここに書かれた内容を実行したことによる、データ(クラウド上を含む)・ソフトウェア・ハードウェアの障害および金銭的損害について、私が責任を負うことはできません。重要なデータはあらかじめバックアップを行い、内容を十分に理解したうえで、ご自身の責任の下で行ってください。

続きを読む

テーマ : 自作・改造
ジャンル : コンピュータ

tag : CASIO ポケットコンピュータ VX-3 VX-4 USB

SHARP PC-1500

本日紹介するSHARPPC-1500は、唯一発売当時に新品で購入した(オークションで手に入れたのではない)ポケコンです。SHARPが初のBASIC使用可能なポケコンPC-1210/1211を発売した後に上位機種として発売されたものです。グラフィック表示が可能なこと(156×7ドットという低解像度ですが…)、機械語が使用できること(早期からメーカー公式のマニュアルが出ていました)、増設RAM(4/8/16KB)・カラープロッタプリンタ・カナ表示・RS-232Cなど豊富なオプションがあることなど、当時としては高級機の扱いでした。ちなみに私は機械語とグラフィックが使用できることからこの機種を選びました。(比較対象となったSHARP PC-1251はグラフィックの扱いが限定的であったこと、CASIO PB-700は機械語が使えなかったことで、候補から外れました) 標準装備のメモリは3.5KB, CPUはLH-5801です。ちなみに上位機種のPC-1501はメモリが8.5KB(そのうち1KBはPC-1500には存在しない機械語専用エリアでした)となっています。この他のバリエーションとして、カナモジュールCE-157(カナROM+4KB RAM)を標準添付され液晶周りの色が薄紫のPC-1500Dというものありました。
PC-1500

LCDを拡大するとこんな感じで、キャラクタとキャラクタの間に隙間がないグラフィックディスプレイになっています。グラフィック表示には、GPRINT命令を使用します。ビットマップパターンを16進数で表現した文字列を指定することによってグラフィックパターンの表示が可能です。逆に、単純に点を打ったり線を引いたりという命令はありません。
LCD表示

このポケコンはサイズ的にはかなり大きく、VX-3よりもさらに少し大きいです。このサイズの大きさからか、オークションでもほとんど人気がなく、1000円も値段がつくかどうか、という状態です。後継機のPC-1600Kは大画面で漢字表示が可能ということもありかなりの人気なのですが…。サイズが大きいということは、裏を返せばキーは打ちやすいということで、PC-1500やVX-3を使い慣れた身にはPC-1262のキーは打ちにくく感じます。
PC-1500とVX-3

私はこれを買った当初、プリンタ・カセットインターフェースCE-150, カナモジュールCE-157, RS-232C・パラレルインターフェースCE-158を揃えていましたが現在ではCE-157以外は処分してしまっています。せめてCE-158ぐらい残しておけばPCと接続がしやすかったのにと後悔しています。PC-1500のプログラムをPCに保存する方法として、CE-150・サウンドカード経由でWAVEで保存するという方法がよく利用されているようなので、今ではCE-150の入手を考えています。CE-158がオークションに出ていたのも見つけたのですが、かなりの人気で高値がついていたので断念したこともありますし…。PC-1500/1501についてはBLUESS Laboratoryさんが詳しいですので、興味がある方は見てみてください。オークションでも安いので入手はしやすいですよ。
(下の写真はCE-157です)
CE-157

最後に、紹介した4台のポケコンのスペック比較表を載せておきます(RAM容量は非改造時です)。
 VX-3VX-4PC-1262PC-1500
CPUHD61700
(910kHz)
HD61700
(910kHz)
SC61860
(768kHz)
LH5801
(1.3MHz)
RAM8KB
(Max 40KB)
8KB
(Max 40KB)
10KB3.5KB
(Max 19.5KB)
LCD192x32ドット
(32文字x4行)
191x32ドット
(32文字x4行)
24文字x2行156x7ドット
(26文字x1行)
大きさ
重さ
192x78x23mm
348g
192x78x23mm
348g
135x70x10mm
85g
196x86x25.5mm
735g
電源単3乾電池x4単3乾電池x4CR2032x2単3乾電池x4

テーマ : コンピュータ
ジャンル : コンピュータ

tag : SHARP ポケットコンピュータ PC-1500 CE-157

SHARP PC-1262

本日紹介するのは、やはり入手したばかりのポケコン、SHARPPC-1262です。こちらは定番だった人気機種のPC-1251の後継にあたる機種で、LCDが2行表示になり(論理的には1行扱い)、RAMも10KB搭載しています。CPUはPC-1251などと同じSC61860(ESR-H)です。この機種は、高性能かつコンパクトということで非常に人気があり、オークションでも常に高値がつきます。
PC-1262

今回入手したものはデータレコーダ・プリンタのCE-125Sとセットになっていました。
PC-1262+CE-125S

試しに印刷してみました。感熱紙が古いためか薄いですが、ちゃんと印刷できました。マイクロカセットはテープがないので動作確認はできませんでしたが、再生、早送り、巻き戻しなどのスイッチを押すと動きました。
CE-125のプリンタ

充電式電池はおそらくダメになっていると思い、試しに分解してみました。
CE-125S

案の定、液漏れしており交換が必要そうです。とりあえず電器店で代わりになりそうなバッテリを探してみることにします。なければ単3型Ni-Cdバッテリを組み合わせるしかなさそうですね。ニッケル水素バッテリは充電器が対応していないと過充電になる可能性があるようなので使用は難しそうです。
CE-125のバッテリ

マイクロカセットレコーダはベルトがダメになっていることが多いので、確認してみました。見たところベルトは大丈夫そうですが、予備は確保しておいてもいいかもしれません。ネットで検索してみると千石電商のφ50×0.95T(1個)とφ35×0.95T(2個)があればいいようです。
CE-125のカセットデッキ

これでCE-125Sのメンテナンス計画が立てられました。部品を入手次第やってみたいと思います。本当はPCのサウンドカードを利用してSAVE, LOADできるような外部接続端子も取り付けたいところですが、回路図がないとちょっと厳しそうですね…。

マイクロカセットはまだ売ってます。バッテリはこれが使えるかも…。

テーマ : コンピュータ
ジャンル : コンピュータ

tag : SHARP ポケットコンピュータ PC-1262 CE-125S

CASIO VX-4

本日紹介するポケコンは、昨日に続き同じCASIOVX-4です。昨日も書いたように、すでにVX-3を持っていたのですがどうしてもマニュアル付きがほしくて改めてこれをオークションで落札しました。VX-4は、FX-870Pの教育向けバージョンという位置づけであり、FX-870Pが32KBのRAMを搭載しているのに対してこちらは8KBとなっています。カタログ上の仕様は昨日のVX-3とほとんど同じで、CPUはHD61700を搭載しています。
VX-4

色々調べてわかったVX-3との違いは…。
1. 液晶表示の左端にモード表示がある。代わりに横方向が1ドット少ない。
2. メモリマップが違い、VX-3は改造にてRAMを増設してもシステムが認識しない領域が多い。
この2.については、昨日のVX-3のようにRAMを増設(バンク1,2のメモリマップの空いているところをすべてRAMで埋める)した場合、VX-3ではシステムは40KBと認識しますが、VX-4では64KBと認識します。このためBASICなどで利用できるメモリ容量に差が出ます。ちなみに、認識されていない領域は機械語などで利用することになりますが、この辺りも便利なツールが公開されているようです。このVX-4はまだ入手したばかりで簡単な動作確認しかしていませんが、RAM増設も近々やるつもりにしていますので、うまくいったらまた記事にしようと思います。

どうもこのVX-3やVX-4は流通台数が多い割にはマニアにあまり人気がないないようで、オークションの価格もSHARPのものより安めになっています。RAMの増設やPCとの接続(内蔵のシリアルポートとPCのUSBを接続するアダプタが容易に作れるようです)も容易なので、もっと評価されていいと思うのですが…。

テーマ : コンピュータ
ジャンル : コンピュータ

tag : CASIO ポケットコンピュータ VX-3 VX-4

CASIO VX-3

本日から手持ちのポケコン(ポケットコンピュータ)を紹介していきます。ポケコンは、もともとプログラム関数電卓が高機能化し、プログラム言語としてBASICが利用できるようになったものです。1980~1990年台にはかなり利用されていたようですが、PDAや携帯電話の高機能化に押されて、現在ではSHARPのPC-G850VSのみが製造・販売されています。しかし、これも学校教育用途としての販売であり、一般の家電店などでは購入することができません。

私が最初に購入したポケコンはSHARPのPC-1500ですが(後日また紹介します)、現在最もよく使っているのは少し前にオークションで落としたCASIOVX-3です。本当はVX-4を狙っていたのですが、VX-3とVX-4が同時に競り合っていてVX-4のほうは競り負けてしまったのでVX-3になりました。このVX-3ですが、購入して早々にRAMを標準の8KBから112KBに増設してあります。VX-3/4のCPU, HD61700は64KB×4バンクで256KBまでのメモリ空間を認識できるようになっています。(やり方は、PB-1000 FOREVER!の記事をを参考にしました )
VX-3

BASICにはグラフィック操作命令がないのですが、機械語を利用してグラフィックを使用したゲームなどもあります。
ミサイルゲーム

これにはマニュアルがついていなかったので色々なサイトをみて使用していましたが、わからない機能などもありやはりマニュアルがあったほうが良いと思いました。VX-3のマニュアルはなかなか見つかりませんが、ほぼ同じ使用法(機械語を使わなければ)と思われるVX-4がマニュアル付きで出ていたので改めてオークションで落としてしまいました。こちらは明日にでも紹介しようと思います。

テーマ : コンピュータ
ジャンル : コンピュータ

tag : CASIO ポケットコンピュータ VX-3

新幹線の通信事情

出張も終わり、無事に自宅まで帰ってきました。今回の出張には新幹線を利用したのですが、東海道区間と山陽区間の通信事情の格差に愕然としました…。東海道新幹線では、N700系電車であれば無線LANが利用できます。私はdocomoのspモード無線LANオプションを利用しているのですが、特別な設定はしなくても勝手につながりました。SSIDを見る限り、UQ-WiMAX系などほかのサービスもありそうです。
SSID一覧

また、東海道新幹線はトンネル内でも3G通信が切れませんが、山陽新幹線はダメでした。山陽区間はトンネルが非常に多く、出たと思ったらまた入りの繰り返しでメールの送受信すらままならないときがあり、けっこう不便でした…。ここは何らかの改善を望みたいところですが、この区間にはあまり通信を必要とするビジネス客はいないのでしょうかねえ。確かにトンネルが多いということは通信が切れないようにするための設備にコストもかかるのでしょうけど。

グチっぽい話になってしまいましたが、本日は新幹線がらみの写真をちょっと載せておきます。
博多駅の大阪方面の案内表示です。のぞみやこだまに混じって九州・山陽直通の「さくら」の表示があります。
博多駅列車案内

九州内専用の800系「つばめ」です。
つばめ
つばめ

今日の夕食は車内で駅弁でした。
みそかつ弁当

さて、帰宅すると荷物が届いていました。
荷物

開けてみると…オークションで落としたポケコンたちでした。最近ブログの記事を書くためにプログラム関数電卓やポケコンについて色々調べているうちに興味が出てきてしまい、ついついほしくなってしまいました(汗)
VX-4 and PC-1262

というわけで、明日からは手持ちガジェット紹介シリーズ、ポケコン編を始めようと思います。

テーマ : モバイルライフ
ジャンル : コンピュータ

tag : 新幹線 通信 駅弁 ポケコン PC-1262 VX-4 SHARP CASIO

福岡に来ています (2)

今日も引き続き福岡で仕事でした。昨日と比べて天気が悪く雨もぱらつきだしていましたが、せっかくなのでやはり散策することにしました。今日はトイザらスで見たいものがあったので検索してみたのですが、ヤフードーム(前回福岡に来たときは、まだ「福岡ドーム」でした)の近くにあることがわかったので、向かうことにしました。路線バスで博多から20~30分ぐらいだったと思います。途中、天神のあたりで渋滞するので少し時間がかかりますが、そこを抜けると都市高速も利用したりするので結構快適でした。近距離の路線バスで都市高速を利用するなんて、大阪や神戸では見たことがなかったので少し新鮮でした。

バスを降りるとヤフードームが見えます。
ヤフードーム

ホークスタウンモールにトイザらスはありました。ホークスタウンモールは調べてみたら、なぜか京阪電鉄グループの会社が運営しているんですね。
トイザらス

この中にHKT48劇場もありました。こんなところにあるなんて全然知らんかったわ…(汗)
HKT48劇場

目的のものをゲットしたので、ホークスタウンをあとにして、帰りは地下鉄唐人町駅まで歩くことにしました。この写真は途中で撮影したものですが、韓国総領事館とその後ろに福岡タワーが見えています。
福岡タワー

地下鉄の駅までは数百メートルでした。福岡市交通局は地下鉄のみでバスはやっていないようで(バスは西鉄バス)、「駅まで歩くと環境にも健康にもいいですよ。」という趣旨のキャンペーンをやっていました。地下鉄は6両編成で、天神や博多などの駅では結構乗降客数も多そうでした。
地下鉄空港線

博多で夕食にしました。やはり一度は食べておかなければいけない博多ラーメンですが、地下街にあった「一蘭」という店に入ってみました。
一蘭

ここはまるで選挙の投票所のブースみたいに一人ひとり仕切られたカウンターになっています。メニューは一種類のみですが、トッピングや麺の固さ、だしの味などは指定できるようになっています。
一蘭のラーメン

味のほうは普通においしかったのですが、やはり博多ラーメンのとんこつスープはこってりしているほうがおいしいと思います。今回はこってり度を「普通」にしてしまったのでなんだか少し物足りない感じがしました。今度来る機会があればこってり度はmaxにしたいですね。

食後はホテルに帰りました。部屋でインターネット接続ができると書いてあるのですが、壁の端子にLANケーブルが差さらず、昨日はN-08Bのテザリングで接続してブログを書いていました。moperaの安価なプランで接続が快適とは言いがたかったので、フロントで問い合わせると、モデムを貸してくれました。どうやらVDSLモデムを利用するようになっているようです。ちょっと面倒くさくはありますが、何とか快適にネットが利用できるようになりました。
VDSLモデム

明日はいよいよ帰らなければいけません。田舎に帰るのはちょっと寂しい…(汗)

テーマ : 九州の旅
ジャンル : 旅行

tag : 福岡 博多 ホークスタウン 一蘭 博多ラーメン トイザらス ヤフードーム HKT48

福岡に来ています (1)

実は昨夜から出張で福岡に来ています。せっかくのなので仕事が終わってから少し散策してみました。うっかりカメラを持っていくのを忘れてしまい、SH-03Cのダメカメラしか使えないのが残念です…。

博多ふ頭です。遊覧船などが発着する場所ですが、「ベイサイドプレイス」というショップ・レストランなどが入る施設があります。後ろに見えるのは博多ポートタワーです。
博多埠頭

ここからバスに乗って中心街の天神に移動しました。ちょっと買いたいものがあったので、西鉄福岡駅の南にある「カホパーツセンター」へ行ってみました。ここは電子部品などを売っている店です。名前からすると、「エレキット」などで有名な嘉穂無線がやっているのでしょうか。
カホパーツセンター

天神からは宿泊する博多まで歩いてみることにしました。途中、中洲という歓楽街を通りましたが、川沿いにたくさんラーメンや天ぷらなどの屋台が出ているところがあり、にぎわっていました。中州を過ぎるとキャナルシティ博多が見えてきます。キャナルシティ

ここまでの散策ルートです。なぜか川の上を歩いてしまっています(笑)。おなかもすいてきたのでキャナルシティで食事をとることにしました。
天神→キャナルシティ

中に入るとなにやら音楽が流れています。近づいてみると、アイドルのライブイベントをやっていました。もしかしてHKT48!?と思いましたが、HRという新人アイドルグループのようでした。
HR

何を食べようかと探していると、天ぷらの店をみつけました。「博多天ぷら たかお」という店です。博多名物というとやはりラーメンが一番有名かと思いますが、天ぷら屋もよく見かけます。880円の天ぷら定食と、追加で穴子天を注文しました。2種類ぐらいずつ挙げたての天ぷらを出してくれるので、アツアツでサクッとした出来立てが食べられます。私は決してグルメなほうではないので(何でもおいしく食べてしまうんです…汗)、詳しい感想はかけませんが、手ごろな価格の割にはおいしかったと思います。

明太子と浅漬けが自由に食べられます。
天ぷら定食

穴子は最後に出てきました。300円だったのですが、思ったより大きくてびっくり!あなご天

すっかり食べ過ぎておなかがいっぱいになったので、また歩くことにします。少し迷ってしまったので変なルートになっていますが、最後のほうはまっすぐ歩いたはずなのに必要以上にギザギザ…今日はGPSの測位精度がいまひとつだったのでしょうかね。
キャナルシティ→博多

私はもともと大阪近郊に住んでいたのですが、最近転勤のため地方都市(正直、都会とは言いがたい…)に住んでいます。たまに福岡のような大都市に来ると、楽しくて帰りたくなくなってしまいますね…(汗)

テーマ : 九州の旅
ジャンル : 旅行

tag : 福岡 博多 天神 ベイサイドプレイス キャナルシティ カホパーツセンター 天ぷら HR

AndroidタブレットがPC-9801に!

1990年代まで日本のPC市場を席巻していた、NECのPC-9801シリーズというパソコンをご存知でしょうか。機種間の互換性が低かったMS-DOSの時代に圧倒的なシェアを誇り、他のメーカーのMS-DOSマシンはほとんど市場から姿を消していきました。そんな「国民機」とまで言われたPC-9801シリーズですが、Windows 95以降、PC/AT互換機(今でいうところの"Windows PC")との差別化が難しくなり、ついにはNECもこのシリーズの発売を中止しPC/AT互換機市場に参入することになったわけです。

このPC-9801をWindows上で再現するエミュレータが何種類が存在しますが、その中でも評価の高い"NP2"というものがあります。NP2Android版が現在開発中とのことで、こちらのサイトで公開されていますので、早速ダウンロードしてZiiOにインストールしてみました(マーケットではなく、NP2 Androidのサイトでダウンロードします)。ダウンロードしたapkファイルを開いてインストールした後、"\sdcard\np2" フォルダに起動ディスクのイメージをコピーすれば起動するようになります。しかし、そのままでは漢字が表示されません。そこで、Neko Project IIのサイトからWindows版のNP2をダウンロードします。適当なフォルダに解凍し、np2.exeを実行してください。「システムディスクをセットしてください」と表示が出て停止したら、ウィンドウを閉じて終了させます。すると、NP2のフォルダにfont.tmpというファイルができていると思います。これをfont.bmpとリネームして"\sdcard\np2" にコピーすれば漢字もきちんと表示されるようになります。なお、実機のROMなどは必要ありませんが、起動ディスク(MS-DOSやDISK-BASICなど)は別途用意する必要があります。HDDイメージも使用できますが、操作性の点からいってWindows版のNP2でHDDイメージを作成するほうが楽でしょう。

MS-DOS 5.0のDOSシェルを起動してみました。マウスポインタはタッチパネルを操作することで相対的に移動するため、慣れが必要です。
DOSSHELL (小画面)

DOSSHELL (フル画面)

DOS版BASICも起動しました。N88-BASICでプログラミングも楽しめます。
N88-BASIC

マルチペイントも起動しましたが、マウスが使いにくいのでこれで絵をかくのは難しいですね。
マルチペイント

まだ多少不安定なところも残りますが、懐かしいPC-9801の画面がZiiOに再現されているのにはちょっと感動しました。安定性については今後のバージョンアップにも期待したいですね。

※本サイトで紹介する内容は、すべて個人的研究の範囲内で行っていることです。ここに書かれた内容を実行したことによる、データ(クラウド上を含む)・ソフトウェア・ハードウェアの障害および金銭的損害について、私が責任を負うことはできません。重要なデータはあらかじめバックアップを行い、内容を十分に理解したうえで、ご自身の責任の下で行ってください。


PC-9801について詳しく知りたい方はこちらをどうぞ。

テーマ : android
ジャンル : コンピュータ

tag : Creative Android ZiiO タブレット PC-9801 エミュレータ NP2

N-08BでEvernoteを利用する

先日、N-08BではEvernote公式iアプリが使えないということを書きましたが、その後いろいろ調べたところ、N-08Bでもある程度Evernoteの機能を活かせることがわかってきたので、紹介しておきます。

1. N-08Bからノートを保存する
Evernoteのアカウントを作成すると、登録メールアドレス宛てに案内のメールが来ると思いますが、そこに投稿用のメールアドレスが書いてあります。iモードでもPCメールでもよいので、そのアドレス宛てにメールを送信することでノートを保存できます。N-08Bのカメラで撮影した写真も、添付ファイルとして送信することで問題なく保存されます。また、N-08Bのボイスレコーダで録音した音声はiモーション(3gpファイル)として保存されますが、こちらも添付して送信することで保存され、PCで開いたときに再生することも可能です(iモードメールで添付可能なファイルは2MBまでの制限があります)。ちなみにこの3gpの音声ファイルはZiiOでも問題なく再生できました。Webクリップは利用できませんが、ブラウザからコピー&ペーストを行うことである程度代用は可能かと思います。
メール作成

Evernote(PC)

2. N-08Bでノートを閲覧する
iモードブラウザでEvernoteのモバイル用サイト(http://evernote.com/m/)に接続するとノートの内容を閲覧できます。もちろん、ブラウザの制限(ファイル形式、データ容量)があるため添付ファイルなどはすべてを閲覧することはできませんが、ある程度内容を確認することはできます。N-08Bで撮影した写真や録音したボイスレコーダのデータなどは問題なく再生できます。N-08BにはMicrosoft Officeのファイルをある程度閲覧できる「ドキュメントビューア」というものが搭載されていますが、残念ながらEvernoteに保存したOffice 2010のファイルは閲覧できませんでした。
Evernote閲覧
画像
ボイスレコーダ

ZiiOでSkitchを利用して作成したデータは残念ながら閲覧できませんでした。
Skitch

以上のような感じで、N-08BにおいてはEvernote閲覧については制限が大きいですが、保存についてはスマホと遜色ない印象を持ちました。N-08Bはあくまでもガラケーなのですが、工夫次第ではスマホに迫るほどの利用価値あると思っています。これからも色々活用方法を研究し、紹介していきたいと思っています。

テーマ : 携帯電話
ジャンル : 携帯電話・PHS

tag : docomo N-08B Evernote

FUJIFILM チェキプリンター NP-1

本日は、カメラりシーズの最後、FUJIFILMチェキプリンター、NP-1です。これは厳密にはカメラではなく、写真を印刷するプリンターです。それも、カメラ付き携帯電話から赤外線で写真を送って印刷するというものです。
チェキプリンター

携帯と一緒に持ち歩いて出先でプリントするという用途を考えているようですが、けっこう大きいので気軽には持ち歩けなさそうです。印刷可能な解像度は1664x1248ピクセル、容量は650KBまでとなっていますが、プリンタの解像度自体はVGA(640x480, 30万画素相当)です。なので、高解像度で撮った写真はいったん縮小して送信するほうが早くプリントできると思います。

古い機種なのでメーカーサイトに記載されている対応機種は限られています。そこで、今手元にある各種の携帯端末を使用して印刷できるかどうか試してみました。すべてVGA解像度の画像で試しています。
機種結果備考
SH-02D 
SH-03C 
N-08B 
N-04B 
M702iG×認識するが通信に失敗する
WS-011SH×認識するが通信に失敗する

次に、デジカメの写真を印刷できるかどうかも試してみました。一旦携帯端末を経由しなければいけないので、携帯で使用していたmicroSDカードをカードアダプタに差してデジカメに挿入し、初期化せずにそのまま撮影、その後microSDを抜き出して携帯端末に挿入してプリントしてみました。IXYの場合は携帯端末側で、E-PL3の場合はカメラ側で解像度をVGA相当に変換しています。
機種結果備考
E-PL3N-04B高解像度の画像はN-04Bで認識しない
IXY 30SN-04B 
E-PL3N-08B高解像度の画像はN-08Bで認識しない
IXY 30SN-08B 

これらの結果は、携帯のファームウェアやカメラ設定、記録メディアによって変わる可能性があり、対応を保証するものではありませんが、チェキプリンターをお持ちの方はまだ活用できる場面もあるかと思います。

※本サイトで紹介する内容は、すべて個人的研究の範囲内で行っていることです。ここに書かれた内容を実行したことによる、データ(クラウド上を含む)・ソフトウェア・ハードウェアの障害および金銭的損害について、私が責任を負うことはできません。重要なデータはあらかじめバックアップを行い、内容を十分に理解したうえで、ご自身の責任の下で行ってください。

テーマ : ★カメラ&レンズ・機材
ジャンル : 写真

tag : FUJIFILM チェキプリンター NP-1

FUJIFILM チェキ instax mini 10

我が家で唯一デジタルでないカメラ、FUJIFILM チェキ instax mini 10を紹介します。1998年に発売され、当時大流行したインスタントカメラです。いまどきのデジカメに比べ、けっこう大型で重量もあります。
チェキ

最近では携帯でどこでも気軽に撮影ができるようになってしまい、このようなお手軽インスタントカメラはほとんど利用されなくなってきているようですが、2009年発売の機種もあり細々と売られているようです。ポラロイドなど他のメーカーが撤退してしまったので、まだ少しは需要があるのでしょうか。

そういえば、FUJIFILMは以前FinePix PR21"プリンカム"というチェキとデジカメのハイブリッドになったようなデジカメを出していましたね。これはFinePixシリーズのデジカメに、チェキのフィルムに印刷するプリンターを内蔵したものだったと思います。かなり高価(定価99,800円)だったためあまり売れなかったのか、後継機種は出なかったようですが…。このプリンター部分だけを別商品にした、チェキプリンターというものもありました。これは実は家にあるので、明日にでもまた紹介したいと思います。

これが現行機種のようです。Hello Kittyバージョンもあります。

テーマ : ★カメラ&レンズ・機材
ジャンル : 写真

tag : FUJIFILM チェキ instax mini インスタントカメラ

SONY Cyber-shot DSC-U50

本日から、手持ちカメラ紹介シリーズの後半に入ります。紹介するのは、SONYのCyber-shot U DSC-U50です。これは7~8年前のヨドバシカメラの新春福袋(夢のお年玉箱)に入っていたものです。他に入っていたのはLED懐中電灯、BROWNの電動歯ブラシ、ソーラー腕時計(メーカー不詳)などでしたが、懐中電灯と電動歯ブラシは現在でも使用しています。この機種もDSC-F88と同様、CCDセンサーのリコール対象で、やはり一度写らなくなり無償修理を受けています。この機種の特長は非常にコンパクト(大人の手のひらに乗ります)なことと、回転レンズを備えているところでしょうか。
DSC-U50

撮影時はこのようにレンズを90度回転させます。
撮影時

F88と同様、レンズを手前に向けると自分撮りも可能です。
自分撮り

画素数は200万画素程度でさほど高性能ではないのですが、コンパクトで持ち歩きやすいので一時はよく使用していました。現在は職場に置いてメモ代わりに使っていましたが、最近めっきり使用頻度が減って気づいたら電池が切れていました。(単4の乾電池またはニッケル水素バッテリを使用します) そんなわけで今回は撮影サンプルはありません。まだまだ傷もほとんどなくきれいなので、また持ち歩いて活用したほうがいいかもしれませんね。

テーマ : ★カメラ&レンズ・機材
ジャンル : 写真

tag : SONY Cyber-shot DSC-U50 デジタルカメラ

HP-41C プログラミング編 (4)

HP-41C プログラミング編最終日の今日は、間接操作とフラグなどについて説明します。

1. 間接操作
HP-41Cの機能には、数値でパラメータを指定するものがいくつかあります。そして、その多くは間接操作を利用可能です。例えば、メモリレジスタR00に入っている数値のラベルへジャンプする、というようなことが可能で、この場合は、[SHIFT][GTO][SHIFT] 00 と指示します(プログラム内での表示は、GTO IND 00 となります)。このような操作は、メモリ操作やジャンプ(GTO)・サブルーチン(XEQ)など以下の命令で使用できます。すべて、メモリレジスタRnnの内容を引数としてそれぞれの命令を実行します。nnには、通常のレジスタ番号のほか、.X .Y .Z .T .L (それぞれスタックX-T、および LASTx に対応)も指定可能です。GTO IND 命令および XEQ IND 命令の場合は、Rnn の内容がALPHA文字列であっても指定可能です(ALPHAラベルを指定したことになる)。
 [STO][SHIFT] {nn} : STO IND {nn}
 [STO] + [SHIFT] {nn} : ST+ IND {nn}
 [STO] - [SHIFT] {nn} : ST- IND {nn}
 [STO] × [SHIFT] {nn} : ST* IND {nn}
 [STO] ÷ [SHIFT] {nn} : ST/ IND {nn}
 [RCL][SHIFT] {nn} : RCL IND {nn}
 [SHIFT][VIEW][SHIFT] {nn} : VIEW IND {nn}
 (ALPHAモード) [ASTO][SHIFT] {nn} : ASTO IND {nn}
 (ALPHAモード) [ARCL][SHIFT] {nn} : ARCL IND {nn}
 [SHIFT][GTO][SHIFT] {nn} : GTO IND {nn}
 [XEQ][SHIFT] {nn} : XEQ IND nn
 [SHIFT][FIX][SHIFT] {nn} : FIX IND {nn}
 [SHIFT][SCI][SHIFT] {nn} : SCI IND {nn}
 [SHIFT][ENG][SHIFT] {nn} : ENG IND {nn}
 [XEQ] "DSE" [SHIFT] {nn} : DSE IND {nn}
 [SHIFT][ISG][SHIFT] {nn} : ISG IND {nn}
 [XEQ][TONE][SHIFT] {nn} : TONE IND {nn} … TONE 命令については後述します
 [XEQ] "ΣREG" [SHIFT] {nn} : ΣREG IND {nn}
 [SHIFT][SF][SHIFT] {nn} : SF IND {nn} … SF 命令については後述します(2. フラグ)
 [SHIFT][CF][SHIFT] {nn} : CF IND {nn} … CF 命令については後述します(2. フラグ)
 [SHIFT][FS?][SHIFT] {nn} : FS? IND {nn} … FS? 命令については後述します(2. フラグ)
 [SHIFT][FC?][SHIFT] {nn} : FC? IND {nn} … FC? 命令については後述します(2. フラグ)
 [XEQ] "FS?C" [SHIFT] {nn} : FS?C IND {nn} … FS?C 命令については後述します(2. フラグ)
 [XEQ] "FC?C" [SHIFT] {nn} : FC?C IND {nn} … FC?C 命令については後述します(2. フラグ)
 [XEQ] "X<>" [SHIFT] {nn} : X<> IND {nn}
 [SHIFT][CATALOG][SHIFT] {nn} : CAT IND {nn}

2. フラグ
HP-41Cは56個のフラグ(F00-F55)を持っています。その中には、システムの状態を表すものやユーザーが自由に使用できるものが含まれます。以下にフラグの一覧を示します。
以下のユーザーフラグF00-F29は、値のセット、クリア、参照とも行えます。
 F00-F10 : 汎用フラグ(不揮発性メモリに保存)。ユーザーが自由に利用可能。
  F00-F04がセットされていると、液晶表示の下部の"0"~"4"が点灯します。
 F11 : 自動実行フラグ(電源ONのたびにクリア)。
  セットして電源OFFすると、次にONにしたときに直前に実行していたプログラムが自動実行されます。
 F12-F20 : 汎用フラグ(電源ONのたびにクリア)。ユーザーが自由に利用可能。
 F21 : プリンタイネーブルフラグ(電源ONのたびにF55がコピーされます)。
  セットするとプログラムから印刷可、クリアすると印刷不可になる。
 F22 : 数値入力フラグ(電源ONのたびにクリア)。数値を入力したときにセット。
 F23 : ALPHA入力フラグ(電源ONのたびにクリア)。ALPHA文字を入力したときにセット。
 F24 : レンジエラー無視フラグ(電源ONのたびにクリア)。
  セットされていればプログラム実行中にオーバーフローエラーが起きても停止せず続行します。
 F25 : エラー無視フラグ(電源ONのたびにクリア)。
  セットされていればプログラム実行中にエラーが起きても停止せず続行しますが、その時自動的にクリアされます。
 F26 : オーディオイネーブルフラグ(電源ONのたびにセット)。セットされておれば TONE などの命令で音がでます。
 F27 : USERモードフラグ(不揮発性メモリに保存)。USERモードのときセット。
 F28 : 小数点フラグ(不揮発性メモリに保存)。
  セットされておれば小数点は . 桁区切りは , になり、クリアされておれば小数点は , 桁区切りは . になります。
 F29 : 桁区切りフラグ(不揮発性メモリに保存)。セットされておればF28で指定した桁区切りが表示されます。
以下のシステムフラグF30-F55は値の参照のみ行えます。
 F30 : カタログフラグ。システム内部使用のみ。値を参照すると常にクリアされています。
 F31-35 : 周辺機器フラグ。システム内部使用のみ。
 F36-39 : 桁数フラグ(不揮発性メモリに保存)。
  FIX, SCI, ENG で指定された桁数が入ります。2進数に変換して最上位ビットから順に F36-F39に入ります。
 F40-41 : 表示形式フラグ(不揮発性メモリに保存)。
  FIX 命令でF40がセット・F41がクリアされます。ENG 命令でF40がクリア・F41がセットされます。
  SCI 命令でF4・F41ともクリアされます。
 F42 : GRADモードフラグ(不揮発性メモリに保存)。GRAD モードでセットされます。
 F43 : RADモードフラグ(不揮発性メモリに保存)。RAD モードでセットされます。
 F44 : Continuous On フラグ。自動電源OFFが働かない状態の時にセットされます。
 F45 : System Data Entry フラグ。システム内部使用のみ。値を参照すると常にクリアされています。
 F46 : Partial Key Sequence フラグ。システム内部使用のみ。値を参照すると常にクリアされています。
 F47 : SHIFTフラグ。システム内部使用のみ。値を参照すると常にクリアされています。
 F48 : ALPHAモードフラグ(電源ONのたびにクリア)。アルファモードのときにセットされます。
 F49 : ローバッテリーフラグ。電池残量が減ってくるとセットされます。
 F50 : メッセージフラグ。何かシステムがメッセージを表示しているときにセットされます。
 F51 : SSTフラグ。システム内部使用のみ。値を参照すると常にクリアされています。
 F52 : PRGMモードフラグ。システム内部使用のみ。値を参照すると常にクリアされています。
 F53 : I/Oフラグ。周辺機器の準備ができているときにセットされます。
 F54 : 一時停止フラグ。PSE 命令実行中にセットされます。
 F55 : プリンタ接続フラグ。電源ON時にプリンタが接続されていればセット、なければクリアされます。
これらのフラグに対して以下の操作が可能です。
 [SHIFT][SF] {nn} : Fnnをセットします。
 [SHIFT][CF] {nn} : Fnnをクリアします。 
 [SHIFT][FS?] {nn} : Fnnがセットされておれば次の命令を実行しますが、クリアされておればスキップします。
 [SHIFT][FC?] {nn} : Fnnがクリアされておれば次の命令を実行しますが、セットされておればスキップします。
 [XEQ] "FS?C" {nn} : FS? 命令実行後、Fnnをクリアします。
 [XEQ] "FC?C" {nn} : FC? 命令実行後、Fnnをクリアします。

3. その他の命令
 [SHIFT][BEEP] : BEEP音を1回鳴らします。
 [XEQ] "TONE" {n} : n(0-9)で指定されたピッチの音を鳴らします。数字が大きいほど高音になります。

これでHP-41Cのプログラミング解説シリーズは終了です。HP-41Cは非常に多くの関数や命令を持っていますので、すべて使いこなすのは困難かもしれません。スタックの動きにも慣れる必要がありますし、少しずつ理解していけばよいと思います。このような低級言語?でプログラムすることは頭の体操にもなっていいと思いますよ。もっと詳しく知りたい方は、こちらでマニュアル(英文)の参照が可能です。
明日からは、手持ちのカメラ紹介シリーズ後半のスタートです。古いものばかりですが…。

本日使用した命令のまとめ:
 [STO][SHIFT] {nn} : Rnnの内容で指定されたメモリに対し STO を実行します。
 [STO] + [SHIFT] {nn} : Rnnの内容で指定されたメモリに対し ST+ を実行します。
 [STO] - [SHIFT] {nn} : Rnnの内容で指定されたメモリに対し ST- を実行します。
 [STO] × [SHIFT] {nn} : Rnnの内容で指定されたメモリに対し ST* を実行します。
 [STO] ÷ [SHIFT] {nn} : Rnnの内容で指定されたメモリに対し ST/ を実行します。
 [RCL][SHIFT] {nn} : Rnnの内容で指定されたメモリに対し RCL を実行します。
 [SHIFT][VIEW][SHIFT] {nn} : Rnnの内容で指定されたメモリに対し VIEW を実行します。
 (ALPHAモード) [ASTO][SHIFT] {nn} : Rnnの内容で指定されたメモリに対し ASTO を実行します。
 (ALPHAモード) [ARCL][SHIFT] {nn} : Rnnの内容で指定されたメモリに対し ARCL を実行します。
 [SHIFT][GTO][SHIFT] {nn} : Rnnの内容で指定されたラベルにジャンプします。
 [XEQ][SHIFT] {nn} : Rnnの内容で指定されたラベルをサブルーチンコールします。
 [SHIFT][FIX][SHIFT] {nn} : Rnnの内容で桁数を指定して FIX を実行します。
 [SHIFT][SCI][SHIFT] {nn} : Rnnの内容で桁数を指定して SCI を実行します。
 [SHIFT][ENG][SHIFT] {nn} : Rnnの内容で桁数を指定して ENG を実行します。
 [XEQ] "DSE" [SHIFT] {nn} : Rnnの内容で指定されたメモリに対し DSE を実行します。
 [SHIFT][ISG][SHIFT] {nn} : Rnnの内容で指定されたメモリに対し ISG を実行します。
 [XEQ][TONE][SHIFT] {nn} : Rnnの内容で指定さたピッチで TONE を実行します。
 [XEQ] "ΣREG" [SHIFT] {nn} : Rnnの内容で指定されたレジスタ番号で ΣREG を実行します。
 [SHIFT][SF][SHIFT] {nn} : Rnnの内容で指定されたフラグに対し SF を実行します。
 [SHIFT][CF][SHIFT] {nn} : Rnnの内容で指定されたフラグに対し CF を実行します。
 [SHIFT][FS?][SHIFT] {nn} : Rnnの内容で指定されたフラグに対し FS? を実行します。
 [SHIFT][FC?][SHIFT] {nn} : Rnnの内容で指定されたフラグに対し FC? を実行します。
 [XEQ] "FS?C" [SHIFT] {nn} : Rnnの内容で指定されたフラグに対し FS?C を実行します。
 [XEQ] "FC?C" [SHIFT] {nn} : Rnnの内容で指定されたフラグに対し FC?C を実行します。
 [XEQ] "X<>" [SHIFT] {nn} : Rnnの内容で指定されたメモリに対し X<> を実行します。
 [SHIFT][CATALOG][SHIFT] {nn} : Rnnの内容で指定された内容で CATALOG を実行します。
 [SHIFT][SF] {nn} : Fnnをセットします。
 [SHIFT][CF] {nn} : Fnnをクリアします。 
 [SHIFT][FS?] {nn} : Fnnがクリアされておれば次の命令をスキップします。
 [SHIFT][FC?] {nn} : Fnnがセットされておれば次の命令をスキップします。
 [XEQ] "FS?C" {nn} : FS? 命令実行後、Fnnをクリアします。
 [XEQ] "FC?C" {nn} : FC? 命令実行後、Fnnをクリアします。
 [SHIFT][BEEP] : BEEP音を1回鳴らします。
 [XEQ] "TONE" {n} : n(0-9)で指定されたピッチの音を鳴らします。数字が大きいほど高音になります。

テーマ : プログラミング
ジャンル : コンピュータ

tag : HP 41C プログラム関数電卓

HP-41C プログラミング編 (3)

HP-41C プログラミング編第3弾の今日は、分岐、サブルーチン、条件判断、ループといった制御構造をまとめます。

1. プログラムの構造と LBL 命令
HP-41のプログラムが LBL "プログラム名" ~ END でひとまとめになっていることは最初に書いたとおりですが、プログラム中にもローカルなラベル(2ケタの数値またはアルファベット"A"~"J", "a"~"e")を含めることができます。これらのラベルは、分岐(GTO 命令)およびサブルーチン呼び出し(XEQ 命令)のジャンプ先として指定することができます。サブルーチンは、プログラムと同様 LBL {ラベル} で始まり RTN 命令 (プログラムの最終行なら END 命令)で終わりますが、XEQ 命令で呼び出されると、RTN(または END)命令にて呼び出し元(XEQ 命令)の次の行に戻ってきます。サブルーチンを含むプログラムは以下のような構造になります。メインプログラムの最後も、それが最終行ではないときは RTN 命令を使います。
 00 LBL "START"
    …
  (メインプログラム)
    …
 10 RTN
 11 LBL 01
  (サブルーチン1)
 20 RTN
 21 LBL 02
  (サブルーチン2)
 30 END
ラベルはこれまでも書いたように2ケタの数値またはALPHA文字列が使用できますが、種類によって有効範囲(スコープ)が変わるので、注意が必要です。
 2ケタの数値 : 同一プログラム内
 "A"~"J", "a"~"e" : 同一プログラム内。「ローカルラベル」と言われます。
 その他のALPHA文字列 : メモリ内の全プログラム。
「ローカルラベル」は特別な機能を持つラベルです。一般的なALPHA文字列のラベル異なり、そのプログラム内でのみ有効であり、[SHIFT] [CATALOG] 1 でも一覧表示されません。これらのラベルは、USERモードでプログラムを実行中に"A"~"J"の刻印のあるキー(または[SHIFT]+"A"~"E"の刻印のあるキー)が押されると、そのラベルにジャンプするようになっています(ただし、ASN 命令で他の機能を割り当ててある場合は無効です)。PROMPT 命令や STOP 命令で停止中にでこのいずれかのキーを押し、押したキーによって処理を分けるような場合に役立つと思います。

2. ジャンプ(GTO 命令)
GTO {ラベル} で指定ラベル(2ケタの数値またはALPHA文字列)へジャンプします。ジャンプ先で RTN または END 命令があると、そこで実行を終了します。GTO 命令を誤って使うと、無限ループに入ってしまうことがあります。このような場合はいつまでたっても実行が終了しませんので、[R/S]キーを押して止める必要があります。

3. サブルーチン呼び出し(XEQ 命令)
XEQ {ラベル} で指定ラベル(2ケタの数値またはALPHA文字列)から始まるサブルーチンを呼び出します。他のプログラムを呼び出すことも可能です。ジャンプ先で RTN または END 命令があると、呼び出し元(XEQ 命令)の次の行に戻ってきます。サブルーチン呼び出しは6段までネスティングが可能です。

4. 条件分岐
高度なプログラムを作ろうとすると、数値の大小で処理を分けたいケースが出てくると思います。それに利用できるのが条件判断命令です。以下のような命令がありますが、いずれも条件が成立すれば次の命令を実行、成立しなければ次の命令をスキップするというものです。比較されるのはXレジスタとYレジスタの数値です。
 X=Y? : X=Yかどうか比較。(ALPHA文字列も可)
 X=0? : X=0かどうか比較。
 X>Y? : X>Yかどうか比較。
 X>0? : X>0かどうか比較。
 X<Y? : X<Yかどうか比較。
 X<0? : X<0かどうか比較。
 X<=Y? : X≦Yかどうか比較。
 X<=0? : X≦0かどうか比較。
 X≠Y? : X≠Yかどうか比較。(ALPHA文字列も可)
 X≠0? : X=0かどうか比較。
いずれも、直後に GTO 命令などを置くことによって、比較結果で処理を分けることができます。

5. ループ
ISG(Increment and Skip if Greater)命令とDSE(Decrement and Skip if Equal)命令があります。これらの命令に与えるパラメータは次のような書式で与える必要があります。
 iiiii.fffcc
iiiiiがループカウンタの初期値(5ケタまで)、fffが比較する値、ccがカウンタに減算/加算される値です。fffの省略値は0、ccの省略値は1になりますので、整数のみ指定すると、iiiii.00001 と指定したのと同じことになります。実際の使用方法は下記の通りです。ループカウンタとしてはメモリレジスタnn(またはスタック)を使用します。
 iiiii.ffcc
 STO nn    ← 初期値をループカウンタ(レジスタnn)にセット
 ISG nn    ← Rnnにccを加算し、fffと比較
ISG nn 命令は、レジスタRnnにccずつ加算を行い、iiiii(Rnnの整数部分)>fff となれば次の命令をひとつスキップします。
DSE nn 命令は、レジスタRnnからccずつ減算を行い、iiiii(Rnnの整数部分)≦fff となれば次の命令をひとつスキップします。
これらの命令の直後に GTO 命令を置けば、ループを作ることができます。以下に例を示します。
 01 LBL "LOOP"
 02 10.02001
 03 STO 00
 04 LBL 01
 05 RCL 00
 06 STOP
 07 ISG 00
 08 GTO 01
 09 "END"
 10 AVIEW
 11 END
[XEQ] "LOOP" で実行すると、[R/S]キーを押すたびにカウンタの値がカウントアップして表示され、20.0200になった時にさらに[R/S]を押すと"END"と表示し終了します。

これらの制御構造を理解すれば、さらに高度なプログラムを組むことができます。数値計算に限って言えばパソコンなみと言ってよいでしょう。最終回の明日は、間接操作とフラグについて説明したいと思います。

本日使用した命令のまとめ:
[LBL] {nn} : プログラム内でのみ有効なラベルを指定。
[LBL] "{ラベル}" : 全体で有効なラベルまたはローカルラベル("A"~"J", "a"~"e")を指定。
[RTN] : プログラムまたはサブルーチンを終了(最終行では END)。
[GTO] {ラベル} : 指定されたラベルへジャンプする。
[XEQ] {ラベル} : 指定されたラベルをサブルーチンとして呼び出す。
[SHIFT] [ISG] {nn} : Rnnに指定値(cc)を加算し、整数部が指定値(fff)より大きければ次の命令をスキップ。
[XEQ] "DSE" {nn} : Rnnから指定値(cc)を減算し、整数部が指定値(fff)以下なら次の命令をスキップ。
[SHIFT] [x=y?] : XレジスタとYレジスタ(ALPHA文字列も可)が等しくなければ次の命令をスキップ。
[SHIFT] [x=0?] : Xレジスタが0でなければ次の命令をスキップ。
[SHIFT] [x>y?] : XレジスタがYレジスタ以下なら次の命令をスキップ。
[XEQ] "X>0?" : Xレジスタが0以下なら次の命令をスキップ。(">" はALPHAモードで[SHIFT] [J])
[XEQ] "X<Y?" : XレジスタがYレジスタ以上なら次の命令をスキップ。("<" はALPHAモードで[SHIFT] [I])
[XEQ] "X<0?" : Xレジスタが0以上なら次の命令をスキップ。("<" はALPHAモードで[SHIFT] [I])
[SHIFT] [x≦y?] : XレジスタがYレジスタより大きければ次の命令をスキップ。
[XEQ] "X<=0?" : Xレジスタが0より大きければ次の命令をスキップ。("<" はALPHAモードで[SHIFT] [I])
[XEQ] "X≠Y?" : XレジスタとYレジスタ(ALPHA文字列も可)が等しければ次の命令をスキップ。("≠" はALPHAモードで[SHIFT] [H])
[XEQ] "X≠0?" : Xレジスタが0なら次の命令をスキップ。("≠" はALPHAモードで[SHIFT] [H])

HP-41C同様「4レベルRPN」でプログラムできる電卓です。

テーマ : プログラミング
ジャンル : コンピュータ

tag : HP 41C プログラム関数電卓

HP-41C プログラミング編 (2)

HP-41C プログラミング編第2弾です。本日は、プログラムの途中でメッセージを表示したりキー入力を求めたりする方法について解説します。

1. 実行の一時停止
プログラムの途中で実行を一時停止し、数値などの入力を求めたいときがあります。そのときに使用するのが STOP 命令です。STOP 命令は[R/S]キーでも入力できます。STOP 命令が実行されるとそこでプログラムの実行は停止され、キー入力が可能になります。その後[R/S]キーを押すと実行再開されます。STOP に似ていますが自動的に実行を再開するのが PSE 命令です。PSE 命令が実行されるとプログラムの実行が1秒間弱停止しますが、停止中はXレジスタまたはアルファレジスタの内容が表示されキー入力可能です。例えば次のプログラムを実行すると"PAUSE"と表示されますが、表示中に数値を入力するとその値に2をかけたものが表示されます。
 01 LBL "PTEST"
 02 "PAUSE"
 03 AVIEW     ← [XEQ] "AVIEW" または ALPHAモードで[SHIFT] [VIEW]
 04 PSE      ← [XEQ] "PSE"
 05 ENTER↑
 06 2
 07 *       ← [×]
 08 VIEW X    ← [SHIFT] [VIEW] . X
 09 END      ← [SHIFT] [GTO] ..

2. メッセージの表示
プログラムを実行する際、途中でメッセージを表示したい場合があります。これに使用するのが AVIEW 命令です。プログラム中にALPHAモードで書き込まれた文字列(1行に書けるのは15文字まで、APPEND 命令を利用して2行に分ければ最大24文字まで)はアルファレジスタに入りますが、AVIEW 命令を実行するとそれが表示されます。例えば、次のようなプログラムでは、"MESSAGE:HELLO"と表示されます。
 01 LABEL "ATEST"
 02 "MESSAGE:"
 03 "トHELLO"   ← "ト"は APPEND 命令(ALPHAモードで [SHIFT] K で入力)を示します。
 04 AVIEW     ← [XEQ] "AVIEW" または ALPHAモードで[SHIFT] [VIEW]
 05 END      ← [SHIFT] [GTO] ..
何か入力を促したりしたいときは PROMPT 命令を使用します。これは[AVIEW]と[STOP]を続けて実行するのと同じです。次のプログラムを実行すると"X=?"と聞いてきますので、10 [R/S]などど入力すると、入力した数値に10をかけたものが表示されます。
 01 LBL "PRMPT"
 02 "X=?"
 03 PROMPT    ← [XEQ] "PROMPT"
 04 ENTER↑
 05 10
 06 *       ← [×]
 07 END      ← [SHIFT] [GTO] ..
メッセージの途中に数値など他のメモリやレジスタの内容を含めたいときには ARCL 命令を使用します。例えば次のプログラムは、sin(X)を実行し、"SIN 90.00=1.00"のように結果を表示します。このときに表示される数値の形式は、FIX, SCI, ENG 命令の指定に従います。ARCL 命令は現在の表示内容をクリアしないため、前に APPEND 命令を使用する必要はありません。
 01 LBL"AR"
 02 SIN
 03 "SIN "
 04 ARCL L    ← [XEQ] "ARCL" . L または ALPHAモードで[SHIFT] [RCL] . L (LASTxを表示)
 05 "ト="     ← "ト"は APPEND 命令(ALPHAモードで [SHIFT] K で入力)を示します。
 06 ARCL X    ← [XEQ] "ARCL" . X または ALPHAモードで[SHIFT] [RCL] . X (Xレジスタを表示)
 07 AVIEW     ← [XEQ] "AVIEW" または ALPHAモードで[SHIFT] [VIEW]
 08 END      ← [SHIFT] [GTO] ..
主なものは以上ですが。他のALPHAモード関連の命令を列挙しておきます。
AON 命令:ALPHAモードをONにします。
AOFF 命令:ALPHAモードをOFFにします。
CLD 命令:現在の表示を消去し、XレジスタまたはALPHAレジスタの内容を表示します。
ASHF 命令:アルファレジスタの左側6文字を切り取って捨てます。

これらの機能を使用することで、少しプログラムらしい感じになってきたと思います。明日は、分岐などの制御構造について説明します。

本日使用した命令のまとめ:
[XEQ] "AVIEW" : アルファレジスタの内容を表示する(ALPHAモードで[SHIFT] [VIEW]も同じ)。
[XEQ] "ARCL" {nn} : メモリレジスタnnの内容をアルファレジスタに追加する(ALPHAモードで[SHIFT] [RCL]も同じ)。
[XEQ] "AON" : ALPHAモードにする。
[XEQ] "AOFF" : ALPHAモードを抜ける。
[XEQ] "ASHF" : アルファレジスタの左側6文字を削除する。
[XEQ] "CLD" : 表示内容を消去し、Xレジスタまたはアルファレジスタ(ALPHAモード時)を表示する。
[XEQ] "PSE" : 1秒間一時停止する。
[XEQ] "STOP" : [R/S]キーを押すまで停止する([R/S]も同じ)。
[XEQ] "PROMPT" : アルファレジスタの内容を表示し[R/S]キーを押すまで停止する。
(ALPHAモード) [SHIFT] K : 現在のアルファレジスタに、後続の文字列を追加する。

テーマ : プログラミング
ジャンル : コンピュータ

tag : HP 41C プログラム関数電卓

HP-41C プログラミング編 (1)

ここで手持ちカメラ紹介シリーズは一旦お休みして、本日からは少しHPプログラム関数電卓HP-41Cのプログラム機能について書きたいと思います。エミュレータとしてはAndroidではgo41c, iOSではCalc41C, WindowsではHP41Eが利用できます。とくに断りのない場合、[ ]内が各機能キーを、[SHIFT]はオレンジ色のシフトキーを、[ENTER]は[ENTER↑]キーを、" は[ALPHA]キーを、{ }内は引数などを示しています。

HP-41Cのプログラムの考え方は単純です。他の多くのプログラム関数電卓と同様、計算を行う手順(キー操作)をそのまま記憶させる、という考え方が基本です。これにいくつかの条件判断命令、制御命令などが加わって高度なプログラムを作成することができるようになっています。HP-41Cのプログラムの基本構造は以下のようになっています。左の2ケタの数値は行番号で、自動的に割り当てられます。
 01 LBL "{プログラム名}"
 02 {命令}
    …
 nn END
LBL 命令はプログラムまたは行にラベルを付ける命令です。プログラム名としてのラベルには7文字以下のアルファベットまたは数字を使用します。ただし、"A"~"J", "a"~"e"の1文字のラベルは特別な意味を持つので(後日解説します)、プログラム名としては使用しないほうがよいでしょう。LBL 命令ではラベルとして2ケタの数値を指定することもできますが、これはプログラム内での分岐などに使用します(後日解説します)。
END 命令は、プログラムの最終行(実行終了します)を示す命令です。HP-41Cでは必ず END 命令がプログラムの区切りとして使用されます。プログラムの最後以外では RTN 命令を使用します。
途中の命令は、基本的には実際に手計算で行う通りに入力を行えばよいです。

このようにして入力したプログラムは、[XEQ] "{プログラム名}" で実行でき、[ASN]でUSERモードのキーに割り当てて使用することも可能になります。例えば、円の半径から面積を求める "CIRCLE" というプログラムを作るとします。
 01 LBL "CIRCLE"
 02 [SHIFT] [x2]
 03 [SHIFT] [π]
 04 [×]
 05 END
Xレジスタに半径を入力してからこのプログラムを[XEQ] "CIRCLE" として実行すると、[SHIFT] [x2] [SHIFT] [π] [×]と操作したのと同じことになり、Xレジスタに計算結果である円の面積が入ります。「プログラム」と聞くと何やら難しそうに聞こえますが、電卓のプログラムなんて基本的にはこんなものです。

実際にプログラムを入力するにはPRGMモードにします。[PRGM]キーを押して"PRGM"インジケータを点灯させてください。"00 REG 46"などのように表示されると思いますが、これが現在のプログラムメモリの空き状況を示しています。以前基本編で書いたように、プログラムメモリはデータ用メモリと供用になっており、SIZE 命令でその割り当てを変えられます。
 [XEQ] SIZE {nnn} : データ用メモリをnnn本にします。
この操作によりHP-41Cの場合は63-nnnがプログラム用となります(初期値はnnn=017)。メモリレジスタ1本で命令を最大7ステップまで格納できるようですが、命令の種類により必要ステップ数は異なるようです。
空きメモリ表示

では、実際に入力していきましょう。プログラムエディタはラインエディタのような感じになっています。新しいプログラムを入力するには"PRGM"モードで[SHIFT] [GTO] .. と操作します。その後、1行に1命令ずつ入力していき(行番号は入力不要)ますが、入力を間違えたときは[←]で訂正できます。入力が終了したら再度[SHIFT] [GTO] .. と操作しますが、これにより END 命令が挿入され入力が終了します。

入力したプログラムを確認するには、[SHIFT] [GTO] . "{プログラム名}" としてリストを呼び出します。[SST]で次の行、[SHIFT] [BST]で前の行に移動できます。[SHIFT] [GTO] . {nnn(行番号)} とすると指定された行を表示します。行表示中に何か新しい命令を入力すると、その次の行に挿入され、逆に[←]を操作すると表示中の行が削除されます。
01 LBL
02 x2

プログラムを削除するには[XEQ] "CLP" "{プログラム名}" とします。これにより LBL "{プログラム名}" ~ END までの行が一括削除されます。[XEQ] "CLP" "" とすると、現在表示中のプログラムが削除されます。

プログラムの行を部分的にまとめて削除するには、削除開始行を表示したうえで[XEQ] "DEL" {nnn(行数)} とします。これにより、現在表示中の行から指定した行数が一括削除されます。ただし、大きな数を指定しても END 命令のひとつ前の行までしか削除されません。

プログラムの一覧を表示するには[SHIFT] [CATALOG] 1 とします。これによりプログラムの LBL 命令と、END 命令がすべて順に表示されます。

このようにして入力・編集したプログラムを実行するには[PRGM]キーを押してプログラムモードを抜けます("PRGM"インジケータを消します)。先ほどのプログラムなら、例えば 10 [XEQ] "CIRCLE" と入力すると、半径10cmの円の面積が計算され、結果が表示されるはずです。[SHIFT] [ASN] "CIRCLE" [Σ+]としてキー割り当てを行うと、USERモードで 10 [Σ+]と操作するだけで同じ結果を得ることができます。

HP-41Cプログラム言語(?)は、「4レベルRPN」と呼ばれています。スタックを4段使用できるRPNという意味のようですが、この後に発売されたHP-12C, 15C, 16C, 35sなどでも採用されています(35sは代数記法も利用できるようです)ので、これらのHP電卓でも似たやり方でプログラミングができるようです。本日の説明で、公式の記憶や繰り返し計算などの用途には充分使用できると思います。文章では難しく感じるかもしれませんが、やってみると意外と簡単だと思います。明日は、数値やメッセージの入出力などの説明をしたいと思います。

本日使用した命令のまとめ:
[XEQ] "SIZE" {nnn} : データ用メモリをnnn本にする。
[SHIFT] [CATALOG] 1 : プログラムの一覧を表示する。
[SHIFT] [GTO] .. : プログラム入力開始/終了(END 命令).
[SHIFT] [GTO] . "{プログラム名}" : "プログラム名"のリストを呼び出す。
[SHIFT] [GTO] . {nnn} : 現在表示中のプログラムのnnn行を呼び出す。
[SST] : 次の行を表示。
[SHIFT] [BST] : 前の行を表示。
[←] : 行の削除/訂正。
[XEQ] "DEL " {nnn} : 現在表示中のプログラムの現在行からnnn行を削除する。
[XEQ] "CLP" "{プログラム名}" : "プログラム名"のプログラムを消去する。
[XEQ] "CLP" "" : 現在表示中のプログラムを消去する。
[LBL] "{プログラム名}" : プログラム名を指定し、プログラムの最初を示す。
[SHIFT] [ASN] "{プログラム名}" {キー} : プログラムをUSERモードのキーに割り当てる。

テーマ : プログラミング
ジャンル : コンピュータ

tag : HP 41C プログラム関数電卓

SONY Cyber-shot DSC-F88

Cyber-shot DSC F88は我が家の最古のデジカメです。これ以前には同じSONYCyber-shot DSC-F55Kを使っていた(これが初のデジカメでした)のですが、レンズが回転式になっており自分撮りがしやすいところが気に入っていたので、後継機種となるこれを購入しました。残念ながらこれ以降、SONYからは後継機種は出ていません。F55Kと同様、MPEG-1の動画も撮れるようになっています。撮像素子には1/2.4インチ500万画素CCDを搭載しています。
DSC-F88
DSC-F88

このようにレンズが約270度回転するようになっており、LCDモニタを見ながらの自分撮りが可能です。
自分撮り

撮影サンプルです。オート撮影で2592x1944ピクセルファインモード、フラッシュOFFで撮影しました。薄暗い室内での画質はE-PL3, IXY 30Sに負けています。意外なことに、明るい屋外ではIXY 30Sよりも解像感・コントラストが良いように思います。
撮影サンプル1
撮影サンプル2

回転レンズと光学ズーム搭載であることが決め手となってこれを選びました。この機種はSONYのCCD不具合によるリコールの対象となっており、実際に一度映らなくなり無償修理してもらいました。画質も悪くなくかなり気に入っていたのですが、今ではモード選択ダイアルが接触不良を起こしておりだんだん操作に支障をきたすようになってきたためIXY 30Sを買いました。利用シーンによってはIXY 30Sよりも高画質な場合があるだけに、ちょっと残念な気がします。調子のよい時はモード選択ダイアルが何とか使用可能なため、もったいなくて処分することができません…。

テーマ : ★カメラ&レンズ・機材
ジャンル : 写真

tag : SONY Cyber-shot DSC-F88 デジタルカメラ

Canon IXY 30S

現在メインで使用しているコンパクトデジカメ、Canon IXY 30Sです。それまで使用していた、SONYのCyber-shot DSC-F88が壊れたため急きょ購入しました。すでに次のモデル、31Sが発売されており、型落ち品のため安く購入できました。
IXY 30S
IXY 30S
IXY 30S 裏面

撮像素子には1000万画素の裏面照射型CMOSセンサーを採用しており、室内など薄暗いところの画質はDSC-F88よりは向上しているように思います。また、光学式手振れ補正も搭載しています。

撮影サンプルを載せておきます。昨日のE-PL3と比べ、コントラストが低く解像感も劣っているように思います。大きさや価格の差を考えると仕方がないと思いますが…。室内撮影については、センサーサイズが大きいE-PL3には負けるものの、DSC-F88よりはかなり明るくなっており、さすがは裏面照射センサーだと思いました。撮影はすべてAUTOモード、フラッシュ未使用、3648x2736ピクセルファインモードで撮影しています。昨日同様、Web上の画像は1024x768ピクセルにリサイズしています。
撮影サンプル1
撮影サンプル2

E-PL3を購入してからは大切な写真はそちらで撮っていますが、こちらはコンパクトで気軽に持ち出して撮影が楽しめるので、まだまだ使用していくことになると思います。

↓こちらは後継機種の32Sです。

テーマ : ★カメラ&レンズ・機材
ジャンル : 写真

tag : Canon IXY 30S デジタルカメラ

OLYMPUS PEN Lite E-PL3

少し前にOLYMPUS PEN Lite E-PL3を買いました。ミラーレスを含め一眼を買うのは初めてで、撮影技術はまだまだ、というところですが、これまで使っていたコンデジに比較しても手軽にきれいな写真が撮影できるので気に入っています。買ったのは、ダブルズームキットと、パンケーキレンズ(OLYMPUS M.ZUIKO DIGITAL 17mm F2.8)です。
E-PL3

背面には大きめの液晶モニタがついています。これはタッチパネルにはなっていませんが、上下にチルトするようになっているので、高い位置のものや低い位置のものを撮影するには便利です。
E-PL3
液晶モニタ

デザイン的にはレトロな感じのE-PL2に惹かれたのですが、動画撮影のフォーマットがMotion JPEGなのが気になりこちらにしました(E-PL3はAVCHDです)。ただ、PENシリーズの動画は、「こんにゃく」という現象(カメラや被写体が早く動くと縦線が歪む)があるようです。これは電子シャッターの性能によるもので解決は困難なようなので、このカメラの動画撮影機能はオマケ程度に考えたほうがよさそうです。

最後に撮影サンプルを載せておきます。いずれも標準ズームレンズ使用(他のカメラとの比較のため広角端)、iAUTOモード、フラッシュ未使用、4022x3024ピクセルLFモードで撮影しています。ただし、FC2ブログの制限により(500KB以下にするため)、アップロード画像は1024x768ピクセルにリサイズしてあります。詳細はEXIFデータを参照してください。
撮影サンプル1
撮影サンプル2

明日から少し、その他の手持ちのカメラを紹介していこうと思います。


テーマ : OLYMPUS PEN
ジャンル : 写真

tag : デジカメ OLYMPUS PEN Lite E-PL3

iOSでのお気軽プログラミングは?

このところ、ポーダブルデバイスで気軽にプログラミングができるアプリばかり紹介してきました。AndroidではBASIC!+SQL, N-08BではSPALMを紹介しましたが、iPod touchには(プログラム電卓以外で)何かいいものがないかと探してみました。ご存知の方も多いかと思いますが、AppleiOSデバイスにおいて、自社製以外のインタプリタ言語の使用を制限(ほとんど審査を通らないようです)しています。このためあまり期待は持てなかったのですが、iOS内蔵のJavaScriptインタプリタを利用する、JavaScript Anywhereというものを見つけました(公式サイトはこちらです)。おそらく、自社製インタプリタを使用しているので許可されたのでしょう。(ちなみにiOSでスクリーンショットの撮るには、スリープボタンとホームボタンを同時に押します。)
JavaScript Anywhere

基本的にHTML+CSSで画面をデザインし、JavaScriptのコードを書く、というスタイルになっています。新規プロジクトを作成すると簡単なメッセージを表示するスケルトンプログラムが作成されますので、これにコードを追加していけば一からデザインするのに比べれば簡単に作れるのではないかと思います。
Script編集画面HTML編集画面CSS編集画面

現在のところプロジェクトは一つしか保存できないようですが、将来のバージョンアップで複数保存に対応することも考慮されているようであり、起動時のプロジェクト選択画面もそれを意識したデザインになっています。現状では新規プロジェクトを作成すると古いものは消去されますが、HTML, CSS, JSの各ファイルをメールに添付できるので外部に保存することはできます。また、Webサイトにファイルをアップロードしておけば、HTTP経由でダウンロードすることもできるようです。
メール送信画面ダウンロード画面

JavaScriptなのでBASICほどお気軽に、というわけにはいかないかもしれませんが、Visual Basicを触ったことのある方ならオブジェクトの扱い方も理解しやすいと思いますので、それほど困難なく使いこなせるのではないかと思います。無料ですし、他にあまりよいインタプリタ処理系はないと思いますので、興味のある方はぜひお試しを…。

本当は白がほしかった…。


テーマ : プログラミング
ジャンル : コンピュータ

tag : Apple iPod touch iOS JavaScript Anywhere

SPALMP - N-08Bがポケコンに!?

ブログのデザインをシンプルなものに変えてみました。

先日Androidでプログラミングを楽しめる、BASIC!+SQLの紹介をしましたが、iアプリでプログラミングができる環境はないのかと探していたところ、SPALMというのを見つけました。いくつかバリエーションがあるようですが、今回はその中からSPALMPというものをN-08Bでダウンロード、インストールしてみました。ダウンロードは携帯端末でこちらのアドレスにアクセスしてください。SPALMは言語仕様としてはCやjavaなどに似ていますが、簡便性という点ではBASICに通じるものがあると思います。データ型としては整数と文字列が使用できるようです(小数が使用可能なバリエーションもあるようです)が、型変換などは意識しなくても良きに計らってくれるようです。
SPALMP

例えば、BASICで以下のようなプログラムと同等の動作は…

10 REM 数字を順に表示する
20 INPUT "最初の数:",A
30 INPUT "最後の数:",B
40 IF B<A THEN C=B:B=A:A=C
50 CLS
60 FOR I=A TO B
70 LOCATE I-A,I-A
80 PRINT I
90 NEXT
100 END

SPALMPではこのように書きます。(' 'の間はコメントになります)
(注:このソースは不等号・スペースに全角を使用していますので、そのままコピペしても動きません)

'数字を順に表示する'
text("最初の数字を入力してください:",10,10,0);  'メッセージの表示'
input();                      'キー入力待ち'
a=inputdlg("0",0);                '入力ダイアログ'
text("最後の数字を入力してください:",20,10,0);
input();
b=inputdlg("10",0);
if(b<a) {
 c=b; b=a; a=c;
}
clear(0,0,200,200);                '描画領域のクリア
for(i=a;i<=b;i++) {
 text(i,(i-a)*10,(i-a)*10,0);
}
input();

ソース編集画面
ソース編集画面

実行するとこのようになります。なんとなく雰囲気が伝わったでしょうか。N-08Bの横長画面に対応していないのが唯一残念な点ではありますが…。
実行画面

作成したプログラムはこのアプリ専用の領域に保存できますが、N-08Bの場合はテキストエディタやブラウザとの間でコピー&ペーストを行うことで、外部とのやり取りが可能です。

SPALM Wikiには言語仕様の紹介や、多くのサンプルプログラムが掲載されていますので、参考にするとよいと思います。
これが利用できればN-08Bはまさにポケコン(ポケットコンピュータ)になりますね。昔、ポケコンやプログラム関数電卓の全盛期だった頃、シャープのPC-1500でよくBASICのプログラムを作って遊んでいましたが、これからはこれが代わりに使えそうです。SPLAM自体は普通のガラケーでも問題なく利用できますが、やはりフルキーボード付きのN-08Bにはもってこいのアプリではないでしょうか。

PC-1500とN-08Bを並べてみました。性能は比較にならないほどアップしているのに一回り小さく薄くなっていますね。
PC-1500 & N-08B

入手困難なポケコン代わりにいかがですか?

テーマ : 携帯電話
ジャンル : 携帯電話・PHS

tag : docomo 携帯 N-08B iアプリ SPALM SPALMP ポケコン PC-1500

SH-03Cをサイクルコンピュータにする

最近運動不足気味なので通勤に自転車を使っているのですが(普通の安い街乗り用のものです)、普通に往復するだけではさほど運動量が増えないので遠回りするようにしています。そうなってくると、ルートや所要時間、だいたいの消費カロリーなどが知りたくなってきます。そのような用途に使えるものとしてサイクルコンピュータがありますが、わざわざ買うのももったいないのでAndroid用のアプリを探してみたところ、Smart Trainingというものを見つけました。これは万歩計などとしても使用できるのですが、モードを切り替えると自転車で使用することもできます。
Smart Training

GPSを用いて概算の走行距離・速度・消費カロリーを表示してくれますし、地図表示やグラフ表示(標高や速度が経時的に表示できます)に切り替えることもできます。
Smart Training地図グラフ

ログデータはスプレッドシートの形式でGoogle Docsにアップロードすることができます。
Google Docs

唯一の欠点はディスプレイをつけっぱなしにできないことでしょうか。画面設定から「バックライト点灯時間」を長くしてやるしかなさそうです。あるいは、距離・速度・カロリーといった数値情報だけならLiveViewで表示させることもできますので、これがあればディスプレイが消えても大きな問題はありません。詳しくは公式サイトをご覧ください。

↓こんなものも欲しくなってしまいますね。LiveViewはリストバンド付きの並行輸入品を使っています。

テーマ : Android
ジャンル : 携帯電話・PHS

tag : Android SH-03C SHARP サイクリング

BASIC! + SQLを使ってみる

Android向けの簡単なプログラム言語を探していて、BASIC!+SQLというものを見つけました。てっきりTiny BASICかと思って見てみると、けっこう本格的な構造化BASICだということがわかりました。また、SQLデータベースの機能や、通信・bluetooth・グラフィックス・音楽・GPSなどAndroidのハードウェアを活かせる機能も豊富に搭載しています。プログラムが完成すれば最終的にはコンパイルしてスタンドアロンのAndroidアプリケーションを作成することもできるようです(PCが必要です)。今日は、このBASIC!+SQLの簡単な言語仕様について、従来のマイクロソフト系のBASICや、Visual Basic(VBと略します)との対比を中心に書きたいと思います。(ZiiOおよびSH-03Cで動作を確認しました)
BASIC!+SQL
グラフィックサンプル

1. データ型と変数
データ型は数値型と文字列型の2種類となります。従来のBASICと同様、変数名に"$"を付けると文字列型になります。なお、ユーザー定義関数(後述します)内の変数はローカル変数となりますが、それも含めすべて(配列以外は)宣言は不要です。また、予約語から始まる変数名は原則的には使用できません。
小数を定数として記述する場合は必ず"0"をつけて"0.15"のようにしてください。".15"ではエラーとなります。また、Print文(後述します)で数値を表示すると通常は小数点下1ケタ表示("**.0")となります。表示形式を変更したいときは Format$関数(後述します)を使用します。
文字列定数は""で囲みますが、中に"を含めたいときは \" と記述します。
配列は Dim文で宣言しますが、表記は A(10) でなく A[10] のように、[ ] で囲みます。Option Base文は使用できず、配列の添え字は常に1から始まります。多次元配列も可能ですが配列ひとつ当たりの要素数を10000以下にする必要があります。配列に対しては統計処理、ソートなどのデータ処理を行えるステートメントがあります(また後日書きます)。配列を削除するには、Erase文の代わりに UnDim文を使用します。
Bundle, List, Stack などのデータ構造と、それにアクセスするポインタの概念があります(また後日書きます)。

2. コメント
! で始まる行はその行が1行コメントとなります。
!! で始まる行ではさまれた範囲は、すべてコメントとなります。
行中の % があると、それ以降はコメントとなります。

3. 論理演算子
if文などの条件として使用する場合は、Not の代わりに !、And の代わりに &, Orの代わりに | をそれぞれ使用します。
数値同士を論理演算する場合は、Bor関数、Band関数、Bxor関数を使用します。いずれも2つの引数を論理演算し、結果を返します。

4. 文字列操作関数
通常のBASICの ASC関数に相当するのが Ascii関数、Instr関数に相当するのがIs_In関数となります。
Is_In関数の書式:Is_In(探す文字列, 対象文字列[, 開始位置])

5. ユーザー関数定義
ユーザー関数は下記のように記述します。
Fn.def 関数名(変数1,変数2…)
  …
 (処理)
  …
Fn.rtn 戻り値
Fn.end
基本的に引数は値による呼び出し(VBでいうところの byval)になりますが、呼び出し時に引数の前に&を付けると参照呼出し(VBでいうところの byref)になります。ただし、引数として配列全体渡すときは常に参照呼出し(byref)になります。参照呼出しの場合、関数内で値を変更すると元の変数の値も変わります。例えば、test(&A,B)という形で関数を呼び出すと、第1引数として指定された変数の値が関数内で変更された場合、Aの内容がその値に変更されます。
関数の戻り値が不要の場合は Call文を使います。Call 関数名(引数…) とします。
BASIC!には通常のサブルーチンもありますが、引数やローカル変数が利用できることを考えると、関数を用いたほうがよいと思います。

6. If文
VBとほぼ同じです。If ~ Then ~ Elseif ~ Endif が使用できます。注意点として、従来のBASICと同様な記述方法で Then の直後に代入文を置く場合、必ず Let文を入れる必要があるとのことです。GoTo文の引数に数式を与えることができるようになっているのでしょうか。(余談ですが、SHARPのポケコンPC-1500も、GOTO文の引数に変数や式が使用できました。このため、THENの直後に代入文を置く場合は LET文を使用しなければなりませんでした。そうしないと、"A=10"などという記述が、Aの値が10かどうか、という論理式として評価されてしまい、その値にジャンプしようとしてエラーになってしまいます。)

7. For~Next文
従来型BASICやVBとほぼ同じく、For ~ To ~ Step ~ Next の形式で使用できますが、ループを抜けるとき F_n.break文を使う必要があります。

8. その他のループ
While ~ Repeat はBASIC, VBの While~Wend と同じですが、ループを抜けるとき W_r.break文を使います。
Do ~ Until はVBの Do ~ Loop Until と同じですが、ループを抜けるとき D_u.break文を使います。

9. ジャンプ・サブルーチン
ジャンプ先としてはラベルを使います。ラベルの形式はVBと同じで、行頭から始まり":"で終わる文字列です。ジャンプ先として指定する場合は":"の手前までを""で囲まずに指定します。
GoSub文はBASICと同じです。ラベル:~Return までを実行し、呼び出し元に(GoSub文の次に)戻ります。
GoTo文もBASIC, VBと同じで、単に ラベル: へジャンプします。
OnError: というラベルは、エラーの時にジャンプします。On Error Goto などの宣言は不要です。
OnBackKey: というラベルは、「戻る」ボタンを押すとジャンプします。

10. Switch文
VBのselect ~ case ~ end select に似ています。以下に対比を示します。
select case 式 → Sw.begin 式
case 式 → Sw.case 式 ~ Sw.break (Cなどと同じで、break しないと次の case を実行してしまいます。)
case else → Sw.default
end select → Sw.end

11. EndとExit
End文で実行終了しますが、Exit文ははBASIC!のシステムからも抜けてホーム画面に戻ります。

12. 画面・キー入出力
画面に数値や文字を表示するには Print文を使用します。書式はBASICとほぼ同じですが、出力フォーマットを指定するには Using の代わりに format$関数を使用します。
テキストを入力するには Input文を使用します。これもBASICとほぼ同じで、Input "プロンプト", 変数, デフォルト値 という書式で使用します。変数は一つのみしか指定できません。ダイアログが開いて入力可能な状態になりますが、「戻る」ボタンでキャンセルするとエラーが発生します。その場合、OnError: ラベルが存在しないとプログラムの実行は停止します。
Text.input 文は Input文に似ていますが、大きなウィンドウが開き長いテキストの編集に向いています。Text.input 変数, デフォルト値 の書式で使用します。プロンプトは表示できません。
Tget文はターミナル風の入力画面を開きます。Print文などで出力されたコンソール画面が開き、その画面で入力を行います。Tget 変数、プロンプト の書式で使用します。
Kb.show でソフトウェアキーボードを表示、Kb.hide でソフトウェアキーボードを非表示にできます。
Inkey$文はBASICの INKEY$関数と同様、キーコードを取得します。書式は Inkey$ 数値変数 とします。

プログラムをロードするにはメニューの"Load", 実行するには"Run", 保存するには"Save", クリアするには"Clear"をそれぞれ選択します。豊富なサンプルプログラムも含まれていますので、いろいろ遊んでみてはいかがでしょうか。今日の内容で、BASICやVBでプログラミングの経験のある方はだいたい感じがつかめたと思いますが、詳しくは添付のリファレンス De_Re_BASIC_.pdf をご覧ください。また機会があれば分野別に機能の解説もしていきたいと考えています。

テーマ : プログラミング
ジャンル : コンピュータ

tag : Creative Android ZiiO タブレット SH-03C SHARP BASIC

ZiiOでEvernoteを使ってみました

メモ、画像、音声、文書、メールやwebページのクリップなど、様々なデータをクラウド上で整理して管理できる、Evernoteというサービスがあるのはご存知の方も多いかと思います。私はこれまで名前程度は知っていましたが、正直あまり関心を持っていませんでした。でも、いろいろ調べてみると、これはけっこう使えるかも、と思い、PCやZiiOにインストールしてみました。PC版は公式サイトから、Android版はマーケット改めGoogle Playからダウンロードできます。ZiiOにインストールするには、これまでと同様SH-03CでダウンロードしてASTROでバックアップという方法を用いました。
Evernote
ノート

ZiiO内蔵カメラによる写真撮影は問題なく動作しました。ボイスレコーダは録音状態には出来ましたが、再生可能なソフトが入っていないため聴けません。また、アップロードしたものをPCで再生してみましたが、長さなどがきちんと認識されておらず、正しく再生できませんでしたので、ZiiOで使用するのは厳しいようです。音声録音機能を使用したい場合は、ZiiMicrophoneを用いて録音し、ZiiExplorerで"/sdcard/Recorded"フォルダを開いて録音ファイルをEvernoteに送信するしかないようです(この場合はAAC形式の添付ファイルとして保存されます)。
Recordedフォルダ
AACの添付ファイル

Evernoteをインストールすると、各種アプリケーションの「共有」メニューにEvernoteが追加されます。
ブラウザの例(「共有」メニュー)
ブラウザ

ZiiExplorerの例(「送信」メニュー)
ZiiExplorer

EvernoteにはSkitchという手書きメモソフトと連携する機能があります。残念ながらWindowsでは使用できませんが、Androidでは利用可能なので、こちらもダウンロード・インストールしてみました。
Skitch

Skitchを使うと、写真などに文字やイラストを書き込んでEvernoteにアップロードできます。保存したものはPCなどからも参照できます。保存形式はJPEGのようです。
Skitchが保存されました

このように、EvernoteはZiiOでは一部制限はありますが、ほぼ問題なく使用可能です。仕事に、プライベートに、活用の幅が広がりそうですね。

※本サイトで紹介する内容は、すべて個人的研究の範囲内で行っていることです。ここに書かれた内容を実行したことによる、データ(クラウド上を含む)・ソフトウェア・ハードウェアの障害および金銭的損害について、私が責任を負うことはできません。重要なデータはあらかじめバックアップを行い、内容を十分に理解したうえで、ご自身の責任の下で行ってください。


テーマ : Webサービス
ジャンル : コンピュータ

tag : Creative Android ZiiO タブレット Evernote Skitch

N-08B おすすめiアプリ

以前紹介したdocomoのフルキーボード付きガラケー、N-08Bにいくつかiアプリを入れてみたので紹介します。

1. jigtwi
Twitterクライアントですが、N-08Bの横長画面にきちんと対応しています。画面も見やすいですし、フルキーボードを活かしてつぶやきまくるのもいいかもしれませんね。
jigtwi

2. mobical
なんと、googleカレンダーと同期可能なカレンダーアプリです。N-08BはPOPアクセスでGmailも利用できますので、これを入れることでPDA的な利用方法についてはかなりスマホに近づくのではないかと思います。
mobical

3. mojiedit
テキストエディタアプリです。N-08Bにもテキストエディタが内蔵されていますが、長いテキストを右端で折り返して表示することができず、非常に視認性が悪い場合があります。mojieditならきちんとテキストを折り返してくれますので、本格的に長い文章を書く場合には重宝するのではないでしょうか。ただし、このアプリは月額課金(100円/月)ですので、私の場合はメモが取れればよい程度と考え内蔵テキストエディタを使うことにしてしまいました。月額でなく一括払いならそのまま利用しようかとも思ったのですが…。
mojiedit

N-08Bを買ってから、それまではあまり見向きもしなかったiアプリを色々検索するようになりました。EvernoteなどN-08Bに対応していないアプリが結構あるのが残念ではありますが、iアプリもなめたものではないなと思いました。また面白いものを見つけたら紹介したいと思います。なお、PCからiアプリを検索するにはdマーケットアプリ・ナビアプリゲットなどが利用できます。


テーマ : 携帯電話
ジャンル : 携帯電話・PHS

tag : docomo N-08B 携帯電話 iアプリ

イチゴ狩りに行ってきました

今日は今までのマニアックなお題から離れて、普通の日記です。

今日はイチゴ狩りに行ってきました。今日行ってきたのは、静岡市の久能海岸というところにある「石垣イチゴ」とよばれるイチゴです。非常にたくさんの観光農園があり、午前中であまり遅くならなければ予約などしなくても余裕で食べられます。一般的にイチゴは普通の土の畑で栽培されていることが多いのですが、この石垣イチゴはその名の通り丘の斜面に石垣を作り、そこにビニールハウスを設けて栽培されています。静岡市の気候は非常に温暖で、そのうえ日当たりのよい斜面で栽培されていることもあり、かなり大粒であるうえ甘くておいしかったです。
久能海岸地図

こんな感じでビニールハウスの中でたくさん実っています。
石垣いちご

これまで何度か行ったことがあるのは岐阜県の関ヶ原にあるイチゴ農園です。こちらも何か所も農園がありますが、久能海岸に比べると数は少ないので、ちょっと出遅れてしまうともう食べられなかったりします。こちらは普通の畑でしたし久能海岸よりは小粒でしたが、広い畑で自由に食べられて開放的な感じで楽しかったです。
関ヶ原地図

イチゴ狩りはこれからまだまだ5月上旬までは楽しめると思います。気候もよくなりますし、出かけてみてはいかがでしょうか。

↓石垣栽培ではないようですが…

テーマ : 東海地域情報(愛知・岐阜・静岡・三重)
ジャンル : 地域情報

tag : イチゴ狩り 静岡 関ヶ原 岐阜 久能海岸 紅ほっぺ

アクセスカウンタ
カレンダー
03 | 2012/04 | 05
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 - - - - -
最新記事
最新コメント
リンク
カテゴリ
楽天お勧め商品
検索フォーム
Kyoroのつぶやき
FC2掲示板
ブロとも申請フォーム

この人とブロともになる

RSSリンクの表示