パームウェア配布 (隠しページ)

Toshiya Fujii

はじめに

昔々、あるところにソフトウェアを書くアライグマがおったとさ。アライグマは、毎日、川でジャブジャブしていたところ、川上から、どんぶらこどんぶらこと、パームパイロットが流れてきたとさ。お家に持って帰って食べようと、半田ごてをあてると、パカッとSDKが生まれましたとさ。アライグマはこれ幸いとこれでプログラミングを始め、たくさんのパームウェアを作成しましたとさ。流行に目ざといアライグマはドメインってのも取り、そこで公開して大金持ちになりましたとさ。それで、飽きっぽいアライグマは、そのうちドメインをエクスパイヤさせてしまいましたとさ。

冗談はさておき

Araiguma.comはなくなりました。面白かったけど、別に、未来永劫、アライグマでもないなあと。っていうか、一度エクスパイヤしてまた取り直したりはしたけれど、前と同じコンテンツおいても仕方がないとおもって放置している間に、もお、いいやって感じでしたね(笑)。その間に、パームOSの開発本をかいたり、パームマガジンに連載記事を書いてパームウェアをちまちま隔月で作っていたというわけで、まあ、何かを発表しなければという強い欲求がなかったということなのです。なんやかやで、パームマガジンは全部で15回かな?正式アナウンスはないけど、休刊っぽいので、もう作ることないのですが、自分用のパームウェアは、ほんのたま〜に、ちょこっと改良したりもします。そういうのを発表(もしくは配布)する場所ってのを作ろうというのが、ここの趣旨です。

隠れパームウェア集なのだ

隠れってこともないのだけれど、他では絶対配布していないパームウェアです(あたりまえ〜)。体系的に書くわけでも、作った全部を載せてるわけでもありませんので、あしからず。尚、使用にあたっての不具合やなにが起こったとしても、免責ってことでよろしく。これらは全部フリーウェアです。でも、再配布も禁止です。

ドロースコット

元々、パームはお絵かき系のアプリケーションは標準には付いてなかったのです。それで、作ったのがPicMemoだったわけです。これは、Doodleというフリーでソース配布されてたパームウェアを元にベクター形式のお絵かきツールを作ったわけです。DoodleはGPLだけど、完全に書き直したのでGPLには抵触しません(念のため)。あ、そういや、Doodleがルーツのお絵かきソフトはいっぱいあります。DiddleBugやBugMe!もそうだし、瀬古さんにPicMemoのソースあげたのでPenPenとかも、そうだな。何故、ベクターベースなのかというとビットマップ形式だと、160x160で1ページ2KBのメモリ(パームではデーターベース*1)が必要になるんですね。あと、無限回のアンドゥも可能になります。いまでこそパームも8MBとか積んでますが、初めは128KBだし、僕が買った最初のパームは1MBしかなく、それが、ベクターベースにすると(ストローク数によるけれど)平均して1ページ1KB未満で済むという分、アドバンテージがあったのでした*2(過去形)。まあ、そんな感じで、結構人気あったパームウェアで、パームギアでも結構なダウンロード数ありましたね〜。そのうちビームに世界で初めて対応したお絵かきソフトであるPicMemoIRをリリースしました。まあ、そんなこんなで、カラーパームが出たのを記念して、カラー対応のドローソフトを作ろうと、そして、パームのデジタイザ性能が悪い*3のでなんとかしようと内部構造から変えたのがアライグマドローです。ペンの種類を増やしたり、スクロールできるようにしたり、カラーペンが選べるようにしたのですな。あと、ライブラリ化*4したってのもあります。ライブラリにすると、たくさんのアプリケーションで使いまわしできるんですね。つまりは、いろいろ野望があったのですが、もろくも崩れ去ったのであります。で、つかっていく間に、カラーいらないや〜とか、スクロール機能もいらないな〜とか、かりんさんの要望を入れて消しゴム機能*5をいれたりということで、ドロースコットが出来上がりました。スコットというのはちなみにサンダーバードの長男の名前です。日本名はドロー太郎です。マニュアルはなくっても使えるでしょう。ただ、隠し機能としてガラフィティエリアで数字を書くとそのページに飛びます(例えば、009と書けば9ページ目)。その他に、「s」を書くと細い線、「w」を書くと太いペンになります。卵*6をタップするとNEWページなのですが、表示エリアにドラッグするとページインフォになります。ここにタイトルを書くとグローバル検索の対象となります。ロックとかの設定もここだね。最近はc505をメインに使うようになったので、デフォルトは細い線にしました。

ダウンロードする。(ライブラリとアプリケーションの両方をインストールしましょう)

