懲りもせずに、さらにZ80カードを作ってみました!
[12月21日追記]CP/Mも走りました!(はせりんさんのアドバイスのおかげです)
今回のZ80カードは、ほうめいさんによる77AV用のZ80Hカード(韋駄天)です。
「6809活用研究(工学社)」掲載の記事を見て、いつかは作ってみたいと思って記事のコピーを保存してあったのですが、ほうめいさんのブログ「まごころせいじつ堂」に回路図の訂正が載ったのを見て、ついに作ってみることにしました。
(うまく行けば、私の常用機であるFM77AV40SXでもCP/Mが走るかもという甘い希望を持っていますがどうでしょうか。) ←コネクタが違っていました。残念!
ハードの製作
ブログの回路図を元にしてKiCadで回路図を描き、ICの配置もブログの写真通りにしてプリント基板を製作しましたが、メモリーICを128KBに変更することで何とか10x8cmのサイズに収めることができました。
Z80Hは手持ちがありませんでしたので、古いD780C-1を使用してみましたが不思議なことに8MHzクロックのままで動作しています。
しかし、いつものようにポカをしてしまい、128KBメモリーのプルアップすべきCS端子をプルダウンしてしまったので、パターンカットや追加配線が必要となりました。
「6809活用研究」にはF-BasicのTiny Monitorも載っていましたので、入力して走らせてみました。
画像のように、コマンド M, D, S, R が機能していますのでハードは正常に動作しているようです。
CP/Mの移植
CP/Mの移植に必要なソフトも「6809活用研究」に載っているので、BIOS等はそれらを打ち込めばよいのですが、CP/M本体はX1用のものを使用することになっています。
もちろんX1用のCP/Mは所有していないので、最初に手持ちのFM-CP/Mのディスク中のFMCPM605.SYSが5インチ用の60K_CP/Mかと思って適用してみたり、動いている56K_CP/Mから60K_CP/Mを作成して適用してみたりしましたが、うまく行きません。さらに、CP/M2.2のソースをアセンブルしたものを適用したりしましたが、やはり動作しません。
ということで、CP/Mの移植については挑戦中ということで、先にそのまま入力していたBIOSなどのソースを改めて読んでいるところです。
[12月23日追記]FM-CP/Mの60K版を元にしたものが動作しましたので、次の課題は公開されているソースをアセンブルしたもので動作させることですね。
最後に
回路やソフトを公開して下さったほうめいさんに感謝いたします。
とりあえず製作した試作第一作の不完全なプリント基板(ミスがあるためパターンカットと追加配線が必要なのと、シルク印刷が不十分)ですが、余分が数枚ありますので、もしご希望の方がおられましたらメールで連絡を下さい。返信用封筒に切手を貼って送ってくださったら無料でお送りします。
FM用CP/MとX1用CP/MではCCPとBDOSが1セクタずれて格納されているので、
返信削除それが原因かもしれません。
http://haserin09.la.coocan.jp/cpm80.html#CPMFORMAT
FM77AV40系は、メモリスロットが48ピンですので、
残念ですがそのままでは刺さらないです。
http://haserin09.la.coocan.jp/cpucard.html#IDATEN
今のところ、3行のスタートメッセージが出るところまでで止まっています。
削除アドバイスを受けて早速、FM-CP/Mで作成した60K CP/MディスクのCCPとBDOS(Trk0,Sct3~24)をSct2~23に移動したものを作成し、それにIDATENのker14,config,bios14などを適用してみましたが、やはり動作しませんでした。(手作業なのでミスの可能性もありますが...)
また、かなり長いリストを手入力しましたので、入力ミスの可能性もあると考えて見直しをしています。
なお、60K FM-CP/Mを作成する際のMODSYSの使い方については、はせりんさまのブログが大変参考になりました。ありがとうございました。
私のFM77AV40SXのメモリスロットには既に拡張メモリカードが刺さっていたのを忘れていました。。。
はせりんさま 動きました!
削除一旦作業を止めて他のことをした後に、電源を入れて再度試してみたらなんとすんなりと立ち上がりました!
今のところ正常に動作しないコマンドはFORMATぐらいのようです。(これは当然ですね。)
はせりんさまのアドバイスのお陰です。ありがとうございました。
無事動いて良かったです。
削除差支えなければ、下記のASCIIARTを試していただけませんでしょうか。
韋駄天カードの速さに大変興味があります。
http://haserin09.la.coocan.jp/asciiart.html
よろしくお願いします。
はせりんさま 早速試してみました。
削除手動計測ですが、3回計測していずれも2分51秒でした。
CLOCK:8MHz, CPU:Z84C0020PEC, MEMORY:TC551001CP-70L, MBASIC:Ver5.21です。
韋駄天の名に恥じず、流石に速いですね。
測定していただき、ありがとうございます。
削除さっそく掲載させていただきました。MBASIC on CP/M部門で、
最速の結果となりました。素晴らしいです。
http://haserin09.la.coocan.jp/asciiart.html#MBASIC
あと、基板の方のお写真もCPUカードのページで紹介させていただければ、と思います。
よろしくお願いします。
はじめまして。@sunagawa_keikiと申します。
返信削除こちらの記事を参考に私も128K SRAM版のボードを作ってみたのですが、なかなかうまく動かず苦労しています。起動すると最初のIDATEN SYSまで表示したところで反応がなくなります。ほうめいさんのブログにありましたAS6C1008を使い、22、30ピンをそれぞれL、Hに固定しました。古い記事への質問で恐縮ですが何かお知恵をいただければ幸いです。
ブログを見ていただきましてありがとうございます。
削除私はTC551001を使用していますが、CE1#はL,CE2はHにしておりますので、SRAMの接続はOKだと思います。
IDATEN SYSTEMが表示されたという事は、既に動作確認用のモニタを走らせて、ハード面はOKであることは確認済みで、CP/Mを走らせようとしているということですね。だとすると、「6809活用研究」中のソースリストには見にくい部分がありますので、慎重に入力する必要があります。私も何回も何回も見直して修正を重ねました。ソース入力について分かりにくい部分がありましたらご連絡ください。
無事にCP/Mまで動作されることを願っております。
ご返事どうもありがとうございます。言葉足らずで申し訳ありませんでした。CP/Mの起動で詰まっています。CEの接続OKで安心しました。もう少しソースリストを見直してみます。
返信削除リストの入力はかなりの作業でしたね。私が入力したリストと比較してみると、ミスの発見、あるいはミスがないことの確認ができると思います。
削除ミスがないことが確認できれば、CP/Mシステムの構築という次の段階に安心して進めますので。
ご希望なら私が入力したソースリストをお送りしますので、自己紹介欄にあるメールで連絡をいただけますでしょうか。