I/O 1987年10月号、1987年11月号および6809活用研究(工学社)に掲載された韋駄天CP/M Z80Hカード。回路図に誤りがあってその後訂正も掲載されず、紙の資料も紛失してしまったので実物から正しい回路図を起こした。
部品面
FM77AVの拡張RAMスロット図(FM-7シリーズ テクニカルノウハウ 第15章ハードウェア回路図)
部品面
はんだ面
レイアウト
回路図
回路図は実物からトレースしてそのまま起こした。
・SRAM(U2,U3)に対する*WEの論理が訂正箇所です。
・U12のLS02は実質不要で、U10のLS04の空きで代替可能。
FM77AVの拡張RAMスロット図(FM-7シリーズ テクニカルノウハウ 第15章ハードウェア回路図)
補足:
・6809とZ80Hのやり取りはFM77AV側の$FD64番地と$20000-$2FFFFの拡張RAM領域で行う。
・FM77AVのリセット後、Z80HはU4A(LS74)によりZ80RESET信号が有効になりリセットがかかったままの状態になる。この解除と再リセットは6809側で制御する。Z80にリセットがかかっている間はZ80のバスがハイインピーダンス状態のままであることを利用している。
・Z80Hから6809への要求はZ80側のI/O空間ライト動作でSETATTN信号がU4B(LS74)をセットする。6809は$FD64番地のbit0をポーリングしてZ80Hの要求を確認する。Z80Hがバス開放状態(Z80RESETまたはBUSACK)になればZ80BUSY信号が有効になりU4B(LS74)をクリアし要求を取り下げる。
・6809からZ80Hへのバス開放要求は$FD64のbit7書き込みで制御する。
・6809から$FD64のbit6,bit5に"1"書き込みでZ80HへNMI/INTを発生させる。
・バス開放要求/割り込み要求はU5(LS175)に保持される。Z80HからのI/O空間アクセス、またはZ80RESETで解除される。
・6809からZ80Hのバス開放状態を確認するには$FD64のbit7を読みZ80BUSYの信号をみる。
・MEMSEL信号は6809から$20000-$2FFFFのRAMをアクセスするときに有効になる。U14(LS138)でデコードして生成。Z80BUSY信号もデコードに入っているのでZ80H動作中は6809から読み書きできない。
・U2,U3(HM62256)に対するRAMOEはMEMSELまたは!Z80BUSYによるZ80動作中に有効。
・RAMWEは6809側の書き込み(MEMSEL&RWB)またはZ80Hのメモリライト(WR&MREQ)で有効。
・Y1(X'tal) 10MHzは実力で動作した。本来は8MHz。
蛇足:
・MEMSELを生成しているU14(LS138)にRWBも突っ込んでRAMWE用の信号を作ってもよかったかな?いや無理か。
・SRAM、OEがenableのままでWEがenableになってもいいんだ…(OE Low Fixed) HM62256 Datasheet
・当時Z80Hと32KバイトのSRAMは若松通商で買った最先端テクノロジーだ。今なら20MHz動作を狙えるか。
・master/slaveで言えばリセットが掛けられるZ80は6809に生殺与奪権を握られているけどCP/M動作中はZ80の要求を6809側ですべてこなしてるのよね。
・記事は3回連載の予定だったが強化版CP/Mが完成せず6809活用研究へと繰り越した。
・移植元となったX1用ランゲージマスター(CP/M)。ベスト電器に注文して届いたら店員さんが「私もX1使ってるんですよ」と嬉しそうに話しかけてくれたが「すみませんFMユーザーです…」申し訳なかった。
・初期の動作テストには@minemaz氏に協力してもらった。私Z80書けなかったので。
・Oh!FM誌に似たようなシステムが掲載されたのでたいへん焦った。同じ時期に同じようなアイデアはあるんだね。
・記事の反響というか感想すらまったくなかったのでちょっとさみしかった。
追記:













