トレーニングボード ND80K
写真はND80K
当社のKL5C8012ボードの中ではユニークなボードです。
ZB10K〜ZB28Kは別売の開発セットを利用してROMにプログラムを書き込まなければ動作しません。
しかしND80Kはボード上のキーボードと7SegmentLEDを使って、単独でもマシン語プログラムの作成、デバッグができます。
ベースになっているのは、過去なんと20年にわたって版を重ねながら販売してきた、ND80Zです。
その元になったのはマイコンブームの火付け役となったNECのTK80です。
そもそも当社はTK80のクローンとも言うべき、8080トレーニングボードND80をひっさげて、脱サラしてはじまったのでありました。
以来月日を重ね、時代もPC8001、MZ80全盛の第一次マイコンブームからWindows、インターネットの今日まで劇的な変化を遂げてきました。その間当社も制御用オリジナルBASICを搭載したZB11シリーズを開発、販売するとともに、このオールドスタイルでシンプルなND80Zも改良を重ねながら継続して販売してきました。
もともとの開発のコンセプトであった、TK80ソフトコンパチブルという基本は、CPUが8080からZ80に変わってからもずっと引き継いできました。
今回CPUをZ80からKL5C8012に変更し、ハード、ソフトともに全面的に変更を行ないましたが、TK80ソフトコンパチブルという基本スタイルは継承しています。
まあ今時TK80ソフトコンパチなどと言ってみたってなんの価値があるかっていうものですが、昔の本棚をかきまわしてみると結構面白いプログラムかみつかります。
CPUも違い、CPUクロックも違いますしメモリサイズも当時とは桁が違います。100%そのままでは動いてくれませんが、わずかな手直しで20年前のTK80のソフトが動くというのも感動物ではありませんか。
時間をみつけて、プログラム作りの参考になりそうなプログラムを参考例として添付したいと考えています。→応用プログラム集が完成しました!(2003年5月からND80Kに同梱して出荷しています)
[ちょっと一息]その昔のTK80のCPUはインテルの8080。もちろんプログラムのニーモニックは8080ニーモニック(いわゆるインテルニーモニック)です。ND80Z、ND80KはZ80ニーモニック(いわゆるザイログニーモニック)。ソースプログラムレベルではまったく互換性がありません。わー、アセンブラが使えない!しかし幸いなことにTK80はマシン語コード(16進コード)でプログラムを入力します(これはND80Kも同じ)。マシン語コードは8080もZ80もまったく同じ!そこでまず、利用できそうなTK80のプログラムをマシン語コードでND80Kに入力。ハードの違いやいろいろでそのままでは動きません。で入力したマシン語プログラムを強力Z80逆アセンブラにかけてZ80ソースプログラムを逆作成しました。そのあと必要な変更を加えて、めでたし、めでたし、でした。
いまどきは、いろいろ高機能なソフトがたくさんありますから、いまさらハンドアセンブルでもないとも思います。
しかし機能が高くなればなるほど、ハードウェアもシステムプログラムもブラックボックス化していきます。
CPUがメモリから1バイトずつ命令コードを読み込んで実行していく様子とか、キーボードからどのようにしてデータを読み込むのかとか、LEDにデータを表示するプログラムとか、そういうハードと密接につながった部分を体験できるハードやソフトが少なくなってきました。
いまどきこれは貴重品とも言えるのでは?
ROMに書き込まれている制御プログラムリストも公開しています!(ND80K操作説明書に添付)
最近はネコもシャクシもC言語といった風潮で、「トランジスタ技術」の記事でもサンプルプログラムはCばっかり。
操作説明書についているプログラムリストはZ80アセンブラで書いてあります。マシンコードと1対1で対応しています。これは貴重品ですよ。
ND80Kのもとになった、ND80ZのCPUはZ80です。ND80KのCPUは川崎製鉄のKL5C8012、Z80ソフトコンパチブルですから、ND80Zと基本的な部分では共通です。ND80Kはそれに加えて、KL5C8012が内臓しているプログラマブルカウンタやパラレルポート、メモリマネジメントユニットに至るまで多くのページを割いて説明を加えています。KL5C8012の理解と応用を得るためには貴重なボードと言えるでしょう。
ND80Kは基礎的な機能にとどまらず、より本格的なプログラミング、KL5C8012使用マイコン制御ボードへの応用にそのまま役立てることができるように、BASIC制御マイコンボード、ZB10K〜ZB28Kと共通仕様になっています。別売のBASICプログラムROM、およびZBK開発セットと組み合わせることで、パソコンレベルのBASICやZ80クロスアセンブラ、逆アセンブラを使用することで、本格的なプログラム開発が行なえます。
KL5C8012はシリアルインタフェースを1チャネル内蔵しており、これを利用してRS232C(調歩同期式)1チャネルの信号端子コネクタ(10P)をボード上にもっています。信号レベルはTTL(+5V)ですが、別売のRS232Cレベル変換ボード(25P DSUB)を接続すれば、一般のパソコン、装置と直結できる信号レベルになります。ボーレートは150、300、600、1200、2400、4800、9600、19200ですが19200は状況によりエラーの可能性があります。9600ボー以下での使用をおすすめします。
RS232Cの送受信はZBK−V3BASICでサポートしています。簡単な命令でパソコンや装置との間でのデータ交換が行えます。
RS232Cレベル変換ボード(9P DSUB) 税抜価格 2500円(税込価格 2700円)
RS232Cレベル変換ボード(25P DSUB) 税抜価格 2500円(税込価格 2700円)
[ND80Kの主な仕様〕
1)CPU KL5C8012
2)クロック周波数 10MHz (20MHz水晶使用)
3)モニタプログラム 4KB(27C256使用。最大128KB。27C010実装可)
4)RAM 32KB実装(62256使用。最大128KB。628128実装可)
6)入力部 5×5配列キー
0〜Fの16進数及び各種コマンドの入力ができます。
7)表示部 8桁7セグメントLED(東芝TLR346T)による16進数表示
8)カセットテープレコーダインタフェース
転送速度は約1200ボーです。
市販のテープレコーダで、データやプログラムの録音、再生ができます。(ただし、機種によってはうまくできないものもあります。)
9)プリンタインタフェース
セントロニクス仕様のプリンタにメモリ内容などの出力ができます。
プリンタと接続するには、当社専用プリンタケーブルが必要です(税込¥2625)。
10)小型スピーカー
ボード上に小型スピーカが実装してあり(オンボードタイプのスピーカが生産中止になってしまったため、写真のように小型スピーカを外付けしています)、KL5C8012のI/Oポートから音階に対応する周波数のパルスを出力することで、任意の高さの音を出すことなどができます(そのためのサブルーチンがモニタROMに書かれていてユーザーが利用できるようにしてあります)。
11)I/Oポート
8ビット×3回路の入出力ポートをもつLSI、82C55が1個実装されており、8ビット×3ポートの全ビットがユーザーに開放されています。
I/Oアドレスは80〜83、84〜87、88〜8B、8C〜8Fのいずれかをショートストラップで選択することができます。
12)ブレイク機能
任意のアドレスにブレイクポイントの設定ができます。ブレイクしたときの全レジスタはメモリに格納され、キー操作でその内容を見ることができます。プリンタを接続したときはプリンタにレジスタの内容が出力されます。
13)トレース機能
ユーザーのプログラムを1命令ずつトレース実行します。各命令毎に全レジスタの内容を見ることができます。プリンタを接続したときはプリンタにレジスタの内容が出力されます。
14)電源 +5V150mA
[注意](重要!)必ず安定化電源を使用してください。ACアダプタは安定化になりません。ACアダプタを使用するときは3端子レギュレータなどで+5Vにしてから接続してください。実験用の可変出力型電源は絶対に使用しないでください。5Vに合わせてあっても電源ON時に高いサージパルスが出るらしく、何件かICが破損するトラブルが発生しています。
別売+5V2A電源 税抜価格 1000円(税込価格 1080円)
15)ND80K標準付属品
ND80K操作説明書
Z80命令説明書
82C55コネクタ用26Pフラットケーブル(片コネクタ。50cm)
カセットテープレコーダ接続用3.5Φプラグコード 2本
(電源、プリンタケーブルは別売です)
〔各キーに割りつけられている主な機能〕
以下の機能は、簡単なキー操作を行うだけで利用することができます。
i.プログラム作成モード
●ADRS SET
4桁の16進数をキー入力したあと、このキーを押すと、その4桁の16進数がLEDの上4桁(アドレス表示部)に表示され、そのアドレスのメモリ内容がLEDの下2桁(データ表示部の下位2桁)に表示されます。
●READ INC
LEDの上4桁に表示されているアドレスが+1されて、下2桁に新しいアドレスのメモリ内容が表示されます。
●READ DEC
LEDの上4桁に表示されているアドレスが−1されて、下2桁に新しいアドレスのメモリ内容が表示されます。
●WRITE INC
2桁の16進数を入力したあと、このキーを押すと、LEDの上4桁に表示されているメモリアドレスに、その入力データが書き込まれ、さらにそのあと、LEDの上4桁に表示されているアドレスが+1されて、下2桁に新しいアドレスのメモリ内容が表示されます。
●RUN
LEDの上4桁に表示されているアドレスにジャンプし、そのアドレス以降に書かれているプログラムを実行します。
●CONT
ステップ動作やブレイク動作で中断したプログラムの実行を再開します。
ii.I/O及び特殊機能モード
*(I/O)キーと共に用いることにより、以下の機能が使えます。
●IN
LEDのアドレス表示部の下位2桁で示されるI/Oアドレスからデータを入力して、データ表示部の下位2桁に表示します。
●OUT
LEDのアドレス表示部の下位2桁で示されるI/Oアドレスに、データ表示部の下位2桁のデータを出力します。
●SV
LEDの上4桁に表示されたメモリアドレスから、下4桁に表示されたアドレスまでのメモリ内容を、カセットテープレコーダに出力します。
●LD
カセットテープレコーダからデータを入力し、メモリに書き込みます。
●VF
カセットテープに正しく録音できたかどうか確認します。カセットテープレコーダからデータを入力し、メモリ内容と比較します。
●MV
指定範囲のメモリデータを、別のアドレスに転送(COPY)します。
●DP
指定範囲のメモリ内容を、プリンタに16進数で出力します。同時にその16進数をJIS(ASCII)コードとみなして、キャラクタダンプも行います。
●TRC
ユーザープログラムを連続実行し、1命令実行毎にCPUレジスタの内容をプリンタに出力します。
●PR(REG)
シングルステップ動作の時に、プリンタにレジスタ内容を出力するためのものです。
●PR(〜0D)
指定アドレスから始まる文字コードデータ(JISコードで書かれ、0Dコードで終わるデータ列)をプリンタに出力します。
iii.レジスタ表示モード
ブレイク動作やトレース動作時に、CPUレジスタの内容をLEDに表示します。また表示されたCPUレジスタの内容を変更することもできます。
REGキーを押すとレジスタ表示モードになり、下記のキーを押すことによりそれぞれのレジスタ内容を表示できます(OFFキーでレジスタ表示モードは終了します)。
AF、BC、DE、HL、SP、PC、IX、IY、AF’、BC’、DE’、HL’、I、R
〔基板寸法〕
230mm×115mm、ガラスエポキシスルーホール基板(グリーンレジスト仕上げ)。
メモリマップ、コネクタ端子接続などはZBKボードの基本構成・共通仕様を参照してください。
このページのTOPへ戻る
HOMEへ戻る
ZBK製品のページへ戻る