註1:NewtonOSでは同じような概念にスープという造語を使ってます。PalmOSではデータベースというまぎらわしい用語をつかってますが、それで混乱してる人が多いような気がしますね。

註2:ベクターベースだと、たとえば、「大」という字を書くと3ストロークで、サンプリングレートにもよりますが、100バイトくらいに収まるのですが、ビットマップ形式だと、一画面分のサイズが必要になりますので、省メモリになります。プログラミングでのこれの欠点として、どれくらいのストロークバッファを用意しておけばよいかが事前にわからないことがあります。PicMemoはその制限を割りと少なめにしたため、どの程度まで描けるかはパーセンテージを表示していました。同じ工夫は瀬古さんのPenPenにも受け継がれていますが、ベクター形式はデータに比例して描画が遅くなるので、その辺は設計上のバランスになります。尚、ドローにおいては、その制限をほぼ撤廃しました。心ゆくまで描いてもらえます。

註3:パームのデジタイザ性能の悪さは他のPDAから見ると段違いに悪いってのが昔からの伝統のようです。デジタイザは抵抗膜式のアナログなので、ここに液晶やインバータ、回路からのノイズが入ってくるのですが、この対策がハード的にはまったくされていないので、お絵かきソフトをつかって線を引くとまっすぐ引けないのにいらいらします。これは、ソフトウェア的にローパスフィルタを通せばある程度直ります。Doodleというソフトはフィルタなしから5タップのフィルタまで明示的に用意してありますが、PicMemoは3タップのフィルタのみです。アライグマドローでもいろいろとがんばって、色々工夫しています、その一つは、思い出したので書いておきますが、最初に線を描き出す時のスピードによってフィルターの係数を変化させています。つまり、ゆっくり描き出すときは、正確に描きたいので、フィルタは多目、早く描き出す場合は、フィルタ処理で書き味が落ちるよりも、フィルタ処理を少なくしてしまうってことです。(これは前に、とらみんさんにも話したことがあるアルゴリズムです。特許性はあるけど、ここにかいちゃったのでもう公知の技術になりました。笑い)ということで、パームではアライグマドローがもっともバランスのとれた書き味かな。ちなみにクリエのTH55は非常にノイズの少ないデバイスに仕上がっているのでお絵かきには最適です。

註4:ライブラリにするとそのAPIを使うと、どのアプリケーションからも簡単にその機能が使えます。ドローライブラリを使うと、自由な縮尺で絵を表示できたり、グリッドにスナップするモードにできたりと、いろいろ出来るのですが、いまのところ、そのAPIは公開していません。ご要望が多いなら考えなくもないのですがね。(笑)

註5:わかばパームのときにDiddleBug使いのかりんさんが講師?として来てたのですな。そのとき、消しゴムがなかったら絵は描けませんときっぱりおっしゃってました(笑)。アライグマドローの消しゴム機能は消しゴムというよりは、ホワイトを乗せるというメタファに近いですが、消しゴムのようにごしごし消せます。

註6:アイコンっていうのは、解りやすそうで解り難い。そのよい例がNEWボタンです。これを上手く絵で表現するのは大変むずかしいです。これは新規に何かを作成するという抽象的な行為を具象的に現すものってのがないからです。大抵は白紙の書類をアイコン化していることが多いでしょうか。こういうものは素直に文字で書く方がいいのですが、天邪鬼にも、絵で描いてみたのです。それが、タマゴです。これをタップすると鳥が生まれてというのは、結構、いい線いっているのではと自画自賛っす。

フィッシング

最近、はやってるフィッシング詐欺じゃなくって、釣りゲームです。ちょっと前のおもちゃに、釣竿のグリップとリールの部分と小さな液晶画面だけがあって、振り下ろすとキャスト、魚が掛かり、リールを巻くと魚が釣れるというのがあり、それにインスパイヤされてつくったやつでした。最初は、PalmFishingという名前でしたが、デベロッパーに対してパームが商標にうるさく*1いってきたので、アライグマフィッシングに改名されました。これは、ぱ〜む脱力ゲーム協会*2(なつかし〜)の認定をうけたゲームでしたね。その後も脱力協会禁断のカラー化したり、バイブレーター対応や、オーディオドライバ*3対応したりしましたが、現在、バイナリは、パームギアには残ってるかもしれません。このゲームは単純すぎて、ボーっとするには最適です。何人かには、「これ、10匹以上釣ったら、でかい魚でてくるんですよね?」とか言われましたが、そういう機能は全然ありませんから〜。残念!ダツリョク斬りぃ。

ダウンロードする。

