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

復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります

[第21回]

●ROM32KB+RAM64KBに改造!

今回は、BIOSパラメータの設定についての説明をする予定だったのですが、急遽予定を変更しまして、ND80ZVのROM/RAM回路の改造について説明をすることにいたします。

このところ、ずっとお得意様からの特注品の製作作業に追われていたのですけれど、やっと無事納品できましたので、久しぶりに戦線に復帰いたしました。
当サイトの記事としましては、これからやっとCP/Mの移植作業にとりかかるという段階ですけれど、私自身はどんどん先行して作業を進めていかなくてはいけません。
ここしばらく休止状態でしたので、その遅れも取り戻さなくてはいけません。

そんなわけで、戦線復帰の手始めに、ND80ZVのフルRAMへの改造を手がけることにいたしました。
このことにつきましては、少し前からあれこれ考えてはいました。
CP/Mを走らせるためには、最初はROMで起動して、それから普通ならばイニシャルローダを起動して、RAMの後半部分のアドレスにCP/Mをロードし、最後に0000〜7FFFもRAMに切り換えます。

しかし、よくよく考えてみましたら、イニシャルローダなんていらないのでは?
と思うようになってきました。
それは外付けのフロッピディスクやハードディスクを使うシステムでのお話です。
CP/MでもWindowsでも考え方は同じです。
たとえばWindowsパソコンの場合ROM・BIOSはWindowsに比べるとかなり低いレベルのソフトですから、それを踏み台にしてWindowsが立ち上がるという構図はごくごく自然な感じがします。

一方、ND80ZVのシステムROMにはBASICまで入っていて、USBを介してWindowsと接続して動作するシステムになっています。
それとCP/Mとを比較してみますと、まあ、ぶっちゃけ、言いまして、ND80ZVシステムのほうがCP/Mよりもレベルが上なのではと。

そうしてみますと、レベルが上のND80ZVシステムを踏み台にして、CP/Mが立ち上がって、そのあとND80ZVシステムを使えなくしてしまう、というのは、なんだかなあ、という気がいたします。

せっかくのND80ZVのZB3BASICシステムなのですから、CP/Mが使えるようになったあとでも、しっかり使っていただきたいと思います。
そういうことから考えましたら、イニシャルローダなんてものにこだわらないで、今まで通り最初はND80Zモニタを起動して、次にZB3BASICを起動して、それからCP/Mを起動する、というようにするのがよいのでは、と思います。

現行のND80ZVのZB3BASICの起動は次の通りです。
まずはWindowsパソコンとND80ZVをUSBケーブルで接続して、ND80ZVの電源をONにします。
ND80ZVはND80Zモニタが起動して、TK−80ライクな操作ができる状態になります。
その後WindowsのコマンドプロンプトでZB3BASICを起動すると、ND80ZVの接続が認識されます。
そこでND80ZVのキーボードから、[I/O][8(VF)]と操作すると、ND80ZVとWindowsパソコンの通信が確立し、以後はコマンドプロンプト上からのキー操作でND80ZVを制御することができるようになります。
最初に、キーボードから[z][Enter]と入力するとZB3BASICが起動します。

ここで、[第7回]のコマンドプロンプト画面にありますように、ZB3BASICの/LDコマンドでCP/Mをロードして、それからJPコマンドでCP/Mを起動する、というふうにするのがよいように思います。
あ。
どうせWindows側のプログラムも変更しなければなりませんから、変更するついでに、たとえばCPMなんてコマンドを作って、
CPM[Enter]と入力したら、CP/Mが起動する、というようにしてもいいですねえ。

というように考えますと、現行のND80ZVシステムROMもそのまま残して、いつでもRAMから切り換えて使えるようにできたらよいように思います。
さて。しかし。
そうするために、追加改造の作業に手間がかかるということでは困ります。
この作業はND80ZVをご購入いただいたお客様ご自身にやっていただくことになりますから、できるだけ手間のかからないように考えなければなりません。

本日はそのように考えて、できるだけ簡単にRAMを増設して、かつROMとRAMを自由に切り換えることができるような、追加改造を工夫しておりました。
その工夫の甲斐あって、なんとかこれならいけるのでは、というものができましたので、詳細を忘れてしまわないうちに、皆様にご披露申し上げるとともに、備忘録として残すことにいたしました。

●昔の基板を有効利用

これがND80ZVをROM32KB+RAM64KBに改造したあとの写真です。

ND80ZVのROMソケットからROMを外して、そこに増設基板を挿し込んでいます。
ND80ZVのシステムROMは増設基板に実装しています。
増設基板にはRAMも実装されていますが、このRAMはND80ZVに実装されているRAMとは別物です。
増設基板に隠れていますが、ND80ZVの本体基板にもRAMは実装されています。
増設基板上のRAMはROMと同じアドレス(0000〜7FFF)に割り当てられています。
増設基板上のROMとRAMはセレクト回路によって、どちらかがアクティブになります。

こちらはND80ZVに実装する前の増設基板の写真です。

基板全体の感じがつかめるようにRAMとROMはICソケットから外しました。

この増設基板はずっと昔のZ80ボードの基板を利用しています。
ちょうどメモリの回路部分をそのまま利用することができました。
おかげで追加配線は必要最小限で済みました。

ICソケットのほかには、基板上には74HC32が1個だけです。
左上のところで2箇所ラインをカットしています。
左下にジャンパが1箇所見えます。
ND80ZV本体との接続は、ROMソケットを通して接続するほかは、写真左側に見えていますように、ライン4本で接続します。
このコネクタ(ソケット)も余っているものを利用します。
改造に必要なパーツはなるべく余計なコストをかけないで、できるだけ安価に供給できるように考えております。

こちらは基板裏側の写真です。

4本の配線のうち1本はRAMの27番ピンにつながっています。
WR信号です。
残り3本は74HC32に接続されています。
これはROMとRAMのセレクト信号です。

こちらはND80ZVの裏側の追加配線の様子です。

追加配線は6本です。
パターンカットが1箇所あります。
パターンカットは表側にも1箇所あります。
ICの追加はありません。

ND80ZVをお持ちの皆様は、この写真を見ながら回路図と比較をして、なにをやっているか、考えてみてください。

次回はさらに詳しい内容について、回路図と写真で説明することにいたします。

ワンボードマイコンでCP/Mを![第21回]
2012.1.31upload

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