wwterm - terminal on WonderWitch ■ はじめに WonderWitch 上で動作するシリアルターミナルのアプリケーションです. ■ 使いかた 起動すると,以下のような画面がでます. ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃WWTerm(C)2000 SAKAI Hiroaki.┃─┐ ┃                            ┃ │ ┃Push S at left−below of the ┃ │ ┃virtual keyboard to change  ┃ │ ┃the serial port speed.      ┃ ├ ターミナル用 ┃Push C at left−below of the ┃ │ スクリーン ┃virtual keyboard to connect ┃ │ ┃the serial port.             ┃ │ ┃■                           ┃ │ ┃                            ┃─┘ ┃−v−−−−−−−−−−−−−−−−−−−−−−−−−−┃ ┃>■bcdefg ABCDEFG 789+−  !″#$┃─┐ ┃ hijklmn HIJKLMN 456*/ %&’@^┃ │ ┃ opqrstu OPQRSTU 123<> []\_`┃ ├ 仮想 ┃ vwxyz() VWXYZ:; 0,.=? {}| ̄ ┃ │ キーボード ┃ CSLR ENRBDCTAV −−a−−−−−−−−−┃─┘ ┃X1234)Select A)Input B)Enter┃─┐ 簡単な ┃Y1234)Move START)Quit  96 NC┃─┘ キーの説明 ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 画面の上半分はターミナル用のスクリーンです.画面の下半分は仮想キーボードと 簡単なキーの説明です. カーソルは2つあります.ひとつはターミナル用スクリーンの中にあるもので, 「スクリーンカーソル」と呼ぶことにします.スクリーンカーソルは,Y1,Y2,Y3,Y4 で 移動できます.もう一つは仮想キーボード上にあるもので,「キーボードカーソル」と 呼ぶことにします.キーボードカーソルは,X1,X2,X3,X4 で移動できます. Aを押すと,キーボードカーソルが指している文字が入力されます. Bを押すと,改行が入力されます.START キーで終了します. 仮想キーボードの一番下には, CSLR ENRBDCTAV というキーがあります.これはファンクションキーです.たとえば先頭の「C」に キーボードカーソルを合わせて A を押すと,シリアルポートを接続/切断します. 2番目の「S」にキーボードカーソルを合わせて A を押すと,シリアルポートの 速度を 9600/38400 に変更します.ほかにもスクリーンのクリア, eval `resize` の実行,ESCコード入力,TABコード入力などの機能があります. キーボードカーソルが指しているキーの簡単な説明が,仮想キーボード右下の −−a−−−−−−−−− の部分に表示されるので,その他のファンクション キーの機能については,それを参照してください. 画面右下の 96 NC というのは,シリアルポートの状態です. 96 は 9600bps,NC は Not Connected で,非接続状態,という意味です. ターミナルを起動したら,まず最初にファンクションキーの「S」でシリアルポートの 速度を設定して,つぎにファンクションキーの「C」で接続状態にしてください. でないと通信できません. ■ FreeBSD にシリアルログインする では,UNIX マシンにシリアルログインしてみましょう.例として, FreeBSD マシン(Linux でもいいけど)にシリアルポート経由でログインしてみます. まず,FreeBSD マシンを準備してください. シリアルログインする前に,本当にシリアル接続できるのかテストしてみましょう. WonderSwan をシリアルケーブルで FreeBSD マシンに接続します. FreeBSD で, > cu -l /dev/cuaa0 -s 9600 します./dev/cuaa0 は,使用するシリアルポートに合わせて変更してください. (tip cuaa0c のようにして,tip を使用してもいいです.cuaa0c というのは, /etc/remote で定義されています) WonderSwan 側で wwterm を起動し,wwterm のファンクションキー S で通信速度を 9600bps に合わせて,C でシリアルポートを接続状態にします. FreeBSD 側や wwterm 側で,てきとうにキーを入力してみましょう.相手側に 表示されるでしょうか? うまくいったら FreeBSD 側で ~. と入力して,cu を終了します. つぎに,FreeBSD 側でシリアルログインできるように設定し,実際にシリアルログイン してみましょう. FreeBSD は,起動時に /etc/ttys を見て getty を起動するので,まずは FreeBSD マシンの /etc/ttys に以下の行を追加します. cuaa0 "/usr/libexec/getty std.9600" vt100 on secure で, > kill -HUP 1 をします.これで /etc/ttys を読み込み直します.これにより,FreeBSD に シリアルポートからログインできるようになります.たとえば Windows マシンを 用意して,シリアルケーブルで FreeBSD マシンに接続して,Tera Term や ハイパーターミナルでシリアルポートを開くことにより,シリアルログインできます. ちなみに,設定を解除して,シリアルログインを無効にするには,/etc/ttys を, #cuaa0 "/usr/libexec/getty std.9600" vt100 on secure cuaa0 none のように修正して kill -HUP 1 することにより,元に戻ります. cuaa0 none を追加することに注意してください. #cuaa0 "/usr/libexec/getty std.9600" vt100 on secure とするだけで cuaa0 none を追加しないと,kill -HUP 1 しても,cuaa0 が無効に ならないので注意してください. FreeBSD 側の準備ができたら,WonderSwan のシリアルポートを FreeBSD マシンに 接続し,wwterm を起動します. wwterm を起動したら,ファンクションキー S で速度を 9600bps に合わせ, ファンクションキー C でシリアルポートを接続状態にします. この状態で WonderSwan の B ボタンを何回か押してみてください. ちゃんと接続されていれば,WonderSwan のスクリーンに login: プロンプトが 表示されます. では,ログインしてみましょう.X1,X2,X3,X4 と A ボタンでがんばって ログイン名とパスワードを入力します.安全のために,guest ユーザーあたりを作って おきましょう. ログインすると,シェルプロンプトが出ます.wwterm はいちおう VT100 互換もどき なので,必要ならば, > setenv TERM vt100 します.また,ログインしたままではスクリーンサイズを通知していないので, スクリーンエディタなどを起動するとおかしなことになります.そのため, > eval `resize` を実行して,スクリーンサイズを通知してやります. wwterm のファンクションキー R で,eval `resize` を入力して実行してくれるので, 入力が面倒ならそちらを利用してください. で, > ls してみましょう.ちゃんとファイルリストが表示されるでしょうか? Y1,Y2,Y3,Y4 がカーソルキーに対応するので,Y1,Y2,Y3,Y4 で,シェルの コマンドラインを編集したり,シェルのヒストリ機能を利用することができます. では, > vi として,vi を起動してみましょう.もしくは, > emacs -nw としてみましょう. しかし残念ながら,スクリーンエディタはまだうまく起動できていません. どうすればうまくいくのか,だれか教えてください. ■ makefile について 作者は FreeBSD 上で dos エミュレータを用いて LSIC を動かして開発しているため, makefile が特殊です.注意してください. ほんとは Windows 上でコンパイルするときのための makefile を添付するべきなの だろうけど,Windows 環境が無いのでやってません.コンパイルしたいときは makefile を自分で作ってね.ごめんなさい. ■ 今後 ログを保存できると,実用に耐え得るものになるかな,という話が出てます. そのうち対応したい. ■ このファイルはここまで