註1:ある日、パーム社から全てのデベロッパーにパームという単語は使っちゃいかんという趣旨のメールを送りつけてきたのですね。これは万年筆のパイロット社から商標で訴えられて負けてしまったかなんかで、これまでつかっていた商品名のパームパイロットから、パームに変更を余儀なくされてしまっていたことから、商標の大事さに目覚めたわけでしょう。ソニーのウォークマンがそうですが、一般に使われるのを黙認してしまうと、商標権がなくなってしまう事態に陥ってしまうことになるので、仕方のないことなのですが、代わりに使えと言ってきた名称が○○○ for Palm OSでした。長すぎっ。

註2:一時期はパーム界に旋風を巻き起こした?脱力をふりまいたサイト。会長さんはいまごろどうしているんだろ〜(笑)。ここで、認定されると脱力バッチがもらえます。ここはゲームに限定せず、脱力パームウェアやハードを世に広めようとしていました。認定されたものには、ru0さんのパーム君1号や、ABAさんのへたれ時計といった名作がありましたし、ハード部門では、サナイたちががんばってましたね。

註3:昔、FocV ProjectでリリースしたPCM音声モジュール。OS4までなら動きます。パームは基本的にはビープ音だけなんだけど、これをPWM駆動させて音声が出せるようにしたもです。ライブラリにすることも出来たのですが、音声はストリームなので、ドライバにするのが正しいなあと、ドライバ化しました。それなりに反響がありましたが、全てのデバイスに対応できるわけでもないし、元々、ビープ用のスピーカーでは音質もある程度以上は期待できないし、OS5ではサウンドマネージャが拡張されて役目は終えました。まあ、OS5のソレはバグバグだったんですけどね。まあ、それは別の話。

過去表

アスキーのパームマガジンにしばらく書いていたのですが、毎回、サンプルアプリケーションを作るのに四苦八苦してました。過去表はそんななかの一つですね。ボリューム17に収録されています。これは、パームの予定表の補完的なアプリケーションになります。予定に対する過去ってことで過去表。そういえば、書き上げた後に、アスキーの編集が、その名前はまずいとか言ってきましたね。なんでじゃ?ってよく聞くと。そりゃ過去帳やんけ!(笑)。まあ、何をするアプリケーションかというと、予定表に入れた過去のイベントを一覧するというものでした。この回の題は「標準PIM置き換えアプリケーションへの道」ですが、標準の予定表を置き換えるアプリケーションってのも何個かあって、この過去表の機能を含んでるものもあるのですが、僕は、別アプリで標準の予定表を補完するコレが性にあっています(あれ?もしかして記事の趣旨とずれてる?笑)。CDに添付していたソースは、サンプルなので基本機能だけなのですが、現在、僕がつかっているものは、アラーム表示とかをビットマップ表示にかえたり、上下ボタンによるスクロールをページジャンプ、ページ単位、1行単位に変えられたりする機能が追加されています。また、イベントをダブルクリックすれば、予定表のその日に飛びます。元々、IndexView*1というアプリケーションがあって、それをつかっていたのですが、バージョンアップもなかったし、自分でつくるかな〜というのが、連載時だったので、これをサンプルアプリケーションにした理由です。ちなみに、この連載はこのサンプルソースコードを使って商用を含めたどんなアプリケーションを作ってもいいということになっておりBSDライセンスに準じています。ところで、誰か、この連載のサンプルを元にしてパームウェア作った人いるのかなぁ。

ダウンロードする。

註1:いま、チェックしたら、昔フリーウェアだったこれ5ドルのシェアウェアになってましたね。Steven Shelikoffって人の作品でした。このアプリは、シェアウェアになって、時間指定付き、時間指定なし、全ての表示ができるようになっていますね。

ルーラー

パームの液晶画面は機種によって大きさもマチマチです。画面でラインを引いても物理的な長さが機種毎に違ってしまうのは当たり前です。ということで、パームの画面上に定規を作ってしまおうというのがこのルーラーです。これを作るには、機種ごとのドットピッチをデータベースとしてアプリケーションに持っておく必要があります。ま、それをどうもつかが問題なのですが、液晶のドットピッチは諸元として仕様には公開されることは稀なので、実際に、発売されたデバイスで測り、アプリケーションに追加する必要があります。つまりは、発売される毎に、ちまちまバージョンアップしていったのですね。最新版はクリエのVZ90もサポートしていますが、日本で発売されてない最新の機種*1は歯抜けになっています(まあ、しょうがないかな)。このパームウェアは画面下のスライダを動かして、パームで物理的な任意の長さを測れますが、メニューにもコインの大きさやメモリカードの大きさを知ることなどや、4:3や16:9といった縦横比を変えることも可能になっています。尚、あなたのパームがサポート外でも、問題ありません。メニューのOptionでCalibrate ModeをONにして、変更すれば正確になります。やり方は、モードをONにして、でてくる(<--)ボタンや(-->)ボタンで微調整し*2、Calibrate ModeをOFFすればよいです。尚、そういったばあい、(Device?)ボタンで出てくる情報と、微調整のときに中央にでてきた数値を、メールででも送ってもらえれば、バージョンアップしますのでよろしく*3

