マイコン
マイクロプロセッサ・マイクロコントローラ等です。
MN1613のステップ実行(その2)
MN1613のステップ実行(その1)以降、少し進展がありました。
一つ目はアドレスバスとMEMR, MEMWをLED表示する基板を用意したこと、これで1本ずつテスタで電圧を測る必要がなくなりました。
本当はIOR, IOW, FSYCなども見たいところなのですが、EMILY Boardのリボンケーブルを利用する形にしたので諦めました。アドレスの上位4ビットは未使用ピンに割り当てたのですが、あまり今回だけの信号を割り当てるのは避けたかったのです。数も少ないことですしテスタ対応すればすむことです。
データバスはコネクタまでは準備したのですがLEDは未実装です。ステップ動作中でもメモリの内容はEMILY Board側から自由に参照・変更できるのでとりあえず無くても何とかなりそうだからです。
MN1613のステップ実行(その1)
以前、MN1613のリセット時に何かあるようだと書きましたが、このまま放置するのは気持ち悪いので少し追ってみることにしました。
16チャンネル以上のロジアナでもあれば簡単なのでしょうが残念ながら持っていません。
幸いMN1613のメモリアクセスはハンドシェイクなのでそれを利用してステップ実行を試みることにします。
手っ取り早く追加してみたのがこの回路です。
TMS9995ふたたび
前にもTMS9995は取り上げましたが、これはまた別のものです。
1994年フィリピン製のTMS9995NL、以前紹介したものはマーキングが怪しかったので比較用に別ルートで入手したものです。
ロゴが印刷だけではなく刻印されているのは珍しいですね。
もう一つ面白いのは10ピンと11ピンの根元に小さな切り欠きがあることです。まさかピンを数えやすくするために目印としてやっているんでしょうか?
ちょっと見にくいですが向こう側の30ピンと31ピンにも同様のマークがあります。
ASに新CPU対応を(その4)
モニタも動いてこれまでに実装済みのMN1610命令に問題無いことがわかり、時間にも余裕が出てきたので、残りのMN1613拡張命令も一気に実装してしまいました。
MN1613で追加された命令にはパースの面倒なアドレッシングなどは無く、命令の数が多いだけの単純作業に近かったですね。
一段落したので現時点のファイル(asl-patch-20191120.tar_.gz)を添付しておきます。
ビルド方法
ASに新CPU対応を(その3)
あれから作者の方と連絡とって質問したり、ID番号もらったり...
軽い気持ちで始めたのですが、ここまできたら本家への追加を目指そうかな。
code***.c
を参考に推測・試行錯誤した結果です。全体を理解して書いているわけではないので、間違っていたり作者の意図しない使い方をしたりしているかもしれません。ご了承ください。
前回厄介と書いたメモリに関係する L
, ST
, B
, BAL
, IMS
, DMS
の各命令も使えるようになりました。これらをデコードする DecodeAdr
は長いのでゼロページ間接インデックス(MN1610で一番複雑)を例にみてみます。
ASに新CPU対応を(その2)
昨日に引き続きASのMN1610対応についてです。
code***.c
を参考に推測・試行錯誤した結果です。全体を理解して書いているわけではないので、間違っていたり作者の意図しない使い方をしたりしているかもしれません。ご了承ください。
前回の SwitchTo_MN1610()
の最後で呼び出していた InitFields()
です。
ASに新CPU対応を(その1)
MN1613ボード(動き始めました編)
ハードウェア編に引き続き動作確認をしていきます。
ソケットにデバイスを搭載する前に電源などの確認は済ませてあります。電源逆接などで貴重なデバイスを失うわけにはいきません。
データシートによるとRSTを解除後にSTRTが必要に読めたので、STRTをGNDに接続していました(後にSTRTはプルアップしていても動くことがわかりました)。
クロックは38ピンX2に入れているので、念のためX1を確認してみると同じ12MHzが出ています。