-----------------------------
■ voice
  - or how'bout talkin' on pda? -

-----------------------------

  ・ ・ ・ voice '02.05. ・ ・ ・

      ---

新コマンド - 2002.05.29

944さんのアイコンエディタ、すごいですね。ソースもいろいろと勉強になります。
新コマンドやテクニックをさくっと調べてみました。ただ本当にさくっと調査しただけなので、間違い勘違い等あればご容赦を。


SAVEBITMAP file,x,y,w,h,m
ビットマップ画像を保存します。x,yが保存画像の開始位置(左上角)、w,hが縦横幅、mが色数のモード(ビット数)で16,24などを指定・・かな?

SORT ar,s,e
配列arの要素を昇順に並べ替えて、格納しなおします。並べ替えの対象とする範囲を、s(開始位置)とe(終了位置)で指定できます。全要素を並べ替えるには、sに0、eに配列の要素数-1(=DIM 文で宣言したときの値)を指定します。

FILESEARCH str,ar
文字列strで指定したパターンに一致するファイルを検索して、配列arに格納します。パターンには、ワイルドカード(*)を使用できます。見つかったファイル数は、関数GETREADCNTで取得できます。

GETREADCNT
FILESEARCHの実行後、見つかったファイル数が返ります。

--

新コマンドもさることながら、おぉっと思ったのが、POINTの返り値からRGB値を引き出す手法です。POINT関数は、指定した座標の色を返すのですが、0〜65535の値が返るため、COLORFGなどにそのまま応用することはできません。
・・・実はリファレンスマニュアルのPOINTの注意事項を書いているときに、このことが頭をよぎったのですが、944さんにうかがうつもりで今日まで失念していました。それが、思いがけず疑問氷解。

REM 944BASIC 'SAMPLE - POINT'
FOR I=0 TO 20
COLORFG (RND+TIME)%160,(RND+TIME)%160,(RND+TIME)%160
BOXFILL (RND+TIME)%240,(RND+TIME)%240,(RND+TIME)%240,(RND+TIME)%240
NEXT I
*LOOP SYNC
IFBLK (PEN=3)
X=PENX:Y=PENY:C=POINT(X,Y)
R=INT(C/2048)*8
G=(INT(C/32)%64)*4
B=(INT(C/1)%32)*8
COLORFG R+32,G+32,B+32
PAINT X,Y
ENDIF
GOTO *LOOP

なんてすれば、四角形をペンタッチすると(正確には、ペンタッチしてペンをはなすと)、少し明るい色で塗りつぶされることになるわけですね。

      ---

旧機種 - 2002.05.27

うちでは944BASIC 5/24版を不自由なく使えていて、944BASICの掲示板でのリセット要求の話を不思議に思っていました。MI-E1を使っているので、図らずも問題が発生しなかったようですね。ともあれ、5/26版がリリースされて何より。

最近は、リファレンス用にサンプルをぼちぼちと作っています。そうそう、IFBLK文も追記しないと。

      ---

お返事モード - 2002.05.23

Keiさん、いつもレビューご苦労さま&ありがとうございます

そういえば、以前より水滴を出現しやすくしたです → rain。
水滴の表示自体は前からあったのですが、出現率が低かったり、背景の関係で見えなかったりしていたのでした。
自分でいうのも何ですが、rainはものすごく低レベルなプログラムで、944BASICの描画の速さで成り立っているようなしろものです。腕のある人が雨ふりプログラムを作るとどんなのができるか、見てみたいもの。
--
まだまだ完結していません → 『十二国記』。
僕はwww.さとなお.comというところでこのシリーズを知りました。ここで紹介されている本は、僕の好み/評価と一致しないことも多く(一致するのは半分くらいかな。もっともサンプル数は少ない)、半信半疑で読み始めましたが、今回は個人的には当たりでした。
BSの放送は未見ですが、キャラクター構成は相当異なるそうな。

      ---

ハンシチアン - 2002.05.23

青空文庫でついに、『半七捕物帳』が全作そろった。

執筆順に読み進めていこうと考えていたのだが、青空文庫では2作目と4作目が長らく空席のままだったのだ。「62作目がまだ」とかいうなら頭の方からじわじわ読んでおけばよいのだが、2作目、4作目ではまさに出鼻をくじかれていた感じ。
しかし、そんな不遇を託っていたのもこれまで。これからはハンシチアン目指して精進する所存であります。

