実験室-Danger-では大変危険な実験をしています。
このサイトの記事をまねして行った、制作、実験により起きた事故については一切責任を負いません。
きちんと危険性を理解して実行し、友達等に簡単に貸し出さないようにしてください。

2013年5月17日金曜日

Z80コンピュータ設計進行中……

どうもお久しぶりです。Журавликです。

いやぁ、過去の記事も面白いものですねぇ。
自分の紹介欄にもある通り、現在実DのHPを作ってます。
記事を見やすく並べなおしたりしているのですが……一向に進まないorz
まあ、気長にお待ちください~


さて、今回はタイトル通りのことです。
はい。ほとんど進んでないんですよorz
まあ、

・データシートの入手
・参考とする回路図の入手
・回路図の改造&改良←イマココ!
・使用するICの入手←イマココ!

みたいな感じですかねぇ……
ICは今現在、メインになる石たち(ただしほとんど4つづつ買ってるからこんなには使わない)はこれだけ集まりました。
現在揃ったのは、
・SHARP製Z80Aファミリ(CPU,PIO,CTC,DMA,SIO。ただしPIOだけは無印なのでこのままじゃ(動作クロック的な意味で)使えない)
・UVEPROM(27C256を5つ)
・SRAM(6264と62256をいくつかづつ)
・PSG(Programmable Sound Generator)(AY-3-8910を4つ)
・GDC(Graphicc Display Controller)(μPC7220ADを2つ)
・クロックジェネレータ(8MHz)
こんな感じですかね。
あとは、FDC(Floppy Disc Controller)MB8876Aを2つ、LH0081A(Z80 PIO-A)を4つ注文してます。
 このICたちに一体幾ら使ったんだろう……



で、肝心の回路図。
まずできたのがPSGコントロールインターフェースです。
PSGってのは俗に言う「ピコピコサウンド」を生成・出力するLSIです。

この回路では、PSGを4つ使って、最大12和音・もしくは8和音4ノイズまでをモノラル音声で出力できます。
改造すればステレオ出力もできます。片チャンネルにつき4和音2ノイズづつになっちゃうけど。


次に、どこにもなくて諦めていた本が大学の図書館にあったので速攻借りました(笑)
で、回路図をコピーして改良中……
写真を見ればわかるかと思いますが、既に何か所か書き込んでます。
その筆頭がFDC周り。この回路図ではFDCとしてMB8877Aを使っていますが、入手できそうなのはMB8876Aでした。
この2つの大きな違いは、データバス極性が8877Aでは正ですが、8876Aでは負になっていることです。
なので、回路図を流用するなら、データバスにNOTゲートを追加してやる必要があります。
ただ、一番困ってるのがWD1691。データセパレータなんですが、こいつがどう探しても入手できないっぽい。売ってるとこがあったから問い合わせてみたけど、「企業向けにしか販売してません」って言われてしまいました。残念。
この部分をどうにかして別の互換品で代用するか、と考え中。
最悪ゲートを大量に使ったら組めなくはないんだろうけど……そんなの、あんまり現実的じゃない。

次に、この回路図だとRAMはDRAMを8つ使って64kのメモリにしてますが、リフレッシュ動作が面倒くさい入手したのはSRAMだったので、このあたりも改良。
リフレッシュ回路を取っ払うだけなら簡単だったんですが、生憎1つの容量は32k。2つの62256を切り替えなくちゃいけません。
 で、まずは上位32kと下位32kの半分で切り替えることに。
それから、ずっと切り替えの方法を考えていたんですが……
62256はアドレスバスはA0からA14までの15本。対して、Z80はA0からA15までの16本。……ん、待てよ。A15の値が0なら下位32k、1なら上位32kにするようにすればいいのか。
で、/MREQが0になったらそれを伝達するようにすればいいのか。
とりあえず負論理は扱いにくいから正論理に変えて、それから2入力ANDゲートの片側に放り込む。
で、A15の値を上位側はそのままANDへ、下位側はNOTをかましてからANDへ。


つまり……こうかぁ!!!って書いたRAMの部分が右下の回路図。
いや、間違ってる可能性はありますがね……


こんな感じでゆっくりゆっくり進んでます。
ホントはもっとぱぱっと進めたいんですが如何せん資料と知識が足りない……
ま、こんな感じです。




……え?ROMライタはどうなったかって?
HAHAHAHAHA!!!
じつは、まだICソケットをはんだ付けしたまでで止まってますorz
こいつも早く完成させないとなぁ。

ではでは~♪

0 件のコメント: