2020/02/20
FM-7のZ80スロットを使う拡張カードII実践編PART4
今回は概要のみの報告ですが、ほぼ自分が納得できる状況になりました。・DRAMのリフレッシュ機能を追加しました。
極めて短い時間であればメモリに内容が残ることもありますが基本的に「6809」
以外で動作させる時には必要のようです。
ハードは「ATmega2560」の「D5」ピンからパルスを生成します。ソフトとしては
loop() の中で下のようにしました。規則的な周期でなくて構わないようです。
pinMode(5, OUTPUT); // for PWM outputmode 20200215
digitalWrite(5, LOW); // PWM=LOW パルス
delay(0.5);
digitalWrite(5, HIGH); // PWM=HIGH パルス
ただし周期が長いとDRAMの内容は消失します。その辺りは試行して決めてください。
・メモリへの書き込みで基本を疎かにしてました。
当然、「Q」、「E」信号を用意をしてましたが重要性を理解してませんでした。
「形」だけ真似しただけでしたので、副題の七転八倒的な試行錯誤をしました。
結論は(制御信号とも言えるのかは判りませんが)読み・書きで「Q」、「E」は
TTLを通して使べきです。プルアップ(ダウン)で代用が利くかも知れませんが
桜井様が指摘した「TTLはあった方が良い」の意味を痛感しました。何をしても
上手く書き込めないので、出発点の桜井様の回路図を改めて確認すると「Q」も
プルダウンされていたので「E」と同様にTTLを通して使ってみました。すると
アッサリと書き込みできました。
・「ATmega2560 → 6809」の復帰について
「ATmega2560」がバスを支配してる時に「POKE &HFD05,0」的なコードで
復帰することもあります。ただ復帰しないこともあって挙動が定まってません。
この辺り、FM-7と言うハードの経年劣化がありますので原因は特定できません。
・上のコード実行後のホットスタートでの復帰について
ほぼ100%復帰してますので、自分が納得できる状況になった次第です。
今回の基板で、昨年の前半まで製作していた「FT245RL」用のローダー的な
使い方ができたので目的は達成したと考えてます。復帰率がTTLを使わない
基板の時は70%でしたが、TTLを使った基板では、ほぼ100%です。
リフレッシュ機能を追加してからホットスタートでの復帰で失敗はないです。
もしかしたら、TTLを使わない基板でもリフレッシュ機能を追加すれば、
復帰率は向上するかも知れませんが、現在は確認する予定はないです。
・ハード、ソフトとも詳細は次回で
ソフトは整理しなくてはなりません。
それではまた。
- 関連記事
-
- FM-7のZ80スロットを使う拡張カードII実践編PART6 (2020/03/17)
- FM-7のZ80スロットを使う拡張カードII実践編PART5 (2020/02/22)
- FM-7のZ80スロットを使う拡張カードII実践編PART4 (2020/02/20)
- FM-7のZ80スロットを使う拡張カードII実践編PART3 (2020/02/11)
- FM-7のZ80スロットを使う拡張カードII実践編PART2 (2020/01/28)
スポンサーサイト
コメント
No title
Arduino(ATmega2560)からメモリへの書き込みができたのですね。
また一段ステップアップしましたね。おめでとうございます。
自分自身の力で一つ一つ確認をしながら進んで行くのは大切なことですし、
それで結果が得られると、さらにやる気が出てきますね。
2020/02/21 15:28 by Old68fun URL 編集
コメントありがとうございます
今回の基板を着想された桜井さまを始めとし、有用情報を提供下さったOld68funさま、
カベキンさま、並びに各氏の御支援があって何とか当初の目標を達成できました。
また多数の基板を製作してるtomi9様より「DRAMリフレッシュやE,Qクロックの出力」
について端的に指摘されてるにも関わらず反応が鈍いと反省もしてますが根底が素人然り
なのに背伸びして製作してる身では仕方ないとも考えてます。製作し実際に動かさないと
判らないからです。tomi9様の懸念に対し「うっかりミスがなく順調に進めば」と応えて
いますが「Qクロックの出力」において「プルダウン」を見逃してました。一見、無機的な
回路にも意味があると痛感してる次第です。
Old68funさまの御指摘・励ましのように遅くても、着実にステップアップを目指して
行きたいと思っています。
2020/02/22 09:24 by 秋田 URL 編集