2018年5月4日金曜日

基板は完成したと思ったのに

最初の基板は十分検討していなかった部分もあり、特に6802SBD基板は修正箇所が多かったのですが、今度はしっかりとテストしてから発注したので大丈夫と思っていたのですが、やってしまいました。。。

6802SBD V2基板を完成させてFLEX68を動かしながらあれこれ試していたところ、
GAMEIIIで変数がA~Mの時のみ結果がおかしいことに気づきました。
GAMEIIIのソースリストと何度も見比べてみましたが間違いはありません。

ソフトではなくハードに問題がありそうだということで、モニタに戻ってメモリーの書き込みテストをしてみると、$00~$1Fのみ正常に書き込みできません。
自作モニタでもMIKBUG2.0でも同様でした。

このエリアは内蔵RAMのうちのバッテリバックアップ可能なRAMです。
6802のREはGNDに落としてあるので、内蔵RAMでなく外部RAMがアクティブになっているはずです。でも明らかに内蔵RAMが悪さをしているような。うーん、理解できない。

試しに、未接続だったVccStanbyをVCCに接続すると正常に読み書きできるではありませんか。(datasheetにはそんなことは書いてないぞ!)


ということで、痛恨のジャンパー配線が1本必要となってしまいました。


4 件のコメント:

  1. こんにちは、

    ASCIIに発表されたGAME68のソースを複写したものが手元にあるのですが、
    オリジナルのままで、ダイレクモードで

    A=?

    が正しく動作するか? をお伺いしたいのです。
    ?の時と 入力バッファが重なるのでどうかな?と思っています。
    (6800も無く実行できる環境にありません。)

    返信削除
    返信
    1. XYZ様 コメントありがとうございます。
      コメントをいただいていることに今朝気づきまして、早速試してみました。

      プログラムモードでは正常に動作しましたが、おっしゃる通り、ダイレクトモードでは正常に動作しませんでした。変数A~Zまですべて同様で、入力が変数にセットされません。

      ダイレクトモードはほとんど使用したことがなかったので気づきませんでした。ちゃんとソースを読む必要がありますね。
      ありがとうございました。

      削除
    2. やはりそうですか。
      なぜそうなっていたのでしょう。VTLもそうだったのだろうか?
      ありがとうございます。

      削除
    3. xyz様
      VTLでも試してみました。私のVTLはオリジナルの$FC00からのものを$8200からに移動させたものですが、結果はGAME3と同様でした。
      GAME3はVTLを元にして拡張したと言われているので、当然の結果ということかもしれませんね。

      削除