1. としきのやしき正門
  2. 電算棟
  3. ポケ3の部屋

ポケ3の小技

キーボードの種別変更

ポケ3のキーボードには2種類あります。
JISキーボードと親指シフトキーボードです。
この2つ、実はハード的にはキーボードの刻印が違うだけで、あとは全く同じものです。
では、一つのキーが押された時の機能が違うのはどうしてかというと、ソフトウェアで切り替えているのです。
この切換方法は、マニュアルに載っていない裏技です。
切換に使うコマンドそのものは「操作マニュアル(AutoCom)」にも掲載されている「SETUPコマンド」なんですが、マニュアルにはコマンドライン方式として「画面設定」「印刷設定」「通信設定」の3つしか記載がありません。しかし、その他にも幾つかの項目がコマンドラインから設定できるようになっているらしくて、そのうちの一つがこれ、キーボードの種別です。

では、早速設定を変更してみましょう。
DOSのコマンドラインから、以下のように入力してみます。

特に何もメッセージを出さずに終了してしまったことでしょう。
でも、内部的には設定が変わっていて、次回起動時からは指定したキーボード種別となります。
では、再起動してみましょう。
・・・DOSで使っている分には、アルファベットの部分は何も変化はないはずです。でも、キーボードの最下段1段とかは、随分と違っているのがわかるでしょう。どのように変わっているかは、ポケ3のマニュアルの「オアシスガイド」(「はじめにお読みください」と書いてあるやつ)に掲載されていますので、これと首っ引きで使ってみるのも面白いかもしれません。
なお、戻し方は、上記のコマンドを入力する以外にありません。

さて、普通はこのコマンドを使うようなことはあまりありません。
では、どのような時にこのコマンドを使うのでしょうか。
それは、自分の望んだキーボード種別のポケ3が入手できなかったような時に使います。
例えば、親指シフトのポケ3が欲しかったのに、JISキーボードのものしか手に入らなかった、なんていう時ですね。さらに言うと、このような時にもし壊れた親指シフトのポケ3があれば、そのキートップだけをそのまま交換してしまえば、動く親指シフトのポケ3と壊れたJISキーボードのポケ3のできあがり、となります。

ということでみなさん、壊れたポケ3も結構貴重品です。
もしそのようなものがございましたら、ネットオークションなどで、こわれているということを明示した上で最低価格1円ぐらいで出品してみて下さい。結構なお値段で買い手が見つかるかもしれませんよ。


ポケ2とのキートップの乗せ換え

ポケ2を入手したので、実際に試してみました。

ポケ3の前の機種に、オアシスポケット(無印)及びオアシスポケット2(ポケ2)というのがあります。
これらの機種もキーボードのサイズは同じです。
つまり、上記のようなJISと親指のキートップの乗せ換えというのも、親指シフトのポケ2とJISのポケ3の間でも可能だ、ということです。
これだけなら別に何ということもない話なんですが、実は、機能キーの部分、ポケ3では灰色のキーの部分ですが、ポケ2などではもっと濃い色なのです。

ポケ2のファンクションキーポケ2のファンクションキー
ポケ3のファンクションキーポケ3のファンクションキー

さて、ポケ3のキーボードの左上には「終了」から「複写」まで9つの灰色のキーが並んでいます。DOSで使う時には、このうちの5つ、「下線」から「複写」までがPF1〜PF5の役割を果たします。もしここで、この5つのキートップ、または「終了」から「挿入」までの4つのキートップを色の濃いものに交換したらどうでしょうか。PF1〜PF5のキーがその他の4つのキーと区別されて、ちょっとだけ使いやすくなると思います。

ファンクションキー交換後交換後のファンクションキー

もし、PFキーを多用するソフトを使っていて、「挿入」キーと「下線」キーを頻繁に押し間違える、というような方がいらっしゃれば、試してみる価値はあるかもしれません。


AUTOEXEC.BATとCONFIG.SYSのバックアップ

私の場合、Dドライブは AUTOEXEC.BAT だけではなく CONFIG.SYS にも手を加えています。これがシステム消失で飛んでしまうと、ほんのちょっとしか手を入れていないとはいえ結構痛いので、Aドライブにバックアップをおいてあります。で、復旧も簡単にできるよう、復旧用のバッチファイルも一緒においてあります。

復旧用のバッチファイルは、具体的には以下のようなものです。

COPY A:\CONFIG.SYS D:\
COPY A:\AUTOEXEC.BA D:\


これを A.BAT なんていう名前でおいてあるので、システムが消失した際には

C>A:A(リターン)


これだけで、元の設定に戻すことができます。


BASIC起動バッチ

