日立 MB-S1 中部本多通商製 S1用Z80Bカードの情報をまとめておく

Last Updated on 2014年11月6日 by kabekin

先日、ブログのコメント欄から中部本多通商のZ80Bカード設計者の「ねゆき さん」からコメントを頂き、Z80Bカードの回路図や取説等の資料を頂きました^^

貴重な物をありがとうございます(^^)

I/O誌に掲載されていた広告
DSC00256
いつかは達成したいS1でのCP/M80弄りですが、目標に一歩近づきました(^^)

回路図を見てみるとFM-8や7のZ80カードよりも少し複雑ですが、特殊な部品もなく自作可能なレベルです。
ROMやPAL,GALは使用されていないことからファーム等のソフトも心配ありません。

広告の写真と回路図を比べながら部品の配置を調べるのも楽しそう^^
DSC00257
鮮明な写真をお持ちの方、見せて頂けると助かります^^

さすがにBIOS等のソフト類は設計者さんの手元にも残っていないそうで、自作&移植する必要がありますので「S1 CP/M80作戦」の達成は数年かかるかもしれません・・・
引き続き、皆さんにお知恵をお借りしながら是非達成したいと思います^^;;

今後自作や移植する際の参考として情報をメモっておくと
 (勘違いしている可能性あり^^)
・Z80動作時も本体の6809はHALTせずフローティングバスで切り離す仕組み
・6809はHALTしないので並列で動作している。
・Z80カードは拡張メモリ領域のみ($00000~$80000)をバンク切替で使用(512KB)
・Z80のI/OはI/O空間にありメモリ空間の64KBは全てRAMにマッピングされる。
・Z80のメモリ空間は前半56KBと後半8KBに分割されZ80I/O側レジスタの0~2、4~6ビットにそれぞれのエリアのバンク番号(0~7)をセットして切替。
・Z80のバンクレジスタはリセットでクリア。
・Z80から6809への割込みはZ80側のI/Oポート7ビットオン。
・割込種類はIRQ,NMIを選択可能。中部本多通商のBIOSはIRQで動作する設計。
・Z80側のI/Oポートを回路図から調べる(残件)
・S1内部6809は本体実装メモリ($84000~$89FFF)を使用する。
・6809からZ80の起動は$FF7Fに$FFでZ80スタンバイになる。以降BUSCTL($FE19)の操作のみでOK。
・$FE19に$00でZ80スタート,6809に制御を戻す場合$FE19に$80(バスリクエスト)で$FE19の7bitオンを検出したら6809側で処理OK、Z80に戻すときは$FE19に$00。この繰返しで処理する。
・S1用CP/M80にはFM用CP/M同様のBASICステートメントを実行できる¥.COMがある。
・リブート時はFDからではなくメモリから読み込むので高速。
・標準でRAMディスクをサポートし空きメモリ空間をRAMディスクとして自動で割当ててくれる。
・スクリーンエスケープシーケンスによりS1-BASICのステートメントを実行できるのでグラフィック等も可能←現在の私には理解できていません^^;;

これらの高機能CP/M80を作るのは無理ですが、自作ボードマイコンでCP/Mを弄れる程度の基本的な入出力がインプリメントをできればと思います。

CP/M80の移植となればZ80(8080??)のアセンブラも必要になると思うので、現状では手も足も出ません。

1年くらいの作業目標を定めて2016年までには達成したいものです^^

ちょっと気が長すぎるような気もしますが、最近は時間の経つのが異常に速いので、妥当な目標かと・・・

少し前に正月だったような気がするのにもう11月ですから^^;;;
まずは、以前から計画しているFLEXの移植でOSの移植を練習してからCP/Mも調べながら進める予定です(^^)

(しかしZ80側のメモリ空間は完全に独立しているので6809は常にシステムモードで動作していると思われ・・・FLEXがユーザモードを使用しているとすればCP/Mの移植の方が楽なのかもしれません)

I/O誌のEMX80は8080インタプリタがソフトなのでシステム/ユーザモード切替を駆使しているようですが、Z80Bカードではお互いが同時に動いて6809<->Z80のデータやり取り時にMBCで拡張メモリ部を切替えているだけのようなので、ユーザモードは必要なさそうに感じます。

まぁ、どちらにしてもやったことが無いので、まずは現状確認から・・・・
資料によると、どうやら中部本多通商製のS1用CP/M80にはBIOSのソースコードが入っていたようなので、ディスクをお持ちの方いろいろヒントを下さい^^

たしかX1のCP/M80にCBIOSのソースコードが入っていたと思うので、X1を引っ張り出してきてCBIOSがどのような構成か見てみるのも楽しそうです^^

4件のコメント

  1. CP/Mは実現されたのでしょうか? 未実現&必要ならメールで質問いただければお力になれるかもしれません!?
    EMX-80やX1のCBIOS、FM-7とか自分も見ていましたのでなんとなく他人事じゃない気がしてます。(^^;
    まさにこの記事が書きこまれた時期に個人的ではありますがFM-7/8のエミュレータである
    XM-7上で自力でCP/M(BIOS)のポーティングに挑戦し、現在はほぼ実用的な感じになっています。
    あと、次のステップとしてXM-7上でFlexをポーティングしてみたい気もしますが・・・。

    1. 去年と今年は出張が多く自宅にいる時間が少なく趣味に取れる時間がほとんどなくなっています^^;;;
      そんな、こんなでS1バスで6809とZ80の切替回路の実験まで進んだまま72ピンエッジコネクタの基板がどこかにいってしまい中断したままだったりします。
      CP/Mはブロッキングとデブロッキングの部分が理解できずサンプルを見てみたいと思いながらこちらも進捗なしです。
      CP/M本体はライセンスが開放されているようなのでブートローダやBIOSさえ自作できればライセンス関係なしで堂々と使える環境が揃えられるのが魅力ですね。
      OS-9は時々中古で出回っているようなので正規ソフトを入手できる可能性もありますがFLEXは正規のソフト入手は困難なので興味がなくなってしまいした^^
      CP/Mの作業を再開した際には色々教えてください(^^)

  2. ソフトなんでここに書いておきます。
    ブートローダとBIOS(Z80,6809)の雛形はおおよそできてきました。
    完全な理解ではないですが、
    メモリのマッピングもできるようになりました。
    のこりはFDCアクセスルーチンの準備なんですが難航してます ^^;
    とはいえもうすぐですよ~ 😀

    1. おっ!色々ご検討ありがとうございます。
      出張が多くハードの製作がほとんど進んでいませんが、ソフトの方は進んできてますね^^
      今週は広島に戻っていますが来週から再度鹿児島出張です(泣
      エミュレータ上で動作させることが動かしながら勉強したいので、また色々教えてください
      と、いっても今回の鹿児島出張ですがラズパイゼロWを持っていきましたが
      一度も触っていなかったりします^^;;

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください