MYCPU80でCP/Mを!
超巨大基板の8080互換HCMOS・CPUでCP/Mを走らせてしまおうという、なんとも狂気なプロジェクトです!
[第5回]
●ROMかRAMか?それが問題だ…。ROM or RAM,that is the question.
3日ぶりの更新です。
お得意さまからの急ぎのご注文に加えて、MYCPU組立キットのご注文、ND80Z3.5組立キットのご注文、それに葛Z術少年出版様からのLegacy8080の追加注文が一時に集中してしまいました。
有難いことです。
多忙、おおいに結構。
ぼけているひまなどありません。
あ。
まだ、作業が完了したわけではありません。
この状況はまだもう少し続きそうです。
今ちょっと一段落して少しだけ時間が取れましたので大急ぎでこれを書いています。
前回までROMとRAMの切換えについて書いてきました。
その説明では、ROMにはごく基本的なマシン語ツールだけを置いて、IPL(イニシャルプログラムローダー)の代わりに9000〜のアドレスで動くTK−80モニタ(2)をロードし、それからバンクを切り換えて全RAMの構成にして、RAMのアドレス0000にBIOS代わりのTK−80モニタ(3)をロードします、ということを書きました。
その後はRAMの1000〜7FFFの領域にND80Z3.5(ND80ZV)のROM内容と同等のZB3BASICシステムを8080の命令に書き換えてロードするという段取りで作業を進めていくつもりでおります。
で。
これからそういう書き方をしていきますと、ND80Z3.5(ND80ZV)ではROMに入れられていたZB3BASICのシステムがMYCPU80ではRAMにロードされて実行される、というように理解されてしまいます。
ほんとうはそういうことではなくて、RAMにロードするのはたまたまフルRAMにしましたので、そうする(RAMにロードする)ことのほうがデバッグに都合がよいからで、最終的にはND80Z3.5(ND80ZV)と同じように、27C256ROMに焼き付けて供給します…。
と、そのようについ先ほどまで考えておりました。
しかし。
ちょっと待てよ。
それってRAMのままのほうが都合がいいんじゃないの?
と今はそのように考え始めています。
ROMの利点はパワーONですぐに使える点にあります。
スタンドアローンのシステムではそれは必須の機能です。
ですのでTK−80モニタプログラムはROMに書かれている必要があります。
ですからパソコンと接続しなくてもMYCPU80単独でTK−80モニタプログラムを実行することができます。
しかし、ZB3BASICはパソコンと接続して、MSDOSプロンプト(コマンドプロンプト)の上でもプログラムを実行して、MYCPU80との間をUSBケーブルで接続して実行することになります。
スタンドアローンではありません。
その場合でもシステムプログラムがROMにあるほうが有利なことがあります。
RAMの場合には最初にシステムプログラムをロードしなければなりませんからロードが完了するまで待たなければなりません。
でもそれは皆様が毎回Windowsが起動するまで待っていることと同じことで、待てないことではありませんでしょう。
実はそのほかにもROMのほうがよいという利点があります。
それはND80Z3.5(ND80ZV)のZB3DOS(CP/M互換DOS)が、ZB3BASICをROMに置いて、フルRAMはZB3DOS(CP/M互換DOS)に開放したため、ZB3BASICのマシン語デバッグ機能をZB3DOS(CP/M互換DOS)からCALLして使うという裏技が使えるという利点です。
ま、しかしそれはやる気になれば、ZB3DOS(CP/M互換DOS)モードでは将来の拡張用にリザーブされている未使用領域にマシン語デバッグ用のシステムを組み込んでしまえばよいことなので、そうなればRAMでも実現可能な機能ということになります。
逆にシステムプログラムをRAMに置くことの利点は、これはなんと言ってもシステムプログラムのバージョンアップが容易であることに尽きるでしょう。
ROMの場合にはユーザーに供給を開始したあとで発見されたバグであるとか将来のバージョンアップに対応するには、新しいROMをお送りして旧ROMと差し換えてもらわなければなりません。
これはROM方式の最大のデメリットです。
今私はZB3BASICシステムもRAMにロードするという方式に傾きつつあります。
うう。
将来はND80Z3.5(ND80ZV)もそうするほうがよいかも…。
これはじっくり考えてみなければ…。
当分悩むことになりそうです。
MYCPU80でCP/Mを![第5回]
2014.7.27upload
前へ
次へ
ホームページトップへ戻る