TMPZ8003
前回無事にZ8001が動作したわけですが、あれは以前中国から買ったもので念のため製作と並行して国内でZ8003も調達していました。
東芝製のTMPZ8003P-6、Z8003のセカンドソース品です。
Z8003というのはZ8001を仮想記憶対応したもので、MC68000に対するMC68010のようなものです。同様にZ8002に対するZ8004というのもありますが、セグメント無しの仮想記憶という需要はあまりなかったためか見かけませんね。
前回無事にZ8001が動作したわけですが、あれは以前中国から買ったもので念のため製作と並行して国内でZ8003も調達していました。
東芝製のTMPZ8003P-6、Z8003のセカンドソース品です。
Z8003というのはZ8001を仮想記憶対応したもので、MC68000に対するMC68010のようなものです。同様にZ8002に対するZ8004というのもありますが、セグメント無しの仮想記憶という需要はあまりなかったためか見かけませんね。
Universal Monitor Z8000は現在のところZ8002のみの対応です。これは実行環境がSBCZ8002しかないためですが、Z8001は持っているので何とか動かしてみようというのが今回のお話です。
懐かしい本を発見しました。
その名の通りパソコン同士を繋ごうという本なのですが...
初版が1982年末という古い本なので、いわゆるパソコン通信のBBSにアクセスするとかではないし、ましてやインターネットへの接続法といった本でもありません。
まずはコネクタと電線を買ってきてハンダ付けしてケーブルを作ろところから始まります。
ケーブルが出来たら次はBASICでプログラムの作成です。まだまだ自分でプログラムを書かないといけない時代でした。
アドレスエラー・バスエラーについて今度こそ終わりにするつもりです。
MC68040からは大きな方向転換があったように感じます。
複雑度は増しているはずなのにスタックに積まれる情報は減っているのです。前にもMC68010の判別(補足)に書きましたが、命令の再開を諦めて頭からやり直す方針のようです。
まずはアドレスエラーの場合です。
3回目は残りですが書ききれるかなぁ。さらに1回増えてしまうかもしれません。
ここからは自分の手で動かしたことはないのでマニュアルを元にざっくり書いていきます。
この両者はソフトウェアから見た例外処理はほぼ共通のようなのでまとめて書きます。
これらではエラー発生時の状況によってスタックに積まれる情報量に違いがあるようです。キリの悪いところで発生すると保存しないといけない項目が増えるということなのかな。
どちらが使われたかはSP+6の上位4ビットでわかります。
まずは少ない場合から。
前回はMC68000/MC68008について書いたので今回はMC68010/MC68012です。
MC68000/MC68008ではアドレスエラー・バスエラーからのソフトウェアによる復帰はできませんでした。それを改善したのがMC68010(とメモリ空間を拡大したMC68012)です。
そのためには例外処理を行なっている間復帰に必要な内部状態を保存しておかなくてはなりません。内部にこっそり保存するという方法も考えられなくはありませんが、MC68010ではスタックに積むことで保存します。
アドレスエラー・バスエラー発生時のスタックには以下のように29ワードという大量の情報が積まれています。
Universal Monitor 68000は自分のボードで動かせるMC68000, MC68010まで対応し、MC68020以降は動かす人もいないだろうから後回し、と思っていたのですが...
なんとMC68030で動かした方がおられます(リンク参照)。
これは判別やら例外処理やら対応しなくてはと思いソースを見たところ、MC68010のアドレスエラー・バスエラーの表示を作りかけたままになっておりました。これを放置したまま他の変更を行なうのは混乱の元(一応 Subversion で管理してはいますが...)なのでまずこれを完了させることにしました。
MC68000系では割り込みの他、ゼロ除算や未定義命令の実行などが発生したときにあらかじめ用意したルーチンを実行する機能があります。これを例外処理といいます。
原則として(復帰できるように)発生時のPCとSRをスタックに積んでから実行するのですが、アドレスエラーとバスエラーの場合はさらに多くの情報がスタックに積まれます。
今回はNJM2073Sのところでちょっと触れたLM386です。
ナショセミのLM386N-1、若干のC,Rを付加するだけでスピーカを駆動できるアンプになります。
データシートにはアンプの他に発振器などの回路例も載っています。
格別大出力というわけでもなく、高音質というわけでもありませんが、ちょっとしたアンプとして使いやすい石でした。
電子工作入門者向けの記事にも頻繁に登場しますが、製品に使われているのを見かけることもよくある、定番のデバイスでした。ここでも以下の記事に登場しています。
このところ古いデバイスを調達するのはeBayが多いんですが、目的のものを検索した後にそのショップの出品リストをざっと眺めるんですよ。同じとこからまとめて買えば送料節約できるので。
これもそうして買ったものの一つなんですが...
以前AY-3-8605のところで「カラー出力用のAY-3-8615」というのがありました。
その型番がぼんやりと頭の中にある状態で出品リストを眺めていたら、「んっ」と引っ掛かったんですよ。それがこれでした。
データシートを探すと「Color Processor Chip」とあります。それで中身をよく確認せずに買ってしまったんですが、全くの別物でした。まぁ$3.00だったので返品する方が面倒くさいですね。