FM-7のZ80スロットを使う拡張カードII実践編PART2

・実践編PART1 以降に判った内容、その後の状況報告
思い込みが多いですけど更に判明したことは ATmega2560 から
FM-7 のアドレス「0xFD05」に「0」を設定し [RWB = LOW] にすると
「EB=0 → EB=1」のパルスを与えなくても「FM-7システム仕様書」の
1ー66 にある フリップフロップの/Q 信号が 「HIGH」に変わります。
更には上記の設定で 「6809」の「HALT」も解除されるようです。
「6809」の「HALT」が解除された時に「BA」信号が「LOW」になる
ことから判断しました。(BA はバス・アベイラブル信号)

しかし下記の BASIC コードを実行しても「RUN」のまま戻ってきません。
10 POKE &HFD05,1 (6809が停止します。Z80搭載時にはZ80が動作します。)
20 LIST (←ここはシンタックスエラーでも構わないです)

ですので「空中配線」の必要はなく、原因は「割り込みの対応」かと考え
重点的に調べようと考えてます。(割り込み対応は経験が少ないです)

それではまた。
スポンサーサイト



FM-7のZ80スロットを使う拡張カードII実践編PART1

・動作確認結果と(中間)報告
Z80Wの信号を「LOW」から「HIGH」に変更することはできましたけど
目的とする「6809」の「HALT」を解除はできませんでした。
もう少し踏み込んで言うとトリッキー的な方法を用いて1回だけは
「6809」の「HALT」を解除はできました。以上のことから「6809」の
「HALT」解除ができない原因は、バッファの有無ではなく他の原因と
言うことになりました。ただし桜井様が指摘するようにバッファは
ある方が解除等でも有用であると考えます。例としては「HALT」を
解除した後にバッファの衝突が生じませんので。

また「6809」において有名な千葉憲昭氏の「完全理解 6809 のすべて」に
よると「HALT」状態にある「6809」が「HALT」状態から再始動する時は
1.5クロックほどの時間を必要としますので、その間は ATmega2560 が
FM-7 のバスを支配し影響を与えていても不都合は生じないと考えます。


・テストした内容
(1)先ずは基板に部品を実装しました。↓の画像の1段目と2段目です。
https://imgur.com/a/juCn9OR

まだまだ(と言うか年齢的に向上の可能性は低いです)半田の腕前は
下手ですけど、この程度ならギリギリ良いかと考え公開します。
今回のATmega2560用に使うためには、最初は忘れてましたけど基板に
コネクタを更に加えなくてはなりません。尚空中配線については(6)で
改めて説明します。

(2)この基板をFM-7に装着し動かします、スケッチ(ソース)は↓です。
sketch_FM7_ATmega2560.info.ino
https://onedrive.live.com/?authkey=%21Aln7kHlkHDL28EE&id=6357DCB7DCA88133%21108&cid=6357DCB7DCA88133

スケッチを書いた後は一旦はUSBコードを外し、FM-7の電源を入れてから
再度USBコードを接続して下さい。

(3)回路図とATmega2560のレジスタを見ながらデバッグしました。
デバッグ出力(GtkTerm)内容の意味する所は「Z80W」が「HIGH」であれば
「Hello world-6」を出力します。途中「Hello world-3」に変わった理由は
FM-7 で下記の BASIC コードを実行し「Z80W」が「LOW」になったからです。

10 POKE &HFD05,1 (6809が停止します。Z80搭載時にはZ80が動作します。)
20 LIST (←ここはシンタックスエラーでも構わないです)

(4)「Hello 4 START」 から アドレス「0xFD05」に「0」を書き込み、
「6809」の「HALT」を解除する試みをしてます。「Hello world-7」は
上の操作をするための関数「writeCPUSw()」に入ったことを意味します。
「DATA0ビット、EB、RWB」の信号を CPU の切り換え用にしてます。
「EB_OUT」に 「0 → 1」のパルスを与えます。「Hello world-9」の
出力はZ80Wの信号が「LOW」から「HIGH」になった瞬間です。
「Hello 4 END」は「writeCPUSw()」から戻ったことを意味します。

