復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります!
[第4回]
●それではフロッピーディスクは?
昔のBASICマシン、たとえばPC8001でもMZ80でもPC9801でも、プログラムやデータを入力するためのフルキーボードと、文字や図形を表示するためのディスプレイは必須アイテムでした。
それは現在のWindowsパソコンでも基本的には同じです。
しかしND80ZVでBASICを走らせるときは、キーボードもディスプレイも使いません。
その代わりにWindowsパソコンをインテリジェントターミナルとして使います。
Windowsパソコンに8ビットのマイコンボードを接続して使う、という使い方から連想するイメージは、マイコンボードは測定用の端末か機械制御か何かの目的に使われていて、それをコントロールするためにWindowsパソコン上でプログラムを走らせる、というようなものになると思います。
つまりWindowsパソコンがメインでマイコンボードはサブまたはスレーブ(slave)です。
これに対して、ND80ZVはWindowsパソコンを端末(slave)として使ってしまいます。
この場合主役はND80ZVです。
ND80ZVと接続したWindowsパソコンは、ND80ZVが送出した文字を画面に表示し、ND80ZVが要求したときだけ、キーボードからの入力を受け付けます。
通常のイメージとは逆です。
いうならば逆転の発想です。
もともとの目的からすれば、キーボードとディスプレイ装置の代わりになってくれればよいのですから、その場合のWindows側のプログラムはシンプルなもので済みます。
MYCPU80も、Windowsパソコンに接続して、キー入力とLED表示をDOS窓上で行なえるプログラムが附属しています。
このプログラムはただのキー入力と画面表示を行なうだけのシンプルなプログラムです。
ND80ZVの場合には、BASICやマシン語のツールなども実行しますから、それに合わせて、Windows側のプログラムももう少し複雑なデータ処理ができるようなプログラムになっています。
つまり「インテリジェントな」ターミナルです。
実はMYCPU80もND80ZVも、キーボードとディスプレイの代わりとしてWindowsパソコンを使うだけではなくて、そのほかにプログラムやデータの記憶装置としても利用しています。
TK−80は外部にカセットテープレコーダをつないで、そこにプログラムやデータを記録したり、そこから読み込んだりすることができました。
MYCPU80やND80ZVは、カセットテープレコーダを使う代わりに、SAVE、LOADキーを使ってWindowsパソコンのハードディスクにプログラムやデータをファイル名をつけて保存したり、逆にハードディスクにあるプログラムやデータをRAMにロードすることができます(勿論そのためにはWindows側でそのような動作をするためのプログラムが必要です)。
そこまでできているのならば。
フロッピーディスクの代わりにSDメモリカードを使うつもりだったところも、そんなものを使わなくてもよいことになります。
CP/Mマシンのコンソール端末としてWindowsパソコンを接続するということですと、Windowsパソコンは必須アイテムで、WindowsパソコンとCP/Mマシンとは常時接続されることになります。
そういうことでしたら、なにもわざわざSDメモリカードなどを接続しなくても、Windowsパソコンの巨大なハードディスク上に「仮想フロッピーディスク」を作ってしまえばよいのです。
Y様からのメールによりますと、CP/Mマシンのフロッピーディスクの最大容量は8インチで8MBだったとのことです。
1台のCP/Mマシンにはフロッピーディスクドライブを最大16台接続できたそうですから、最大でも8×16=128MBの容量さえあればよいことになります。
たとえば当社のWindows7パソコン組立キットの場合、ハードディスクは500GB、マザーボードに標準で搭載するメモリだけでも2GBもありますから、128MB程度のものは実メモリにも楽々のってしまいます。
CP/Mは少なくとも1台はディスク装置が必要なシステムです。
そのディスク装置に代わるものを、Windowsパソコンのハードディスク内に置くということで、本当にCP/Mシステムが動くのか?
そのような疑問をもたれる方もみえるかも知れませんが、それは全く問題ありません。
あ。
まだ実際には試していませんから、そのように断言してしまうのは早すぎるかも知れませんが…。
ああ。
そうでした。
いまどきはいい見本がありました。
Windowsパソコンのハードディスクです。
普通は内蔵のハードディスクですけれど、USBで外付けにしたハードディスクでも同じようにアクセスできますし、USBメモリでも見かけ上は小容量のハードディスクと変わりません。
それと同じことです。
ドライバさえ用意すれば、CPUから見てどの装置も同じハードディスクにしてしまうことができるのです。
CP/Mの場合にはドライバの代わりをするのがBIOSです。
BIOSさえそのように書けば、Windowsパソコンのハードディスク内にある「仮想フロッピーディスク」をCP/Mのシステムドライブ(Aドライブ)にしてしまうこともできてしまいます。
このあたりについては、いずれ実際にプログラムを作っていく過程で、理解していただけることになると思います。
さて。
そこまで考えてきますと、大体CP/Mシステムの骨格が決まってきたようです。
8ビットミニコンの本体はZ80CPU基板がケースに収まった形になるでしょう。
そのミニコンでCP/Mを動作させるときは、WindowsパソコンとUSBケーブルで接続して、Windowsパソコンのキーボードからプログラムやコマンドを入力し、WindowsパソコンのDOSプロンプト画面に表示をさせます。
CP/Mの本体はDOS(Disk Operation System)です。
今回企画するCP/MミニコンはそのDOS(CP/MではBDOSと称しているようです)を使ってWindowsパソコンのハードディスクに置く「仮想フロッピーディスク」を制御します。
あれ?
でも。
そのハード構成って。
もしかして。
●ND80ZVのBASICシステムと同じ?
そうなんですよね。
ソフトウェアのことはちょっと横に置くことにして、ハードウェアだけ見ると、基本的な構成は、ND80ZVのZB3BASICシステムとして、すでにできあがってしまっています。
あ。
勿論、今のND80ZVのままではCP/Mは走りません(ほんとは走りますけれど。その説明は後日)。
Windowsパソコンのハードディスク内に仮想フロッピーディスクも作らなければなりませんが、それ以前にND80ZV本体の改造が必要です。
CP/Mは初期状態を除いて基本的にはフルRAMでなければいけません。
ND80ZVのように0〜7FFFがROMでは困ります。
ですからそこのところは、ROMとRAMを切り換えるように改造する必要が出てきます。
しかし、そのほかは?
ND80ZVをそのように改造しさえすれば、そのままでこれから作ろうとしております8ビットCP/Mミニコンのプロトタイプが出来上がってしまうじゃありませんか。
そういうことならば、ND80ZVの現在の機能を利用しながらシステムを構築していくことができますから、まっさらで何もない状態から作り上げていくことに比べれば、開発の工数もそれにかかるコストも、そりゃあ全然違ってきます。
でも、それって。
特注品を作る作業をするといいながら、実は汎用品の機能アップの作業をすることになってしまいます。
ちょいと後ろめたい感じが致します。
で。そのあたりのことをY様にお尋ねいたしました。
Y様からは、
「それで構いません。最終的に目的の製品が出来上がるのならば、その過程でかかったコストは負担いたします」
というお答えをいただきました。
正直な気持ちとしまして、こういうお話ではなくて、ただ単に「ND80ZVでCP/Mが走るようにしてほしい」、というユーザーからの要望があっただけだとしますと、それを実現するのはちょっと難しかったでしょう。
いくらハードはほとんどそのまま生かせるとしましても、そのためのソフト開発に要する労力(及び気力)はハンパではありますまい。
それだけの気力、労力をつぎ込むのならば、他にもっとやりたいことが、やらねばならぬことがいっぱいあります。
ND80ZVの上でCP/Mが走る、などということはおそらく実現しないままだったでありましょう。
しかし。
特注品の開発の過程で、いわば副産物として、必然的にそういうものが出来てしまうということになるわけで、まあ、あれです、他人のフンドシで相撲を取る状態でありますから、こんな有り難いお話はありません。
そういうことならば、一も二もなく二つ返事で承知つかまつります…。
いやいやいやいやいや。
そういうことじゃありませんでしょう。
肝心なことを忘れてはいませんかっ?
そっ。
そもそも肝心かなめのCP/Mを、一体どのように料理するつもりなのっ?
あっ。
そうでありました。
これは大変なことなのでありました。
肝心なところをすっかり失念しておりました。
正直なところを申し上げて、私、CP/Mはよく(というかはっきり言って、全然)知りません。
昔、ほんの少しだけさわったことがありましたが、なにしろ25年以上も前にほんの少しですから、それはもう、自慢したいくらい、きれいさっぱり、すっかり忘れてしまいました。
そんなものを気安く請けたりした日には、あなた、夜逃げものじゃありませんか。
Y様には、
今はなんともご返事できません。
とにかくしばらく時間をください。
せめて正月休みが終わるまで。
と、お願い致しました。
ワンボードマイコンでCP/Mを![第4回]
2012.1.13upload
前へ
次へ
ホームページトップへ戻る