言語処理系のページで紹介しているBASICは、元々が25行モードのマシン用に開発されたものですので、画面の縦が12行しかないポケ3でそのまま使うと非常に不便です。そのため、私は大抵、ECSを常駐させて25行モードにしてから起動しています。

実は、その他にも、BASIC使用時のみ使う常駐ソフトなんてものもあります。逆に、普段は便利に使っているけど、BASIC使用時は使い道がなくて、常駐させているとメモリの無駄になってしまうというような常駐ソフトもあって、これは常駐解除してからBASICを起動したいです。

このような場合、それらの常駐ソフトを一つずつ、常駐解除および常駐していしてからBASICを起動するようなバッチを書くことも可能でしょう。ところが、私の場合、CONFIG.SYSの記述からして、BASIC使用時と非使用時を大幅に変えたいのです。こうなってしまうと、もう、ただのバッチファイルでは対応できません。いわゆる、実行環境の変更という事になってしまうからです。

でも、ポケ3の場合、こんな時に役に立つソフトが、システムに元から入っています。REIPLというものです。これはポケ3をリブートするソフトです。リブート時にはCONFIG.SYSも読み込み直してくれるので、システムの環境を切り替える事ができるわけです。 具体的には、以下のようなバッチになっています。


BASIC.BAT
IF "%1"=="R" GOTO R
COPY A:\AUTOEXEC.BAS D:\*.BAT
COPY A:\CONFIG.BAS D:\*.SYS
C:REIPL
:R
COPY A:\AUTOEXEC.BA D:\*.BAT
COPY A:\CONFIG.SYS D:\*.SYS
C:REIPL

シンプルなんで、バッチが読める人ならどういう動作になっているかすぐにわかると思います。簡単に解説すると、このバッチを呼び出す際に"R"というオプションつけると、上でも書いた、バックアップされているAUTOEXEC.BATとCONFIG.SYSを書き戻し、それ以外の時にはBASIC用に調整されたAUTOEXEC.BATとCONFIG.SYSをDドライブにコピーし、その後に再起動する、という仕組です。

AUTOEXEC.BASの中では、ECSを常駐させたりして環境を整えてからBASICを呼び出し、BASICを終了したら即座にBASIC.BATをRオプション付で呼び出すようになっています。こうすることにより、コマンドラインから「BASIC」と叩くだけで必要な環境設定が自動的にできた形でBASICが起動し、BASIC終了後には再び自動で通常の環境に戻ってこれるわけです。

ただ、1点、注意事項があって。REIPLでは完全にリブートが走ってしまいます。これは、ポケ3の電源のOFF/ONをしたのに等しいです。という事は、もし仮にこの時、セーブしていない情報などがあったとしても、それは全て消えてしまいます。「あっ」と思った時にはもう遅い、というやつです。気をつけましょう。


混雑した電車の座席でポケ3を使う

空いている電車の座席

タッチタイピングを勉強された方ならよくご存知かと思いますが、正しいタイピング姿勢では、腕は体の両脇にあります。電車の座席に座ってポケ3を使うとき、この正しい姿勢をとろうとすると、上の図のような感じになります。
ところが、混雑した電車の座席(ベンチシート)では、両手を体の両脇におくスペースすら確保できないこともあります。そんなときにはどうするか。
一つは、素直に腕を体の前のほうに出すようにすることです。ただ、そうすると、手首の位置が膝よりも前のほうになってしまい、膝の上においたポケ3を操作することができなくなってしまうことになります。いや、私が足が短いだけかもしれませんが、前に立っている人のことを考えると、あまりポケ3を身体から遠くの所におくわけにも行きません。


混んでいる電車の座席

では、ポケ3を体に近いところにおいて、なおかつきちんと操作するにはどうするか。そんなとき、私は下の図のような体勢を取っています。決して、操作性がいいわけでもないし、できればこんな窮屈な姿勢はとりたくないのですがね。


吊り革につかまりながらポケ3を使う

吊り革にぶら下がって

電車の中など、座席に座れなくてもポケ3を使いたい時があります。そんなとき、私は写真のような体勢でポケ3をホールドしています。
さすがに手の数が足りないので、つり革につかまりながら入力は出来ませんが、何かに寄り掛かれるような時は、右手1本の片手入力でいろいろな文書を作ったりしています。

指の位置

さて、文書を作ることはできなくても、文書を閲覧するだけなら、それこそ指が1本あれば可能です。 このときの指の位置は右の写真のようになっています。


テキストファイル高速 pager「miel」

