工作

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

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

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

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

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

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

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

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

  • 本当に失われた

8088ボード(ハードウェア編)

2020-06-28 23:16 — asano

テーマ

カテゴリー

HD1-6120ボードはちょっと置いておいて、また新たなCPUボード作ってみました。

8088ボード
今回もEMILY Board用です。

EMILY Boardは外付けパラレルROMで動かせる知っている限りのプロセッサを動かせるようにと計画したものなので、よほど変態的なプロセッサでない限り工夫すれば繋がるはずです。今回の8088は素直な部類ですね。

基板 表面
いつものように基板を見ていきます。

HD1-6120ボード(ソフトウェア編)

2020-06-06 22:25 — asano

テーマ

予告どおりソフトウェア編です。これまでの「ソフトウェア編」ではモニタ程度のものが動いていることが多かったと思いますが、今回はプログラムの実行ができているらしいとわかる程度です。

最も簡単なテストプログラムは実行開始番地で無限ループさせるものでしょう。

HD1-6120(IM6100も)は0FFFH番地から実行を始めますので、ここに0FFFH番地へのJMP命令を置きます。これを実行させておいてアドレスバスの状態を観察するとA0A11までがすべて"H"になっていて0FFFH番地を読み続けていることがわかります。

次に異なるアドレスでループさせてみます。

HD1-6120でダイレクトにJMPできる先は、同ページ(アドレスの上位5ビットが同じ)か0ページ(アドレスの上位5ビットがすべて0)だけです。それ以外へ飛びたいときは同ページか0ページにアドレスを書いておいて間接アドレッシングを使います。ここでは簡単に0ページで試してみます。

HD1-6120ボード(ハードウェア編)

2020-06-04 23:15 — asano

テーマ

カテゴリー

去年入手したHD1-6120、ボード作りかけのまま時間が経ってしまいましたがやっと動くところまでたどり着きました。

HD1-6120ボード
いつものようにEMILY Boardを利用します。HD1-6120は12ビットバスなのでEMILY Board +8が必須となります。

基板 表側
基板の表側、搭載部品を見ていきます。

もちろん40ピンの大きなのがご本尊HD1-6120-9です。

GAL動かしてみた 第2回:16V8でオープンドレイン

2020-05-16 23:14 — asano

テーマ

カテゴリー

前回は開発環境を準備したところまで書きました。あとは目的の論理を書くだけと言いたいところですが、ちょっと気になることがあるので先に試してみることにします。

それは以下のような箇所があることです。
回路図1
オープンドレインによる(負論理の)ワイヤードORです。上の2つは実際は独立したオープンドレインバッファではなくLSIの出力がオープンドレインになっています。

残念ながらGAL16V8にはオープンドレイン出力の機能はありません。探すとオープンドレイン対応のGAL16VP8というものが存在したようなのですが、今さら入手は難しいでしょう。念のためにAliExpressとeBayを見てみましたが発見できませんでした。

GAL動かしてみた 第1回:開発環境

2020-05-15 23:58 — asano

テーマ

カテゴリー

ちょっと訳あってGAL動かしてみました。

これまでにも勤め人時代にAltera(今はIntelになっています)のEPM7128とかLatticeのLC5256MVなんかは使ったことがありました。公式には私はソフトウェア担当だったのですが、いろいろあって回路やこのようなPLDの設計も何度かやる機会もあったのです。

個人的にはGALやXilinxのXC9500など必要になったら使えるようにデバイス調達したり書き込み環境準備したりしていたのですが、いつも汎用ロジックで何とかなってしまい実践する機会がありませんでした。

とはいえMUTIF09のように人さま設計のもの書き込んで使う機会は何度かあったのでまったくの無駄ではありませんでしたが...

そんな中、機会が到来しました。

SBC6800で6502を

2020-04-25 23:46 — asano

テーマ

カテゴリー

SBC6800MC6800のマイコンボードですが、ほうめいさんがちょっとした改造あるいはソケットの細工で6502を動作させています。

当初は6502ボードもあることだし静観していたのですが、WDCのW65C02(私の6502ボードではなぜか動いていない)の動作報告も出てきたので比較用に動かしてみることにしました。

TMS9995ボード (ソフトウェア編)

2020-04-21 20:53 — asano
カテゴリー

TMS9995ボードUniversal Monitorの基本部分(D,G,Sコマンド)の移植ができましたので、アセンブリ言語でプログラミングしてみて感じたことを書いてみようと思います。

  • 豊富なレジスタ
    16と数が多いだけではなく基本的に対等なのでやりくりに苦労することがあまりありません。まぁ実態はメモリの一部なので直接メモリアクセスするのに比べメリットは少ない(命令長が短くなる・一部レジスタ専用の命令がある)ですが。

TMS9995ボード (ハードウェア編)

2020-04-18 23:11 — asano

テーマ

カテゴリー

何年も前に入手したままになっていたTMS9995、やはり動かしてナンボだと思うのでEMILY Boardで動かしてみることにしました。

TMS9995ボード
EMILY Board用のCPUボードはいつも似たようなものになります。

これ、自然とそうなるというだけではなく、敢えてそうしている面もあります。EEPROMとオシレータとかどのボードにもある部分はなるべく共通にして機械的に作業できるようにしています。このボードにはありませんがアドレスラッチなども同様です。

基板 表側
まずは表面から。

RP2A03を動かしてみた

2020-04-05 23:24 — asano

テーマ

カテゴリー

しばらく前に手に入れたRP2A03、ボード作って動かしてみました。

RP2A03ボード
このようにCPUを安直に動かすにはEMILY Boardが楽です。新規に作ったハードウェアはこのボード1枚、ソフトウェアもUniversal Monitorをそのまま使用しました。

基板の配線が終わったら電源ラインの確認後、発振器とCPUのみ搭載してクロックの確認を行ないます。M2(6502のφ2相当)にCLKを12分周したクロックが出てくればひとまずOKです。

W65C02続報

2020-01-29 22:51 — asano

テーマ

カテゴリー

動かないまま保留しているWDCのW65C02ですが、先日efialtes_htnさんよりVihを満たせていないのではないかとのコメントを頂き、入力ピンの電圧を確認してみました。

  • BE, RDY, SOB
    これらはVihとしてVDD×0.7 = 3.5V以上を要求しますが、10kΩでVDDにプルアップされており問題ないと考えられます。

    実測でもそれぞれ4.98V, 5.00V, 4.98Vと問題ありませんでした。