2018年9月15日土曜日

Z80 SBC(シングルボード・コンピュータ)の製作 (6) モニタープログラムの搭載

 さて、先回は左のようにパソコンのキーボードに打ち込んだ文字を Tera Term と言うターミナル・ソフトを使って、Z80 SBC(シングルボード・コンピュータ)へ送り、この文字を受け取った Z80 SBC が受け取った文字をそのままコンピュータへ送り返し、パソコンのモニタにディスプレイしました。

 ターミナル・ソフトの Tera Term はきわめて優秀で、使いやすく多く使われており、ネットでの情報も多く、詳細は省きますが、私の場合は上写真の設定(S)で右のような、端末およびシリアルポートの設定をしました。

 端末は VT100 、シリアルポートは、ボー・レート 19200 /データ 8 bit /パリティなし /ストップビット 1 bit /フロー制御なし、にしています。
 送信遅延はとりあえず 30 ミリ秒/行のみ設定しておきました。

 またパソコンと Z80 SBC を結ぶ RS232C ケーブルはストレート・ケーブルを使います。( Z80 SBC 上でクロスに配線がしてあるので)





 ということで、冒頭の何気ないパソコン・モニタへの文字ディスプレイは大きな意味を持ちます。すなわちこの状態になれば、あとはプログラムを作れば何だって出来てしまうからです。

 現状での Z80 SBC のメモリ・マップは左図のようになっています。

  Z80 SBC がスタートしてプログラムが始まる 0000 - 3FFF 番地までが ROM 、以降 4000 - FFFF 番地までが RAM となっています。
 ですからプログラムを作成して、 ROM に焼き、 Z80 SBC にセットしてスタートさせればよいわけです。

 こうした SBC (シングル・ボード・コンピュータ)では開発段階でいろいろな機能を持たせたモニタ・プログラムを搭載することが多く、今回お手本にしたCPUville 」(私のブログZ80 SBC(シングルボード・コンピュータ)の製作 (2) 構想と準備 参照)で紹介しているモニタを移植してみることにしました。

 インターネットでCPUville 」のホームページに行き、
上部にある「 Code 」タブから「 Code for Z80 kits and projects 」に入り、
その中段にある「 Z80 computer kit ROM archive 」にある、
「 ROM v. 8 binary file 」がお目当てのファイルですが、このファイルの文字をマウス・クリックすればそのままダウンロードできるようになっています。

 あわせて「 ROM v. 8 assembly language file 」、「 ROM v. 8 assembly list file 」も勉強のため入手しておくと良いと思います。

 しかしながら入手した「 ROM v. 8 binary file 」(ダウンロード・ファイルは 2K_ROM_8.bin となっている)をそのまま ROM に焼いても動きません、私の Z80 SBC とは 82C51のIOアドレスが異なっているからで、これを修正する必要があります。

 82C51 の
 Data Register address   を 02H -> 30H へ
 Control Register address を 03H -> 31H へ変更します。

 変更箇所を右表に示しました、16箇所ありますが、バイナリ・エディタの置換機能を使えばいとも簡単に変更できます。これを V_MON_8.bin として保存しておきます。

 さっそく ROM に焼いて Z80 SBC を起動します。



 おー、左のようになるのはあたりまえのことですが、やはりいささかな感動を伴いますし、この瞬間を求めてゴソゴソとやっているのですから、、、、

 最初にこのROMのタイトル ROM ver. 8 がディスプレイされ、続いてお定まりの(プロンプト)が出て入力待ちです。

 次いで、これも決まりもののコマンド、help を入力するとこのモニタは、dump,load,jump,run,?,help,bload,bdump,diskrd,diskwr,cpm のコマンドがあることが分かります、2kと小さな割には高機能です。

 さっそく dump を試してみました。
 0000 - 00FFH までの256バイトがきれいに表示されました。



 前に述べたように、「 ROM v. 8 assembly language file 」、「 ROM v. 8 assembly list file 」の2つのファイルはZ80のプログラム(アセンブラ)の勉強には最適です、というのも、これらのファイルには解説のためのコメントがビッシリト記述してあるからです。

  Ville のモニターもすばらしいものですが、やはり気に入ったものを自分で作ることにしました。

 右がそのモニターの HELP 画面です。
 いろいろ試した結果このようなものに落ち着いてはいますが、アイデアが出るたびにモニター・プログラムはどんどん大きくなっていきます。

 、、、、ということで、次回からは稿を改めてCP/M-80の搭載を考えていきます。

1 件のコメント:

jorgeefrrr828 さんのコメント...

?I used to be very happy to seek out this net-site.I wished to thanks in your time for this wonderful learn!! I definitely enjoying each little bit of it and I have you bookmarked to take a look at new stuff you weblog post. online casino games