2020年3月13日金曜日

FM-7用Z80カードの第2作などを製作

FM-7用のZ80カード(第2作)がようやく製作できました


ようやく基板が届いたのでZ80カードを製作することができました。
第2作はI/O誌1985年9月号に掲載された記事「Z80カードの製作」(著者は北斗星さん)の回路です。
第1作のインターフェース誌のFM-8用の回路の流用では動作が不安定だったり、対応していないFM-7があったりしたのですが、その原因を究明できていないのに(恐らくDRAMのリフレッシュ周りだろうとは思っているのですが、)別の回路に移るというのは、安易な姿勢だとは思いますが、Z80の知識がないので仕方がないと自分を納得させています。

この回路はFM-7/New7/77用として設計されており、第1作にはなかった6809とZ80を切り替えるためにアドレス$FD05をアクセスする際の対応やリフレッシュ回路もあり、動作が期待できましたが、実際にあっけなく動作しました。
(ということで第3作として予定していた「F-BASIC解析マニュアル」中の回路はKiCadで書き上げて準備してありましたが、製作の必要はなさそうです。)

回路ですが、ほぼI/O誌の回路図のとおりで、私が変更したのはLS244をLS541に置き換えたのと、Z80がアクセスされたときに点灯するLEDを追加した部分だけですので、回路図を載せるのは控えておきます。

製作したZ80カードです。10㎝x8㎝に収まっています。

Z80カード表面


Z80カード裏面

動作している様子です。(余計なものが写っていますが...)
左の基板は同時に製作した修正版FDCカードです。
Step信号2倍化回路を通して2DDのFDD(TEAC FD-235HG)を使用しています。


動作全景


両カードのアップ


FM-CP/Mも正常に動作しています。

FM-CP/Mの起動画面


FDCカードも手直しをしました。


前作のミスを修正したFDCカードです。


FDCカード


今度はちゃんと裏面からFDDへのケーブルのコネクタを出しています。
しかし、今回もミスがあり、パターンカットは不要でしたが、GNDへのジャンパの追加が2本必要でした...(ちゃんと見直しをしたつもりでしたが、ダメですね。)
でも簡単な修正ですので、基板はこれで完成とします。

FDCカード裏面



ということで、手持ちの純正CP/M基板は温存して、以前から所有していながらほとんど使用していなかったCP/Mを安心して使えるようになりましたので、多少Z80への興味が出てきたこともあり、CP/MのBIOSを自分で書いてみようなどと(無謀ですね!)考えています。

どうやらZ80側では必要なパラメータを6809に渡して、実際の処理は6809にさせれば良いようですので、これならできるかななどと甘いことを考えています。
参考資料としては、中日電工さんのZ80ワンボードマイコン(ND80Z3.5 上の動作全景写真の左上に映っています!)と互換CP/Mシステムを所有しておりますので、2012年の互換CP/M開発当時のブログを読みながら、ND80Z3.5上にCP/Mシステムを構築するという試みをなぞっているところです。
BIOSが作れれば、CP/M本体のソースは公開されていますので(上記ブログによれば何ヶ所かバグがあるようですが)、自分用のCP/Mができあがることになります。
いつになるかは全く分かりませんが、できましたらブログで紹介させていただきます。

7 件のコメント:

  1. 「いじって遊べるFM-7用のZ80カードが欲しい」と言うのが目的だったと
    思いますので目的達成、おめでとうございます。また御承知のように自分も
    FM-7の40ピンコネクタをインターフェースとする「CPU基板(非Z80)」を
    製作しましたので、動作が安定しない原因はDRAMのリフレッシュ周りと
    推測します。また、その節は情報を提供して頂き、ありがとうございました。

    CP/MやZ80については疎い身ですが、パラメータをサブシステムに渡せば、
    サブシステム関連の処理はサブシステム(の6809)側で対応すると言うのが
    富士通の一貫とした方針のように聞いてますので、ここまで到達されてる
    知識・技量があればBIOSの自作も夢と言う訳でもないと考えます。

    尚、譲って頂いたロジアナは「PulseView」で順調に動作してます。
    改めてありがとうございました。そして目標達成おめでうございます。

    返信削除
    返信
    1. コメントありがとうございます。
      当初の目的は達成できましたが、その過程でZ80のプログラムに触れる機会が増えたせいか、Z80に対する興味が少し出てきました。
      ここで68に戻ってしまって、せっかく多少は身近になったZ80の知識がクリアされてしまうのは惜しいので、もう少しいじってみようかということでBIOS80の作成に取り組んでみようと考えています。

      頂いたArduinoMega2560基板の方もロジアナを使いながら、動作を少しずつ確認していますが、まだ十分理解できていない状態です。
      6809との切り替えが自由にできるようになると、他への応用もできると思いますので何とかものにしたいのですが。。。

      削除
  2. こちらのCPUカード、差支えなければ、北斗星氏のZ80カードの作例ということで、
    私のサイトで紹介させてください。
    回路設計:北斗星氏
    基板設計・製作:Old68fun氏
    というクレジットを入れようと思います。
    よろしくお願いします。

    返信削除
    返信
    1. はせりんさまのブログはいつも拝見させていただいております。貴重な情報が満載でとても参考になります。最近も「ひっそりX1」さまのCPMforX1DiskExplorerの記事に大変助けられました。FM-CP/Mで使用するとディスクがおかしくなるのはなぜだろうとずっと不思議に思っていましたので。

      私の製作体験が他の方にそれ程役立つ情報になるとも思えませんが、載せていただいて多少なりとも参考になれば嬉しいです。よろしくお願いいたします。

      削除
  3. 快諾ありがとうございます。
    早速更新いたしましたので、ご確認願います。
    今後とも、よろしくお願いします。
    http://haserin09.la.coocan.jp/cpucard.html

    返信削除
    返信
    1. ブログ拝見しました。
      ご紹介いただきましてありがとうございました。
      今後ともよろしくお願いいたします。

      削除
  4. 桜井です。コメントを記入する際にメールアドレスが表示されるので、連絡先をご案内したつもりになっていました。申し訳ございません。ご連絡はsakurai@pugpug.orgにお願いします。
    さて、FM-7のZ80カードの設計者ですが、38年前のこと、ほとんど忘れています。覚えているのは当時Z80B(6MHz)を入手してCP/M80を動かし、PC-8801等よりも速いといって喜んだこと、CPU切り替えがうまくいかず、最終的には$FD05をデコードする回路を搭載したことくらいです。何かの問題をマスクするためだったかと思いますが、もはや覚えておりません。

    返信削除