標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第366回]

●リモートキー入力プログラム

前回、TK80回路に5×5キーを外付けしている写真をお見せしました。
TK80回路は、基板スペースに十分な余裕がないところに、ムリムリで乗っけてしまったので、小さなキーしかつけられなかったのです。
ちょいとさわって遊んでみるくらいでしたら、こんな小さなキーでも、それなりに使えるのですが、本格的にデータを入力しようとすると、これでは能率が悪くてたまりません。
そこで前回お見せしたようなキーボードを外に取りつけたのですけれど、TK80回路のキーと動作が同じになるような配線のキーボードではありませんから、ほとんど全面的に手配線と変わらないくらいの配線の追加、変更が必要でしたので、これを皆様に作ってつけていただく、というわけにはいきません。

じゃあ、TK80回路専用のキーボードを作るか、というのは、それはとてもコスト的に無理です。
ハードとしてのキーボードを外につけるのはとても無理ですけれど、ソフトとしてならいけるんじゃないか?
そう思いついたので、さっそく作ってみたのがこのソフトです。
SAVE(STORE)、LOADプログラムのW232.EXE、R232.EXEと同じように、DOSプロンプト(コマントプロンプト)で実行します。
REMOTE.EXEです。

TK80回路側にもプログラムが必要です。
もっと早くに、このプログラムができていましたら、ROMに書き込んでおくことができたのですが、仕方がありません。
RAMにLOADしてからそれを実行します。
TK80回路側のプログラムは、REMOTE80.HTXです。
さきに送信プログラムW232.EXEでTK80回路のRAMにLOADしておきます。

実際の画面をお見せします。



まだREMOTE.EXEをプログラムしている途中で、動作を確認している画面です。
いっぱい余分な表示が出ていますが、右のほうに、メモリアドレスと、そのアドレスの値が表示されていて、それを別の値に書き換えたりしているようすが見えます。
8400〜のアドレス表示やメモリの値の表示は、TK80回路からUSB経由で送信されてきたものを表示しているのです。

こちらは、REMOTEプログラムが完成して、試運転中の画面です。



う。[adrsset]が[adreset]になってしまっています。もう皆様にはCDROMに焼いてお送りしてしまいましたので、いまさら直せません。あしからず。

何をやっているかの説明です。
Windowsパソコンのフルキーボードからアドレス9000[Enter]と入力すると、[adreset]と表示され、その情報がMYCPU80(TK80回路)にUSB経由で送信されます。
TK80回路からは、受信したアドレスと、そのアドレスのデータを返してくるので、それが画面に表示されます。
9000 12 − の表示です。ここで「+」キーを押すと、[RD+]と表示され、それがTK80回路に送られます。
TK80回路からは、次の(インクリメントした)アドレスと、そのアドレスのデータを返してくるので、それが画面に表示されます。
アドレス9004で71 − AB[WR+]と表示されていますが、これは71 − の表示のときに、AB[Enter]と入力した結果の画面です。この情報はTK80回路に送られて、9004の値がABに書き換えられます。
そのあとで[RD−]を実行して、実際にメモリの値が書き換えられていることを確認しています。
[RD−]は「−(マイナス)」キーを押したときの表示です。

●リモートキープログラムの説明書です
                                         
「MYCPU80(TK80回路)リモートキー入力説明書」

USBケーブルを使ってDOS/VパソコンとMYCPU80(TK80回路)を接続した状態で、Windows上のDOSプロンプト(コマンドプロンプト)で、キー入力操作をすると、それがちょうどTK80回路の5×5キーから入力したのと同じ感じで、MYCPU80(TK80回路)側に伝えられ、TK80回路側からは、LEDに表示するデータがそのままパソコンに送られてきて、それがDOSプロンプト(コマンドプロンプト)に表示されます。

1.MYCPU80(TK80回路)側の送受信プログラム(REMOTE80.HTX)をLOADする

DOSプロンプト(コマンドプロンプト)から、W232コマンドを使って、REMOTE80.HTXをMYCPU80に送信します。
送信操作については、「MYCPU80(USB接続)説明書」を参照してください。

W232 REMOTE80.HTX[Enter]   (先にTK80回路の[LOAD]キーを押してください)

2.REMOTE80プログラムの実行

MYCPU80(TK80回路)にREMOTE80プログラムがLOADされるとLEDには F000F062 と表示されます。
そのまま[RUN]キーを押します。
LEDの表示は変化しませんが、パソコンとの間での通信スタンバイの状態になっています。

