2.4 ソフトウェア
ソフトウェアの基本的なところは、実績のあるZ80キーヤーのアルゴリズムをそのまま流用しました。操作方法も継承しました。
長短点メモリなど動作タイミングはAccuキーヤーと同じです。
![]()
CW符号は内部では、短点を0、長点を1とし、符号の先頭に1を付加して表現しています。例えばA(・−)は01ですから、先頭に1を付加して0000 0101(2進)=05(16進)となります。この方法では1バイトで7点までの長さの符号が表現できます。8点以上の符号は欧文の訂正符号”HH”がありますが、 これをメッセージの中に入れることはないでしょう。また他に”OSO”、”SOS”等がありますが、普段のQSOで使わないので大丈夫でしょう。(符号と内部表現の関係は表を参照)
キーイングスピードは、ごく普通に、可変抵抗の電圧値を A/D で読み込み、インターバルタイマ(ITU)の設定値としています。ITU のコンペアマッチで割り込みを発生させ、これを短点1つ分のタイミングとしています。
また、スタンバイコントロール用にカウンタを用意し、符号送出の度にカウンタをクリヤしています。符号送出が無くなり、カウント値が設定値になると割り込みを発生させ、スタンバイをOFFにします。
NEC製PC-9821/9801のキーボード入力とのI/F仕様は、コネクタのピンアサインの他はマニュアル等にありません。そこで、オシロスコープ/メモリスコープで信号波形を観測し、どのような信号が送られているかを確かめました。
キーボードからの出力は、非同期のシリアル通信で、データ長は8ビット、パリティーは奇数です。
キーボードは、キーが押されたときにそのキーコードを送信し、キーが放されたときにキーコードの最上位ビットを1にしたデータが送られます。オートリピートではこれらのコードが交互に送られます。送出されるデータは、キーボード特有のコードです。(文字とコードの関係は表を参照)
通信速度は、当初は19.2kBPSと思っていましたが、実際につないでみるとエラーが多発し、AKI−H80側の設定を20kBPSにしてエラーが出なくなりました。
符号と内部表現、キーコードの関係表
文字 内部コード キーボードコード *AR 2A
*BK C5
*BT 31
*KN 36
*SK 45
*UR 4A
/ 32 THL:1C(Return)
HCT:34(Space)? 4C
0 3F 0A 1 2F 01 2 27 02 3 23 03 4 21 04 5 20 05 6 30 06 7 38 07 8 3C 08 9 3E 09 A 05 1D B 18 2D C 1A 2B D 0C 1F E 02 12 F 12 20 G 0E 21 H 10 22 I 04 17 J 17 23 K 0D 24 L 14 25 M 07 2F N 06 2E O 0F 18 P 16 19 Q 1D 10 R 0A 13 S 08 1E T 03 14 U 09 16 V 11 2C W 0B 11 X 19 2A Y 1B 15 Z 1C 29 訂正符号 00 0F(TAB)
*付きの符号は連続して1文字とする符号。
メッセージ中に用いる制御コード:
以下の符号(制御コード)をメッセージ中に
書き込むことにより各機能を実現させる。
*付きの符号は連続して1文字とする符号。
文字 内部コード
機能
*SNM
8B
シリアルNo.読出(Serial NuMber)
*SL
84
文字間隔1点分延長(SLow)
*FS
90
文字間隔1点分短縮(FaSt)
*RETN
A6
読出CHの先頭へ戻る(RETurN)
*XS
C8
TX ON (tX Send)
*XR
CA
TX OFF(tX Recv.)
*BS
C8
ブレークポイント(B.P. Send)
*BR
C2
ブレークポイント(B.P. Recv.)
*CS
D0
コールサイン読出(CallSign)
*GMA
ED
GM/GA/GE読出
*A1
AF
文字列1読出(16文字)
*A2
A7
文字列2読出(31文字)
*A3
A3
文字列3設定(31文字)
*A4
A1
文字列4設定(31文字)
*QU
E9 モニタプログラム実行(QUit)
プログラムの作成、デバッグには(株)日立製作所提供のモニタプログラムを利用させていただきました。これは下記のURLから入手出来ます。
http://www.hitachisemiconductor.com/sic/jsp/japan/jpn/PRODUCTS/MPUMCU/TOOL/index.html
Akih8.zip というファイルで、AKI−H80専用のモニタプログラムが掲載されています。
私のAKI−H80のROMには、キーヤープログラムと上記モニタプログラムの両方を書き込んであります。キーヤープログラムからモニタプログラムの起動も可能にしてあり、新たなプログラムの作成やデバッグも出来ます。また、モニタプログラムの転送機能を使って、メッセージの書き換えも可能です。
尚、(株)日立製作所で公開しているAKI−H80用のモニタプログラム Akih8.zip は、コンパイルや変換がなされた MONITOR.MOT のみです。
モニタのみで使用するにはこれで問題有りませんが、他のプログラムと一緒にROMに焼く場合などはソースからコンパイルをやり直す必要があります。
(やり方は 3.モニタプログラム の頁参照)
先にも書きましたが、本プログラムはキーヤーとしての基本的部分で、別の方が作られたZ80キーヤーのアルゴリズムを流用しています。100%私のオリジナルではありませんので、プログラムリストの公開は致しておりません。
(注記)
日立製作所の半導体部門は、2003年4月に設立された株式会社 ルネサス テクノロジに移管されております。上記のリンクは現在は有りません。最新の技術情報や、ドキュメント類は、ルネサス テクノロジのホームページから入手することが出来ます。しかし残念ながら、ここで紹介しているAKI−H80用のモニタプログラムやDOS版モニタプログラムは公開されていないようです。