ダウンロードする。

註1:昔、アメリカにいたときは、日本の機種がなかなかサポート出来なかったし、今は。アメリカの機種がサポート出来辛い状況です。ほとんどは大丈夫なのですが、いまのところ、Treo600とか、ZodiacとかTT3以降は実物みたこともないので、サポート外ですね。まあ、最近は、新製品が出るペースは非常に遅くなっているので、90%以上はサポートと書いてもいいんですが、売り物でもなんでもないので、そこまではしません。

註2:モードをONにして一度ボタンを押すとボタン自体の表示は消えてしまいますが、ボタンはモードがOFFになるまではそこにあるので、位置を覚えてその辺りをタップしてください。

註3:これまでに、何人かから、ワシのパームじゃ正確じゃありませんメールを貰ったことがあります。こういったメールを出すのは大抵アメリカやヨーロッパの人がほとんどですね。この手のメールで対応機種を増やしたのは3つくらいあります。あと、ユーロ通貨がオブジェクトメニュー内にあるのは、そういった要求メールがあったからだったりします。ほかにも、分度器機能をつけろだとか、誤差をなんとかしろだとかいう無理難題メールもありました。分度器機能は、まあ、別アプリで、暇になったら作りますといなしましたが、誤差の方は、根本から作り直しになるので勘弁してもらいました(笑)。

パズランチャー

久しぶりの新作アプリです。2005年の4月末にアイデアが浮かんで、骨格は直につくった*1のだけれど、バグをとって、安定して動かすまでに1ヶ月かかりましたよ〜。腕おちてるね。ふぅ。要は並び替えカスタマイザブルなランチャーです。ランチャはリリースできたのでは3つ目*2です。カスタマイズするには普通はモードという概念が必要になります。つまり、実行モードの他に編集モードが必要で、そのモードで並び代えなどをする訳です。でも、このパズランチャーにはモードはないのだよ。えっへん。種明かしは、ピースが一つ空いていることなのです。アイコンのあるピースをこれを利用してスライドして位置を変えることが出来るし、ダブルクリックで起動もできるんだよ〜。すごいねっ、って、つまりは箱娘や15パズルと同じ原理っす。でも35枚のピースなので35パズルかな。ランチャーの基本的な機能は、時間表示やバッテリー残表示など網羅されているし、不必要なアプリはメモパッドにクリエイターIDを書くことで非表示にできます。また、下ボタンでアイコンを選択し、上ボタンで起動できる機能もあります。つまり、上ボタンに簡易的なアプリ割付できるわけです。あ、アプリ削除とか、そういう機能はないので、標準ランチャでやってくだされ。標準ランチャは、ロケットのアイコンをダブルクリックで起動できます。そういや、ホームボタン(ランチャボタン)は勝手にパズランチャーに設定されますが、メニューからリセットできます。あと、メモパッドのサンプルもメニューから生成できますよ〜。

ダウンロードする。

註1:直も何もパームのサンプルでつけてあるソースコードに15パズルがあるんですよね。こいつをちょちょっと拝借したのでした。このサンプルは結構柔軟に作ってあって、縦横のピースの数は自由に設定できるし、なかなかなもんです。

註2:パームの標準ランチャには、色々と不満があったので、作ろうと思い立ったのは1997年で、ワシなら、もっと使いやすくと息巻いて作ろうとして出来たのがKeyLauncher(確かそんな名前だったよな)でした。これって、大山鳴動ねずみ一匹的になってしまった典型です(わらい)。上下キーでたった一つ表示されるのアプリを選び、メモボタンかなにかを押すことにより起動するっちうやつでした。その頃って置き換えランチャはほとんどなかったので、メリケンのどこかのサイトがレビューしていて酷評もらいましたよ(わらい)。これに奮起して、マックのファインダーにおとらんやつを作っちゃろうとして、また、あえなく挫折(x_x)。それからしばらくたって、トラミンさんのクリスマスツリーの補助アプリとしてシルクスクリーンアプリのクリスマスランチをつくり、トラミンさんと同時にリリースしました。もっとも、これは、クリスマスツリーしか起動できません(わらい)。次には、TG50などのフルキーのある機種用に、キー一つに一つのアプリをバインドし、キーのダブルクリックで起動できるランチャの作成に取り掛かりましたが、途中経過をトラミンさんに見せただけに終わりました。たぶん、それで満足したんですね〜。で、このパズランチャーです。

− Copyright (C) 2005 Toshiya Fujii All rights reserved.