標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第531回]
●とんでもないことを思いついてしまいました
やっと基板発注までこぎつけたZ80版TK80ボードND80ZVなのですが、おまけとしまして、リモートプログラムもほぼ出来あがりましたし、ゲームプログラムをいくつかまとめた「応用プログラム集」も各プログラムの動作確認はほぼ終わりましたから、あとはがんばって説明書を書くだけ、というところまできたのですけれど。
またまた耳元で悪魔のささやきが…。
はい。これが、ND80ZVのメモリマップです。
Z80CPUがアクセスできる64KBのメモリ空間に、ROM27C256(アドレス0000〜7FFF、32KB)とRAM62256タイプ(アドレス8000〜FFFF、32KB)を実装しています。
RAMは32KBのうちほとんどが空っぽです。
こんなに広いメモリ空間はマシン語プログラムだけではとても使い切れません。
まあ、なんと、もったいないこと。
一方ROMの方なのですが、こちらもしっかり空いています。
アドレス2000〜7FFFには何も入っていませんから、32KBのROMエリアのうち、なんと24KBも余っています。
むむむ。
なんとも、もったいない…。
この空いたところに、BASICが入らないだろうか…。
いや、しかし、それは余りにきつい作業になるのでは…。
当社のND80K(川崎製鉄のCPU、KL5C8012を使ったワンボードマイコンです)にはオプションとしてBASICROM版があります。
でもそれは、27C256(32KB)ではなくて、27C1001(128KB)にぎっしりとプログラムがつまったROMなのです。
しかも、それをZ80の64KBのメモリ空間で実行させるために、0000〜3FFFの間にバンク切り換えで割り当てている、というちょいとすごい代物なのです。
とりあえず余分なところは極力切り捨てるとしても、果たしてさきほどの空いているメモリのサイズにおさまるかどうか。
また仮になんとかおさまったとしても、バンク切り換えを前提にして書かれているプログラムをリニアなプログラムに直さなければなりません。
おお、そもそも、ND80KはオプションのBASICROMを実装してZBK開発セットと組み合わせたときには、パソコンとの通信をUSBでできるようになりますが、それはFTDI社のFT245を使って、仮想的なRS232として通信を行っていますので、そこをHIDで行うように書き換えなくてはいけません。
かなりハードなことをやっておりますから、うまく移行できますかどうか。
いずれにせよ、かなりな作業量になりますでしょう。
やめておけばよいのに…。
でも、もうとりかかってしまいました。
2010.6.22upload
前へ
次へ
ホームページトップへ戻る