Z8613を動かす (その4:とりあえず動きました)

テーマ:

いろいろやっているうちに何とか動き始めました。

まずはシリアルポートです。

Z8のシリアルはちょっと変わっていてシリアルのステータスレジスタがありません。それでは受信完了などをどうやって知るのかというと、割り込み要因レジスタを読むのです。ここまではマニュアルを読んでわかっていたのですが...

マニュアルを読み直していると、たとえ割り込みを使わないでポーリング処理をする場合でも一度EI命令を実行しないと割り込み要因レジスタが有効にならないのだそうです。

ポーリングでやるつもりでマニュアルの割り込みの部分をちゃんと読んでいなかったので気付かなかったのでした。

指示通りに初期化するとあっさり動くようになりました。

パラレルの方はアセンブラが原因でした。

前回書いたようにタイマT0の設定は出来ていました。パラレルポートも試しにプルアップ・プルダウンしながら電圧を測ると出力に設定されているようです。それなのに出力すべきデータが設定できていませんでした。

何が違っているのでしょう?

Z8613を動かす (その3:苦戦中...)

テーマ:

カテゴリー:

ボードも出来たし、アセンブラも用意できたので、いざ動かそうとしているのですが...

予想外に苦戦中です。

まず簡単に動作すると思っていたシリアルが動かない。

ならばとパラレルポートに出力させようとしたのですが、これも出てこない。

こんな基本的なものが動かないとなるとプログラムが走っていないのではという疑いがでてきます。使っているZ8613はパッケージの隅が欠けているくらいなので生きていない可能性すらあります。

小さなことでも良いのでプログラムが走っている証が欲しいところです。

ROMから命令フェッチしているのがわかればCPUが生きていることがわかります。オシロスコープでもあれば良いのですが、持っているのは古いアナログのものだけ、それもすぐには出てきません。

Z8613を動かす (その2:クロスアセンブラ)

テーマ:

ハードウェアが出来たら次はソフトウェアです。

Z8はハンドアセンブルできないほど複雑ではありませんが、アセンブラくらいは欲しいところです。今回のZ8だけでなくSBC6303ボードのHD63C03やMC6803、さらには手持ちのいろいろなプロセッサにも使いたいので出来れば多くのプロセッサに対応しているとありがたい。

ということで候補に挙がったのが「The Macroassembler AS」です。

開発ペースは遅い(というか止まっている?)ようですが、現時点でかなりの数のプロセッサに対応しています。8ビットが中心ですが、16ビット以上にも一部対応といったところでしょうか。マクロは使えますが、リロケータブルオブジェクトの出力は出来ません。

GNU binutils(の中の「as」)にも期待していたのですが、こちらは上とは逆で32ビットが中心で残念ながらZ8には非対応でした。

Z8613を動かす (その1:ハードウェア)

テーマ:

カテゴリー:

Z8613でパッケージの一部が欠けていると書きました。ただ心配していてもしょうがないので実際に動かしてみることにします。

Z8613 テストボード
とりあえず簡単なテストが出来るボードを作ってみました。

クロックは8MHzの発振器、それにリセット回路を付けています。

何かするたびにROMを書き直すのは面倒なのでシリアルポートも用意しました。パラレルポートにキーとLEDを付ける手もありますが、動かすまでが大変なので...

シリアルなら次のように順を追って試すことが出来ます。

TI SN74154N

テーマ:

カテゴリー:

以前74LS181のところで他に600mil幅の74シリーズは154くらいしか知らないと書きましたが、その154ありました。

SN74154N
TIのSN74154N 4-Line to 16-Line Decoders/Demultiplexersです。

最近では74LSシリーズもあまり見ないのにノーマル74です。1980年のマレーシア製ですね。

74139は(2 → 4)×2のデコーダ、74138は3 → 8のデコーダ、そしてこの74154は4 → 16のデコーダです。74139や74138(のLSやHC)はマイコンのアドレスデコーダに多用するのですが、この74154はまず使いませんね。

AEC-7720UW

テーマ:

カテゴリー:

以前IDE-SCSI変換器を取り上げましたが、あれは50ピンのSCSIでした。今回Ultra-Wide対応のものが出てきました。これは使っていた記憶は無いなぁ...

AEC-7720UW 表側
ラベル等から考えてこちらが表側でしょう。型番はAEC-7720UW、「UW」からわかるようにUltra-Wide SCSI対応です。

右下のジャンパCN1はSCSI Idの設定とLEDの端子、WideなのでIdは4ビットあります。

左のCN2はもちろんSCSIのコネクタですね。

HD63A03RP と SBC6303ルーズキット

カテゴリー:

MC6803との比較用に国内のショップからHD63A03RPを入手しました。

HD63A03RP
日立がMC6803をCMOS化したもので、これは1.5MHz版です。

日立のデートコード(3桁)は年が1桁しかないので製造年が特定できません。1985年か1995年か、日立ロゴがあるので2005年や2015年ではないのでしょう。

自分で回路作って確認したいところですが、ちょうど良さそうなキットがありました。「電脳伝説」のvintagechipsさんのSBC6303ルーズキット、スイッチサイエンスで購入できます。

これは基板のみなので部品は全て別途調達する必要があります。

54LSシリーズ

テーマ:

カテゴリー:

日本では滅多にお目にかかれない54LSシリーズ、海外ショップで見かけたので買ってみました。

SN54LS14J
Texas Instruments製のSN54LS14J、SN54xxxxとSN74xxxxは対応しているのでこれはシュミットトリガのインバータです。

54と74の違いはその動作温度範囲(Operating Free-air Temperature)で、通常の74が0~70°Cなのに対して54は-55~125°Cと広くなっています。ミリタリグレードと呼ばれることもあります。データシートによると温度だけでなく放射線耐性を高めた宇宙用のSN54LS14-SPなんてのもあるようですが、さすがに入手は出来ないでしょう。

ページ