現在地

工作

工作

個人的に製作してきたものの紹介です。

電子的なものがほとんどですが、そうでないものも出来るだけ出していきたいと思っています。

回路図、ソースコードなどは出来ればすべて載せたいのですが、以下の理由で難しいものが多いです。

  • 回路図については無いものが多い
  • 残っていないのではなく、そもそも書かないことが多かったためです。

    • どうせ1台しか作らないのだから紙に線を引くのと、実際に配線する手間は大して違わない。
    • バス配線などは書かなくてもわかる(各デバイスのD0同士を接続するなど)。ずらすなど注意を要するところだけメモがあれば困らない。
    • 雑誌などの記事・データシート・アプリケーションノート等を参考にしたところはそれを見ながら配線すればよい。

    もちろん仕事ならば書きますが。

  • 著作権的に公開でない
  • 特に古いものでは雑誌など掲載のものをベースにしているものがあり、オリジナルと分離できないものは公開できません。

  • 古いメディアに入っている
  • 5インチや8インチのフロッピーだったり、PC-9801フォーマットだったりして読むのが難しいものがあります。

  • 本当に失われた

MC6803を動かす

テーマ:

カテゴリー:

手配していたロジックICが到着したのでSBC6303ルーズキットMC6803を載せて試してみることにします。

SBC6303ルーズキット
そのままではMC6803を動かすのに支障があるので一部変更しています。

まずNMOSのMC6803と組み合わせるのに74HCシリーズはマズいので74HCTシリーズに換えます。キット資料によればLS/ALS/ASとありますが、VIHの問題なら74HCTでもいけるはずです。

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

テーマ:

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

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

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

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

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

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

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

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

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

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

テーマ:

カテゴリー:

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

予想外に苦戦中です。

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

ならばとI/Oポートに出力させようとしたのですが、これも出てこない。

こんな基本的なものが動かないとなるとプログラムが走っていないのではという疑いがあります。使っている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を付ける手もありますが、動かすまでが大変なので...

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

HD63A03RP と SBC6303ルーズキット

カテゴリー:

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

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

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

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

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

水晶発振子周波数測定キット

テーマ:

カテゴリー:

以前「不明なパーツ」で取り上げたもの、ある方より水晶振動子であるとの情報をいただきました。

そうとわかると動かしてみたくなります。74HCU04あたりで発振回路を組もうかとも考えたのですが、秋月にこの用途にピッタリのキットが売られていたのを思い出して買ってきました。

水晶発振子周波数測定キット
これがその「水晶発振子周波数測定キット」です。専用基板があるので組み立てはすぐに終わります。

LEDの電流制限抵抗にまで1%の金属皮膜抵抗を使っているのにちょっと違和感を感じますね。

さっそく問題のパーツを測定してみることにします。

INS8073ボードを作る (その1)

テーマ:

カテゴリー:

INS8073/NのNIBLの資料が無いと書きましたが、ネット上で資料見つけました。その中に参考回路等も含まれていたのでそれを参考にボードを作ってみます。

INS8073ボード
最小構成で作ってみますが、INS8073以外は新しいデバイスを使いますので当時は積めなかったような大容量のシステムが簡単に実現できます。

クロックは手持ちの16MHzの発振器を4分周して使うことにします。

ページ