その後の再度の「Hello world-6」の出力はZ80Wの信号が「HIGH」に
変わったことを意味してます。しかし結果は「6809」の「HALT」を解除
できませんでした。

(5)「6809」の「HALT」を解除をしたトリッキー的な方法
入力として使用する「Z80W」の信号線を出力として使い、ATmega2560
から「HIGH」を与えました。「FM-7システム仕様書」の1ー66のように
フリップフロップの/Q 信号が、そのまま40PINコネクタに出力されて
いれば(この間にTTL等のICがないと言う意味です)強制的に「HALT」
端子に「HIGH」を与える意味はあるのではと考えました。
sketch_FM7_ATmega2560.info.ino の「#ifdef Z80W_TEST」
と「#endif」の間のコードです。

(6)基板における空中配線の目的
この目的を実行するコードは、まだ実装してません。目的は(5)と
同じですが、「Z80W」の信号が「HIGH」にも関わらず「6809」が
「HALT」の状態にある時に、74LS244の使ってない回路を使って
「Z80W」の信号線を経由して、強制的に「6809」の「HALT」端子に
「HIGH」を与える予定です。(無謀なら中止します)
すんなり「HALT」解除しない原因をバッファがなくて、バスの衝突だと
思いこんでいましたので、設計する時に74LS244の使ってない回路の
入力をそのまま「GND」にしたことが悔やまれます。他の使い道を考えて、
ATmega2560のD11端子を74LS244の未使用入力端子と接続しておくべき
でした。そうしていれば空中配線は1本で済みました。残念なことに、
流石に、そこまでは気が回らなかったです。年があけて、回路に
LED を追加する等の遊び心に走り、詰めが甘かったです。

・今回の件とは全く関係ないですがマンション町内会主催の恒例の
アイスキャンドルの風景です。昨年までは製作するアイスが500個を
超えてましたけど、マンションも住民も高齢化と言うことで今年は
300個程にしました。その一風景です。

今回はここまでです。御意見、御質問をお待ちしてます。

自作における周辺の小噺・小休止、その他

昔の8ビットパソコンやゲーム機の周辺機器を製作する上で避けて通ることが
できない問題の一つにモニタがあります。現状では下の二段目の写真のように
AV入力を備えるDVDプレイヤーをモニタ代わりに何とか使ってます。
ttps://imgur.com/a/lwVxk7g

1)そこで予備もあると安心と考えてAV入力を備える「HDMIモニタ」を製作
しました。しかし「HDMIモニタ」としては使えましたがAV入力は不可でした。
https://imgur.com/a/7m8aWuA

参考にしたサイトは下ですが基板が同じでも使われてるICが微妙に違います。
「2000円で作る7インチ自作HDMIモニター 紹介」
ttps://www.youtube.com/watch?v=XOJlh4k01Mc

参考サイトのICは「RTD2660」ですが入手した基板のICは「RTD2660H」と
なっていて、どうも「HDMI専用」のようです。しかし商品の紹介では
「このコントローラーボードには、HDMI VGA 2AVポート」と明記してます。
更には肝心のICの型番の部分を微妙にボカしていました。尚VGAも不可です。

電圧が12V必要とのことでIDE電源のアダプターを利用して製作しましたが
最上段の写真と二段目の写真で状況は判るかと。なお液晶パネルはサイトと
同一のドコモのフォトパネル04を流用しました。AT070TN92等で使えます。

2)予備もあると安心と言う同じ理由から「VGAtoAV」を入手しましたが
これも写真の箱に写ってるように如何にも「「AVtoVGA」機能もあるような
雰囲気を醸し出してますが、箱を開けて取り出してみると「VGAtoAV」の
機能のみでした。(1)にしても(2)にしても腑に落ちないですが・・・