最近TTV BookReaderの使用率が下がっていた・・・というのは、もちろん944BASICに明け暮れていたからなのだけれど、ここにきてTTV BookReaderの使用率が急激に挽回してきそうな気配。もっとも944BASICの使用率が減るとも思えないので、ザウルスの1日の使用時間が跳ね上がることになるのだろうな。
青空文庫では鏡花もだいぶ増えたし、海野十三が一作追加されているのも嬉しい(戦後の少年ものなのがちと残念だけど)。海外作品も読みたいものがたまっている。

ところでしばらく更新期間が空いていたのは、小野不由美の『十二国記』一気読みという無茶というか至福というか、そんなことをやっていたからです。すっかり読書モード。

      ---

アップデート - 2002.05.19

今まで公開してきたプログラム(除、テロップ)に、ヘルプファイルとアイコンを追加しました。内容には大きな変化はありません。まったく変更していないか、本当にマイナーチェンジのみ。
もっとも、rain だけはそれなりにいじっていて、バージョンを1に上げています。それ以外はバージョン番号を変更していません。アイコン等がなくて寂しい、というのでなければ特にダウンロードしていただかなくても大丈夫なくらいです、ハイ。

また、ファイルが3ファイル以上になるため、圧縮形式でのみ公開する方針に変更しました。LZH形式とZIP形式。LHa for ZaurusとUnzip for Zaurusで展開可能なことを確認しています。

      ---

あれこれ - 2002.05.16

仕事が片づきました、やれやれ。
あらためて考えてみると、944BASICの5/7版をやっと落ち着いて試せるようになったような気がします(リファレンスのサンプル検証は最新版を使っていますが)。

さて、APLコマンドの挙動が若干変わったとの話なので、MP3再生のスクリプトを試してみました。なるほど、MP3の再生→画面オフはできるので実動作には問題ないのですが、BASICアプリ自身を終了できません。
SETPENコマンドで自アプリをタッチ(自アプリのアクティブ化)すれば終了できるのですが、それをすると画面が点灯してしまい、元も子もありません。もう少し調べてみたいと思いますが、自分の中ではとりあえず、これでよしとしておきます。

--

ときに、KeiさんのMOREの新リリースを試してみました。
まうすけでペン座標の記録が(あわよくば再生も)できればいいなー、と思ってしまいました。拙作(KALOREC1.BAS)で座標の記録をやっているのですが、やはりいささか苦しいもので。
一方のらんちゃらんちゃのヒストリ機能、至極便利です。僕の使い方には、すこぶるフィットします。もちろん9Bアプリを直接たたけるランチャとしても希有な存在。今後登場するであろうNSファンクションも強力そうです。

らんちゃらんちゃといえば、CommAさんのところでキー操作専用ランチャ(らんちゃらんちゃらん・・・以下略)が公開されていて、なるほど、と思いました。944BASICでランチャ作成というと、僕はつい全画面でビジュアルに凝ったものをと考えてしまいます。しかし、ビジュアルやUIをそぎ落とすという方向性があった。

僕の方では、LOAD系コマンドの制限があることから、ランチャ作成は現在ペンディングの状態です。しかし、計画として
 1.アルファベットキーでダイレクト起動、
 2.BASICアプリも起動可能、
の2点は考えていました。
・・試してみたところ、どちらも比較的簡単に実装できました。らんらんのNSファンクションもどきのアプリもできそうです。以下、要点だけ抜き書きを(CommAさんのスクリプトを一部参考にしています)。

1.アルファベットキーの認識→アプリを設定

DIM A(25)
REM 配列 A の値を @ で初期化
FOR I=0 TO 25
A(I)='@'
NEXT I
A(0)='MAIL' :REM A キーのアプリ
A(1)='KALUFSN1.BAS' :REM B キーのアプリ
:
A(25)='ZWWW' :REM Z キーのアプリ

REM 画面
SCREEN 100,130,64,16
EVENT 100,999,1
PRINT 'PUSH A-Z'

REM キー待ちのループ
*LOOP
SYNC
K=INKEY
IF (K>=65)*(K<=90) THEN AP=STR(A(K-65)) : GOTO *MAIN
GOTO *LOOP

INKEYは、ループ内で使うのがコツのようです(KEYWAIT直後ではコードをうまくひろえない模様)。また、INKEYの返り値は、Aキーは65、以降アルファベット順に続き、Zキー=90 となります(10進値)。

