ASに新CPU対応を(その4)
モニタも動いてこれまでに実装済みのMN1610命令に問題無いことがわかり、時間にも余裕が出てきたので、残りのMN1613拡張命令も一気に実装してしまいました。
MN1613で追加された命令にはパースの面倒なアドレッシングなどは無く、命令の数が多いだけの単純作業に近かったですね。
一段落したので現時点のファイル(asl-patch-20191120.tar_.gz)を添付しておきます。
ビルド方法
マイクロプロセッサ・マイクロコントローラ等です。
モニタも動いてこれまでに実装済みのMN1610命令に問題無いことがわかり、時間にも余裕が出てきたので、残りのMN1613拡張命令も一気に実装してしまいました。
MN1613で追加された命令にはパースの面倒なアドレッシングなどは無く、命令の数が多いだけの単純作業に近かったですね。
一段落したので現時点のファイル(asl-patch-20191120.tar_.gz)を添付しておきます。
ビルド方法
あれから作者の方と連絡とって質問したり、ID番号もらったり...
軽い気持ちで始めたのですが、ここまできたら本家への追加を目指そうかな。
code***.cを参考に推測・試行錯誤した結果です。全体を理解して書いているわけではないので、間違っていたり作者の意図しない使い方をしたりしているかもしれません。ご了承ください。
前回厄介と書いたメモリに関係する L, ST, B, BAL, IMS, DMS の各命令も使えるようになりました。これらをデコードする DecodeAdr は長いのでゼロページ間接インデックス(MN1610で一番複雑)を例にみてみます。
昨日に引き続きASのMN1610対応についてです。
code***.cを参考に推測・試行錯誤した結果です。全体を理解して書いているわけではないので、間違っていたり作者の意図しない使い方をしたりしているかもしれません。ご了承ください。
前回の SwitchTo_MN1610() の最後で呼び出していた InitFields() です。
ハードウェア編に引き続き動作確認をしていきます。
ソケットにデバイスを搭載する前に電源などの確認は済ませてあります。電源逆接などで貴重なデバイスを失うわけにはいきません。
データシートによるとRSTを解除後にSTRTが必要に読めたので、STRTをGNDに接続していました(後にSTRTはプルアップしていても動くことがわかりました)。
クロックは38ピンX2に入れているので、念のためX1を確認してみると同じ12MHzが出ています。
IM6100は入手しづらいので代わりにこれを買ってみました。
これはHarrisのHD1-6120-9、1982年製でしょうか。
以前「パーソナルなコンピュータのプロセッサ事情 (第3回: ミニコン由来のものたち)」で書いたように、DECのミニコンPDP-8と命令互換のマイクロプロセッサとしてIntersilが作ったのがIM6100です。PDP-8が12ビットなので当然これも12ビット、ミニコンでは12ビットアーキテクチャは珍しくありませんでしたがマイクロプロセッサではこのIM6100の他は東芝のTLCS-12/Aくらいしか知りません。
HarrisのセカンドソースがHM-6100です。
MN1613を動かせないかと思っているのですが、いかんせん資料が少なすぎます。とはいっても新たな資料の入手は難しいので今ある資料からピン機能を類推してみます。