3)FM-7のZ80スロットを使う拡張カードII
昨年の大晦日にアップロードした内容の基板を「SEEED」に発注しました。
ガーバービューで見た感じが「FM-7_ATmega2560」で表裏があります。
機能としては大晦日のブログを参考にして下さい。動作確認ができれば
改めて紹介します。

4)ブックカバー
自作に関係あるのかと言う疑問も出そうですけど FM-7 の自作で参考に
してる秀和の 「F-BASIC 解析マニュアル フェーズⅠ・Ⅱ 」 用と
技術評論社出版の「68000システムの製作全科(上)・(下)」 用です。
写真に写ってる方の「手帳術」と言う本のブックカバーを流用してます。
率直に言って「手帳術」と言う内容は殆ど読んでなくブックカバーだけ
気に入って使ってます。「手帳術」を説明してる方は「税金」の役割や
社会常識を先ずは身に付けて欲しいかなと。(税務署の調査がありました)

2020年の日記用のブックカバーも基板製作する上でKiCAD関連のメモで
使ってます。ブックカバーに関心を持った理由は某金融機関の株主優待で
ブックカバーを頂いたことからです。他より小さいブックカバーです。
本物の革ですので質感は良いですけど殺生を伴う点で微妙です・・・。

5)SCSI_960(ここに至ると8ビットは全然関係なくなります)
SCSIを初めて使ったのはPC-98用の緑電子のCバス規格でした。その後に
PC-98用からのデータ移動でAT互換機用にとバッフォローのIFC-USPを
数個購入しましたが、このインテル「i960」を使うSCSIは使ったことは
ありません。しかし某F社絡みの仕事で「i960」のディスアセンブラと
シンボリックデバッガ(の一部)は作ったことがあったので、店頭で
「i960」を使ってるSCSIを見かけて、100円と言うこともあり迷わず
購入しました。なお「i960」の石を見たのは、その時が初めてでした。

「i960」の正式名称は「i80960」と言ったと記憶してますがインテル
純正の参考資料も見たことがあります。某F社がモトローラからインテルに
重心を移してる時でしたが、プリンタ用のコントローラとして使ったとか。
インテルとしては初めてのRISCライク(風)CPUとの触れ込みでした。
その後「i960」の動向は暫く判りませんでしたが、ペンティムプロの
内部仕様として使われたとの噂を某誌で聞くに止まりました。確かに
ペンティムプロの内部仕様は当時の観点からは明らかにRISCだったと
思います。もっともインテルはRISCをあらゆる観点から毛嫌いしてる
感じで、RISCに殻を被せてCISCと言うか「86コード」が動作する
CPUと言う位置付けをしてましが、それも確かに間違ってはいないので
何か明確にすることを、あえて避けてたのではないかと思います。

まぁ世の中、紆余曲折がありますが単体で「i960」の刻印を見て
懐かしさもあり、思わず買ってしまいした。そう言えば ATAPI の
規格を制定した ADAPTEC の AHA-2940 も某ハードオフで100円
でしたので拾って持ってます。(もちろん100円は支払ってます)。

今回は何かに拘りを持ってと言う切り口ではありませんでしたが
それは次回以降で、それではまた。

プロフィール

vehwk3yxv7hw

Author:vehwk3yxv7hw
今から40年近く前に発売されたFM-7
と言う8ビット機のデータ管理を
現行PCでできるようにしましたが、
この程度の作業でも1年以上かかり
ました。とは言え現行PCでデータが
管理できれば昔のPCでも間接的とは
言えインターネットに接続してると
考えました。昔からFM-7用基板を
製作したい思いもありました。
FM-7の機能追加としてソフト的に
あと一つ残ってます。某ブログを
利用し公開してましたけど閉鎖に
伴いココを新発信基地とします。
思いはFM-7のハードに止まらず
昔のゲーム機の機能も拡張も考えて
います。尚写真は30年以上前です。

検索フォーム

ブロとも申請フォーム

QRコード

QR