上記のように指1本で文書を閲覧したいとなると、それ相応の閲覧ツールが必要です。この際に私が使っているのが「miel」というソフトです。Vector で入手できます。
このソフトは右矢印キーと左矢印キーにそれぞれ半ページづつのページ送りを割りつけてあるのですが、ポケ3のカーソル移動キーは右下の方にまとまった配列になっているので、1本の指でテキストを上下にページ送りできて便利です。おまけにこのソフト、前回終了時にどこまで読んでいたのかを覚えてくれていて、次にそのファイルを読む時は続きから読むことができるのです。そのため、レジューム機能のないポケ3で擬似的にレジュームもどきの動作をさせる事ができています。とはいっても、あくまでもテキストページャーの機能なので、テキスト文書を読むときにしか使えないのが残念。

さて、ここまではマニュアルにも載っているオモテ技です。
以下、マニュアルには載っていない(と思う)裏ワザです。

その1

マニュアルにも書いてありますが、基本的に miel はコンベンショナルメモリの空容量分までのテキストファイルしか表示できません。また、メモリの空きがあっても、16379行以上は表示されないとマニュアルには記載してあります。
これを回避するのがページモードと呼ばれる機能です。テキストファイルを閲覧中、いわゆる VIEW モードのときに、"/"(スラッシュ)または [SHIFT]+"/"(要するに"?")を押すとページモードに入ります。
ページモードでは、1ページが 128KB または空容量単位となり、";"(セミコロン)と"-"(マイナス)のキーでページを前後させることにより、デフォルトでは扱えない大きさのファイルでも中をみることができます。
ただ、ページモードが裏ワザなのはわけがあって、実はまだ完成された機能ではないのですね。特に、上記のレジューム機能では、終了時に記録されるのはファイル名と行数だけであり、何ページ目かというのは記録されないので、たとえば3ページ目の1000行目を読んでいたところで miel を終了させて、次に再びこのファイルを読もうとした時には、1ページ目の1000行目が表示されてしまうのです。

その2

ところで、最近は Windows 全盛の時代なので、ネットワーク上から入手する文書も Windows な環境で作成されたものが増えています。この手の文書って、文字コードにはDOSと同じく、いわゆるシフトJIS(MS漢字コード)を使っていることが多いのですが、実は微妙にコードが食い違っていて、正しく表示できないことがあるのですね。なぜこういうことが起こるのかというのはよその詳しいサイトに譲るとして、簡単に言うと、JISに定義されていないコードが一部あって、そこを各社が勝手に使ってしまったということです。でも、実はここには結構重要な文字がいくつかあって、具体的には、丸付き数字やローマ数字、あるいは罫線記号なんていうものが富士通と Windows では食い違っているのです。つまり、Windows からもってきた文書が、そのままではうまく表示できないのです。

ところがうまいことに、取扱説明書には載っていない裏技なんですが、miel には実際の文字コードとは異なった文字を表示するという機能があります。
これは、miel.cfg の316行目あたりですが、オプション set_usemarufont を8 と指定します。ただ、これだけでは、表示変換機能を使うということを指定しているだけで、実際にどの文字をどの文字に変換するか、ということは別途変換テーブルを作ってやらなければなりません。この変換テーブル、mielconv.dat というファイル名で miel.com と同じディレクトリに作っておきます。中身はテキストファイルで、JIS コードで変換前と変換後のコードをスペースで区切って記入しておきます。

おまけとして、私が使っているmielconv.tbl(2006/12版)を置いておきます。ほとんどが罫線文字なんですけどね、丸数字とかのNEC記号も少し入っております。


ポケ3をテスターに

「する」ではありません。「繋ぐ」です。

テスター全景 もうずっと以前に秋葉原で買ったデジタルマルチメーター、METEX社(韓国)製のM−3850というやつですが、こいつにはRS−232Cのポートがついています。これをポケ3に接続してみました。
テスターそのものの見かけは、普通のデジタルマルチメーターとあまり変わりません。
テスター付属シリアルケーブル全景 ところが、梱包の中には、テスターリードの他に、D−SUB25ピンのシリアルコネクタのついたケーブルが入っています。
針5本拡大 で、そのケーブルのD−SUBの反対側についている端子はとみると、なんと針金が5本、それも裸のまま出ているだけ。
穴拡大接続 この端子を本体の側面の、まさに穴としか言えないような、コネクタとはとても呼べないようなところに差し込むのですが、こんなんで大丈夫なのかな。

付属のマニュアル(英語)によると、このテスターのシリアルポートは、データ長7ビット、ストップビット2ビット、通信速度 1200bps だそうです。ポケ3側でこの設定にあわせ、ケーブルを接続し、AutoCom のターミナルモードにしてみたのですが、データが転送されてこない。う〜ん、なぜだ。