変数APには配列 Aに指定したアプリ識別子、または.BASファイル名が入ります。変数の文字列値を、別の変数に代入する場合は、STR()を使うのがポイントです。


2. BASICアプリと通常アプリの判別→実行

*MAIN
REM アプリが定義されていない場合は戻る
IF STRCMP(AP,'@')=0 THEN GOTO *LOOP

REM APの右端4文字を取得
TMP=RIGHT(AP,4)

REM TMPが'.BAS'ならBASICアプリ
IF STRCMP(TMP, '.BAS')=0 THEN GOTO *BAS ELSE GOTO *APP

*BAS
・・・BASICファイル実行

*APP
・・・MORE/アプリ実行

アプリの判別といっても、STRCMPで右端の文字列が'.BAS'かどうか判定して、それぞれの処理に飛ばしているだけです。

--

うーん、上でコードまで書いておきながらアレですが、そろそろ「非」実用的なアプリも作りたくなってきました(もっとも、具体的なアイディアがあるわけではありませんが)。

      ---

マニュアル補遺 - 2002.05.13

いずれ本編にフィードバックしますが、リリース後に気づいたことをちょこっと。

GETPIXMAP
検証が甘かった。現在のところ、説明文に記されている期待どおりの働きはしません。うかがったところ今後のバージョンで正式に実装予定とのお話でした。

スプライトの基本事項
ずいぶん前から「いるな」と思っていて、それなのにリリース後に書き忘れたことに気づく。もっとも、透明色は0,0,0の黒とか、番号が小さいほど手前に表示されるとか、そういうホントに基本的なことです。

OUTPUT
僕も少しはまったのですが、SETPENでBASICアプリ自身にペンタッチしてから実行することで動作を確認。しかしながらまだまだ検証が甘かったし、機体差も考えられます (よってリファレンスにはこのコツはあえて未記載)。

WAVE関係
こちらも検証が甘々。掲示板等で動作は確認されているのですが、も少し検証の上加筆したいところです。


木曜日までは忙殺される予定なので、検証作業やらはそれ以降。改訂版は、上記以外にもう少し修正/加筆事項を洗い出してからにしたいですね。もちろんサンプルも拡充したい。時期的には、次の944BASICバージョンアップあたりに合わせるとよいかも (もちろん、致命的な誤りがあれば話は別)。

個人のプログラムとしては、寝る前にちびちびと rain の改訂を少しずつ。ちょびっとソフトな表示になりました(アップは週末にでも)。当時はスプライトの使い方をあまりよくわかっていなくて、今にしてみれば「あらら」と思うようなことをしていました。リファレンスをやったおかげで、このあたり自分の中で整理できたのは、何というか役得でしょうか。

      ---

法則 - 2002.05.09

こういう忙しいときに限って、キーボードにコーヒーをぶちまけてしまう・・・ってな某法則も健在です。

一晩では乾ききらなかったみたい。ピンチヒッターのキーボードは使いづらい。困った。

      ---

ジンクス - 2002.05.08

昨日は暇で、「944BASICの新バージョンが出ると、めっぽう仕事が忙しくなる」ジンクスがついに崩れた・・・と思いきや、本日から予定していた仕事が1.6倍に増量されてやってきました。


ジンクス健在です。

      ---

続・名前について考える - 2002.05.06

またしても、80年代の話から始まる。

当時、"MZ" という名を冠したパソコンがあった。販売していたのはシャープである。
現在ではもちろんその役目を終え、いまシャープから販売されているパソコン製品にその名前は残っていない。

しかし、MZ-Memoriesのページでこんな話を読んだ。

「MZの型番は無くなってしまったけれど、MebiusとZaurusとして生きています」

・・・MebiusやZaurusの命名にMZが関係しているかどうか、本当のところはわからない。ただの偶然なのかもしれない。だが、それでもちょっといい話だ。

--

さて、そんなシャープ製PC "Mebius" には新機軸の製品 "MURAMASA" がラインナップされている。発売当初は世界最薄を誇っていたスタイリッシュなデザインもよいが、僕がまず引きつけられたのはそのネーミングだった。
かっこいい。

そう、LavieだのLOOXだのVAIOだの悪いとは言わないが、名前だけを取り出してみると、何か心ひかれるものがない。"かわいい"でもなく、"かっこいい"でもない。無難な名前。
それに、これらの名前は初めて見聞きしても、具体的な特徴が浮かんでこない。その点、MURAMASAは触ると切れそうな薄さ、鋭さを表現しているようでなかなかよろしい。