3.[NumRock]の確認

パソコンのフルキーボードの右側部分にある数字キーを有効にするために、NumLockランプがついていることを確認してください。
NumLockが有効になっていると、キーボード右側の数字キーからも数字の入力ができます。
もし数字の入力ができない状態でしたら、[NumLock]キーを押してください。
NumLockランプが点灯し、キーボード右側の数字キーからも入力ができるようになります。

4.DOSプロンプト(コマンドプロンプト)でREMOTE.EXEを実行する

REMOTE[Enter]
MYCPU80はCOM3に接続されました (注)
*** tk80 remote keyin ***

(注)パソコンのハードウェア構成によって、COM3以外の場合もあります。

これ以後、パソコンのフルキーボードから、[0]〜[9]、[A]〜[F]とそのほか数個の制御用のキーのみが入力可能になります。
フルキーボード左側部分の[0]〜[9]、[A]〜[F]、[+]([Shift]を押しながら[+]を押す)、[−]、[.(ピリオド)]、[Enter]、[BackSpace]および[Ctrl]C([Ctrl]を押しながら[C]を押す)の各キーのみが有効になります(そのほかのキーは反応しません)。
キーボードの右側部分の、[0]〜[9]、[.]、[+]、[−]、[Enter]と、[Insert][Home][PageUp][Delete][End][PageDown]が入力可能です。

5.各キーの機能

5.1 [0]〜[9]、[A]〜[F]はTK80回路のキーボードと同じ機能です。

5.2 以下のキーは[A]〜[F]の代わりに使うことができます。
[Delete]は[A]と同じ
[End]は[B]と同じ
[PageDown]は[C]と同じ(ただし[Ctrl][C]の使い方はできない)
[Insert]は[D]と同じ
[Home]は[E]と同じ
[PageUp]は[F]と同じ

5.3 [Enter]
このキーに先立って、16進数([0]〜[F])が4桁入力されていた場合には[ADRSSET]と同じ機能になり、2桁入力されていた場合には[WRINC]と同じ機能になります。

5.4 [.]
このキーに先立って、16進数([0]〜[F])が4桁入力されていた場合には[ADRSSET]と同じ機能になります。

5.5 [+]は[RDINC]と同じです

5.6 [−]は[RDDEC]と同じです

5.7 [BackSpace]
入力をキャンセルします。直前の1文字入力ではなく、[Enter][.]押し下げ前の入力がすべてキャンセルされますから、一桁目から入力し直してください。

5.8 [Ctrl][C]([Ctrl]を押しながら[C]を押す)
REMOTE.EXEを終了しDOSプロンプト(コマンドプロンプト)に戻ります。
これ以後は通常のフルキーボードの操作に戻ります。
TK80回路側は[RESET]を押します。

[注記1]
[Enter]は4桁または2桁入力後、[.]は4桁入力後以外は無視されます。

[注記2]
[+][−]は16進数を入力後に入力しても有効に機能します。その場合には先に入力された16進数は捨てられます。

[注記3]
送受信のタイミングによっては、ハングアップしてキー操作ができなくなってしまうことがあるかもしれません。
そのような場合にはDOSプロンプト(コマンドプロンプト)の右上の[×]ボタンを押してDOSプロンプト(コマンドプロンプト)を強制終了します。
TK80回路側は[RESET]を押します。

6.操作例

[8][0][0][0][Enter]と入力してみてください。
8000 3E − のように、MYCPU80(TK80回路)からメモリアドレス8000の内容が送られてきて画面に表示され、入力待ちになります。
このとき、TK80回路のLEDにも同じように表示されます。
[+]、[−]キーを入力すると、その度にアドレスがインクリメント、デクリメントしてそのアドレスとメモリ内容が画面に表示されます。
TK80回路のLEDにも同じ内容が表示されます。
入力待ちの状態で、2桁の16進数を入力して、[Enter]を押すと、ちょうどTK80回路のキーから[WRINC]を押したのと同じ動作が行われて、そのときのメモリアドレスに、その16進数が書き込まれて、そのあと、次のメモリアドレスと、メモリ内容が表示されます。
TK80回路のLEDにも同じ表示が行われます。
入力待ちの状態で、2桁ではなくて4桁の16進数を入力してから、[Enter]または[.]を押すと、{ADRSSET]が押されたことになり、新たなアドレスとそのメモリアドレスの値が表示されます。

2009.10.18upload

前へ
次へ
ホームページトップへ戻る