【S1】中部本多通商製 S1用Z80Bカードの情報をまとめておく^^

先日、ブログのコメント欄から中部本多通商の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がどのような構成か見てみるのも楽しそうです^^

スポンサーリンク

コメントを残す

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

日本語が含まれない投稿は無視されますのでご注意ください。 本文に全角文字を2文字以上含めて下さい (スパム対策)