おりしも、シャープから新液晶が発表され、次期ZAURUSの薄型化、VGA化がウワサされている。こいつがもしMURAMASA級のスタイリッシュな製品になるのであれば、これに並ぶかっちょいい名前がほしい。
・・・というわけで、出るかどうかもわからない次期ZAURUSの通称(?)を勝手に考えてみることにした。

すでにお気づきであろうが、MURAMASAも "M" から始まる言葉だ。となると、次期ZAURUSの通称も "Z" で始まる言葉を使うのが筋だろう。そして、MURAMASAとどこか通じるセンスがほしい。

MURAMASAのネーミングの特徴は、
 1. 日本語で、
 2. ちょっと古風で、
 3. それとなく製品の性格を表し、
 4. 何だかかっこいい
といったあたりになるだろうか。この特徴を備えた、「ざ」行で始まる(「じ」は"JI"表記もあるので△)言葉を探してみよう。

"ZEN"
一等最初に思いついたが、これは "Zen of Palm" で先にやられちゃっているし、何というか向こうの方が似合っている感じである。

"Zatou-ichi"
なんか違う。

"ZENPOU KOUENHUN"
古すぎる。

"ZE-A-MI"
世阿弥。風姿花伝ですな。製品の性格がいまいちわからない。

"Zantetsu-ken"
うーん、漫画の小道具だしな。MURAMASAのパロディーにもなりきれていない。

"ZAZEN"
つらそうだ。

・・・案外難しいものである。

そんなあれこれ考えた末、これならとひねり出したのは:

"ZE, KUU" ・・・ "色即是空"の"是空"
"ZE, SIKI" ・・・ "空即是色"の"是色"

前者"ZE, KUU"は空気のごとくいつもそばにいる、薄型軽量機敏な機種。後者"ZE, SIKI"は機能満載、華やかな機種とする。だからシャープには頑張って2機種出してもらわなければならない。


・・・いささか苦しいが、まあしょせんは自己満足の遊びなんで、笑って流してやってください。

      ---

新バージョン、再び - 2002.05.03

どうやら、944BASICの新バージョンが出ると、めっぽう仕事が忙しくなる星回りのようです。

そんなわけで、とりあえず APL コマンドと SETPEN コマンドまわりだけ試してみました。
APLコマンドやらMORE操作系のコマンドは仕様が変更される、との話が事前にあったので気になっていたのです。4/26にここで公開したてのプログラムが動かなくなる可能性が高かった。いくら実験作とはいえ、4日だけでは短命すぎます。

試してみると、座標の再生はやはりうまく動きません。
APLコマンドでMOREを起動すると左上角にPENDOWNイベントが発生する(MOREによっては、終了ボタンが押されてしまう)ようなのですが、これをうまく回避できない。
もっとも前バージョンでは少々ごり押しでたまたま回避できていただけなので、あるべき姿になったとも言えます。

いくらか試行錯誤した末、こんな感じで座標取得/再生プログラム修正です。

KALOREC1.BAS - 座標の記録 (マイナーチェンジのみ)
KALOPLY1.BAS - 記録した座標の再生 (9B新版対応)

いずれもMI-E1でのみ動作確認。動作させるMOREや各自の機種、環境によっては動かない可能性があります。要するに、相変わらず実験版。

以前にも記しましたが、最終的には起動するMOREや自分の環境にあわせてスクリプトを書くのが王道かなと思います。上記プログラムは、あくまでも参考としてご利用いただければ。


もう2点、僕が個人的に使っているスクリプトを挙げておきます。
KALOMPON.BAS - MP3再生→画面オフ
KALOMPOF.BAS - MP3停止→電源断

MI-E1用、標準のMP3プレイヤーでのみ動作可(と思われます)。
僕はこのスクリプトを、らんちゃらんちゃでボタンに割り当てています。リモコンなしでのMP3操作が快適に。

いずれのスクリプトも、いまだ実験作どまり。無保証です。自己責任でのご利用を。改造推奨&歓迎です。

・・・と、書いている間に、もあなびではバックアップがサポートされたようですね。




 戻 る



 どのページへのリンクもご自由に。
 リンクに関する連絡は無用です。


 - kaol (kaol@officeww.com) -