工作

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

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

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

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

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

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

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

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

  • 本当に失われた

メモリ基板

2019-09-09 23:48 — asano

テーマ

カテゴリー

作りかけで何度も中断し放置してきたメモリ基板がやっと動き出しました。

メモリ基板
これ構想しはじめたのは何年も前、製作に着手してからでも半年近く経過しています。一気にやれば大して配線量はないんですけどね。

ここでも紹介しているように歴史的なプロセッサを多数持っていますし、珍しいのを見かけて買ってしまうことも多くどんどん増えています。できれば単なるコレクションではなく動かしたいと思っているのですが...

今時のマイコンは高速なので、周辺回路(最低限メモリとUARTなど)をエミュレーションさせる方法もあります。AVRマイコンなどのGPIOをターゲットのバスに直結してあとはソフトウェアで処理するわけです。これはこれで面白いとは思いますが、個人的にはちょっと違う気がします。

続続・TTLをディスクリートで作ってみた

2019-08-19 23:19 — asano
カテゴリー

TTLをディスクリートで作ってみた続・TTLをディスクリートで作ってみたではとりあえず電圧を測っておけばと思っていましたが...

NANDゲート 改良版
結局、電流を測れるようにジャンパをに追加しました。必要に応じてジャンパを抜いて電流計を挿入します。

これでいくつかの場合について動作を追ってみました。

以下の回路図で青地で書かれているのは実測値、赤字で書かれているのは計算値です。数字が単独で書かれているのは電圧(V)、矢印とともに書かれているのは電流(mA)です。入出力の「1k」はもちろん抵抗値1kΩです。

電流の和が0にならない点が多々ありますが、電圧・電流は同時に測ったものではなく使用したテスタの内部抵抗で動作点が若干動いているようです。

続・TTLをディスクリートで作ってみた

2019-08-13 14:52 — asano

テーマ

カテゴリー

前回「あとは1A, 1Bをともにプルダウンしたときの影響と、負荷を変化させたときの変化を見たいですね。」と書いた件、早速試してみました。

まずはANDの入力からです。

1Aをギリギリ"1"となる3.3kΩのプルダウンに固定し、1Bをプルアップ / プルダウンに切り替えてみます。

最初は本物のSN7450Jの場合、1C, 1DGNDです。

TTLをディスクリートで作ってみた

2019-08-11 23:48 — asano

テーマ

カテゴリー

前回、Expander対応端子からTTLの動作を追ってみようとしたわけですが、電圧を見てみたい箇所はまだあります。ならディスクリートで同じものを作れば好きな箇所の電圧を測ることもできるだろう、ということで作ってみました。

ディスクリート版 NANDゲート
SN7450のうち1側のみ、それも1C, 1Dを省略しましたので、2入力NANDゲート(Expandable)というシロモノになりました。X, Xのところで分割できるので、入力側を使ってSN7450にANDを追加したり、出力側を使ってSN7460 ExpanderをNANDとして使うこともできるはずです。

AKI-ROMがもう1枚...

2019-07-11 23:15 — asano

テーマ

AKI-ROMがなぜかもう1枚出てきちゃいました。

AKI-ROM
こちらにはDC-DCが搭載されていない他、左下のスイッチやZIFソケットからも別の個体であることがわかります。

2枚作った理由は...、例によって使いたいときに行方不明だったからでしょうね。

秋月のキットとしては高価な部類に入るのでよほど急いで必要だったのでしょう。となると、Flash EEPROMを飛ばしてしまったP/I-P55TP4Nの復活の時かもしれません。数万円のマザーボードの修復のためとなればそう高いとは感じないでしょうから。

せっかく発見したのですが2つもいらないし、今はTL866Aを使っています。

Universal Monitor コマンド一覧

2019-06-03 23:55 — asano

テーマ

Universal Monitor Z8の基本機能が現在対応している全プロセッサで使用可能になりました。

前回はコマンドの概要のみを書きましたが、今回はコマンドラインの形式も書いておきます。

コマンドは原則1文字ですが、PIなどのように2文字のものも一部あります。
<addr>,<offset>といった数値パラメータは16進表記で必要以上の桁数を入力した場合は末尾が使用されます。
英字の大文字小文字は区別されません。
コマンドとパラメータの間・パラメータとカンマの間には空白を入れても構いません。ただし行入力バッファは短いので注意してください。

FDCボード (テスト編 その4)

2019-05-22 20:32 — asano

テーマ

カテゴリー

前回「つづく」とか書いておきながら気づくと一月以上経ってしまいました。

その間、電卓やらROMエミュレータとそれを使ってZ8モニタやらと寄り道をしていたわけですが、このFDCボードについても少しずつですが進めていました。

Universal Monitor Z8

2019-05-20 23:27 — asano

テーマ

カテゴリー

先日のROMエミュレータを2732には去年作ったZ8613ボードにモニタを移植するのが目的でした。

Universal Monitor Z8
とりあえず基本的な機能が動くようになりましたので、試しているスクリーンショットを載せておきます。

まずは0FFF8H~0FFFFH,0000H~0077Hまでのメモリダンプ、次のHコマンドでCが表示されているのでこれはプログラム(コード)メモリ空間です。

次にHRコマンドでレジスタファイル空間に切り替えてから内容を書き換えて確認したところです。上とアドレスが一部重なっていますが、内容がまったく違っていることがわかると思います。

現時点で実装されているコマンドは以下です。

ROMエミュレータを2732に

2019-05-18 22:55 — asano

テーマ

カテゴリー

ROMエミュレータを2732として使いたくなったので...

ROMエミュレータ
当初は簡単に済ますつもりでした。28ピン⇒26ピンにダイオード入れるだけならソケットに挿す部分に取り付けられます。

ただそれだと使わなくなるアドレス A12A14 がフロートになってしまいます。メイン基板にはプルアップを追加するスペースはもう無いし、実用品なのであまり空中配線はしたくありません。

そこでソケットに挿す子基板ごと作り直してしまいました。

電卓を作ってみる(後編)

2019-05-12 23:25 — asano

テーマ

カテゴリー

前回に引き続き電卓です。

√2 を計算してみた
試しに √2 を計算してみたところです。まぁ演算部分はブラックボックスなので私がどうこう言うところではありません。

有効数字は8桁です。残る左端の一桁は以下のように使われます。

  1. 値が負の場合「-」(セグメント g)を表示
  2. メモリに値が入っている場合は「.」(小数点・セグメント dp)を表示
  3. 電源電圧が低い場合は「L」(セグメント d, e)を表示

前回アナログ的な部分があると書きましたが、データシートの参考回路のその部分は次のようになっていました。