マニュアルとにらめっこしていて気がついたのは、5本のピンの信号の割付。
どんな信号かと言うと、SD・RD・RS(RTS)・ER(DTR)・GND。
このうち、RSとERはフロー制御に使うピンなんですが、もしかしてこのフロー制御がうまくいっていないのではないかと思いました。つまり、ポケ3本体のほうからRSとERの信号(+15V)が出ていないのではないか、ということです。何せテスターをいじっている最中ですから、実際に電圧が出ているかどうか測ってみればすぐにわかることなんですが、ちょっとこの辺は省略して勘で対策の方に走ってしまいました。
中継ケーブル接続全景
で、その対策なんですが、もしポケ3からそれらの信号が出ていないのなら、直接その信号をテスターに加えてしまえばいい、という事を考えました。簡単にいうと、RS−232Cのコネクタの該当のピンに直接、006P角型9V電池から電圧を供給するようにしたのです。具体的には、ちょっと特殊な中継シリアルケーブルを作成しました。これはどんなものかというと、テスター側の入力信号線であるRSとER、それにポケ3側の入力信号線であるCSとDRの端子は互いに相手側のコネクタに接続せず、代わりに006P用の電池スナップをつなげたのです。

これが当たりでした。 テスターのモードを切り替えてCOMモードという状態にした上で、テスター側のER端子に+9Vを加えることにより、テスター側からテキスト形式の測定値が垂れ流し状態で送られてきました。ただ、不思議なのはRS端子。これはどんな状態であってもデータが転送されてくるんだけど、いったい何に使うんだろう?
ただ、私は無造作に9V電池を繋いでしまって何も問題は起きていないのですが、もしかしたらこれはまずいかもしれません。何がまずいかというと、電流が流れすぎてしまい、テスター側の回路を壊してしまう可能性があります。まぁ、規格では15Vまで耐えられる事になっているわけですから、大抵は大丈夫だと思いますが、もし不安なら、抵抗の1本もかましておけば安心でしょう。もっとも、006Pは、そもそもが内部抵抗が高くてそんなに電流が流れないはずではあるのですが。

一応、念のため、解決策が判明してからなんですが、ポケ3のER端子の出力電圧を測ってみたら、開放(無接続)時の電圧で9.3Vでした。これをこのままテスターに繋いだところ、信号線の電圧は7.7V。これ以上細かくは検証していないのですが、可能性としては、テスターの方の信号認識レベルのスレッショルド電圧がかなり高いところにあるのでしょう。しかし、ポケ3の方の信号出力電圧はそんなに高くなく、また、ドライブ能力の関係から簡単に電圧降下してしまいます。そのため、テスターの方が制御信号を認識できず、RS-232C のポートに対する出力を開始しないものと思われます。

また、テスターのマニュアルからは見つけられなかったのですが、COMモード以外の状態でも、ポケ3側から何かのデータを送ると、それをトリガとして、その時点のワンポイントのデータを送ってきます。ただ、ここでちょっとポケ3側にハードウェア的な制限があります。それは、ポケ3側のCS入力端子に電圧がかかっていない状態のときは、ポケ3からデータを送ることができないのです。が、テスター側にCS出力端子がありません。こういう時の常套手段は、ポケ3側のRS出力端子をそのままCS入力端子に折り返してやることなんですが、こちらもまた、CS端子に9V電池を直接つなぐという乱暴な方法を取ったらうまくいきました。

あと、もう一つ注意しなければいけないのは、AutoCom でのCR受信時の設定をCR+LFにする必要があるということ。テスターから送られてくる改行コードはCRのみの1バイトだけなのです。この設定をしてやれば、垂れ流し状態で送られてきた測定値で画面がサーっとスクロールしていきました。

当然、AutoComならバックログをとることができますので、取得したデータを表計算ソフトで処理させることもできますし、グラフを描かせることもできます。ただ、不幸なことに、垂れ流し状態のときにデータの落ちてくる間隔は、きっちり1秒に1回という具合ではないのです。大体、2秒で3回ぐらいです。これではきちんとしたグラフになりません。そこで、dostermFMR版にパッチを当てて、1つデータを取得するごとにその時刻を記録するようにしてみました。
あるいは、ポケ3の上で直接、データを取得してグラフを描かせるソフトを作れば、ポケ3がそのまま自記電圧計などに早変わりするわけですから、見せ物としては面白いかもしれません。

今でも同じモデルがあるかどうかは知りませんが、もしRS−232Cのポート付きのテスターが入手できれば、ポケ3と組み合わせればどこへでも持っていける自記電圧計などができるわけですから、その手の趣味のある方にはお買得かもしれません。


ポケ3の部屋
電算棟
やしきの間取り


Copyright © 2000-2004,2006-2008,2010 としき
本ホームページの情報及び著作権は「としき」に帰属します。
Toshiki / toshiki @ jcom.zaq.ne.jp