現在地

工作

工作

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

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

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

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

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

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

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

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

  • 本当に失われた

F8 I/Oボード(その3: 汎用ロジックによるポート)

テーマ:

カテゴリー:

8251の前にまずは単純なポートを試してみることにします。


テスト用のボード、ブレッドボードで十分な気がしますがどうも好きになれないので作ってしまいました。

機能は単純です。

IORに対しては下部ジャンパで設定した値をSN74HC541N経由でデータバスに送り込みます。アドレスをデコードしていないのでアドレスは任意です。

F8 I/Oボード(その1: F8のメモリアクセス)

テーマ:

カテゴリー:

SBCF8では8251はメモリマップされています。でもF8にはIN/OUT命令が存在しますので、何とかI/O空間にマップできないかやってみようと思います。

これF8(F3850)の特殊性を知らないと難しさがわからないと思うので簡単に書いておきます。

まずF3850にはアドレスバスの出力がありません。他の信号とマルチプレクスされているといったレベルではなくありません。

アドレスレジスタも(プログラムカウンタすら)ありません。

プログラムカウンタ(以下PC0)無しでどうやって動くのかというと、PC0はメモリ側が持つことになっています。

MN1613のステップ実行(その5)

テーマ:

カテゴリー:

これまで不明だったリセット解除直後のX'0000'番地からのI/Oリード、X'0000'以外の値を返したら何が起きるか?ということでその3で予告したIORサイクルでデータバスに値を送り込む回路を追加しました。


空だったソケットにはSN74LS541Nを載せました。

下に並ぶショートピンの群れは値の設定用、8ビットのところで区切りがわかるように空けておきます。写真の状態でX'F010'を設定しています。

SBCV20

テーマ:

カテゴリー:

電脳伝説@vintagechipsさんの最新作SBCV20ルーズキット、発売と同時に注文したところ翌日に到着したので早速組んでみました。


今回は事前に必要な部品は確保していたので素直に組めました。とはいっても新規に調達が必要だったのは19.6608MHzのクリスタルのみです。

組み方としてはV20用のほか8088用にもできますが、8088は8088ボードで動かせているので今回はV20用で組むことにします。

MN1613のステップ実行(その3)

テーマ:

カテゴリー:

(その2)から1年以上経ってしまいましたが、ちょっと動きがあったので続きを書きます。

前に買ったのとは異なるショップでMN1613を発見、在庫も豊富なようだったので予備ということでもう一つ買ってしまいました。


さすがにこの特徴あるパッケージ、リマーク品の可能性はほぼ無いと思いますが、動作確認はしておきたいところです。

SBCZ8002(ソフトウェア編)

カテゴリー:

前回ハードウェアが無事に動作するようになったのでUniversal Monitorの移植してみました。

年末から初期化部分などを細々と書いていましたが、本格的に書き始めたのは年が明けてボードが動き始めてからです。それでも3日にはI(n)/O(ut), R(egister)コマンドまで動作しましたからこれまでの最速記録ですね。確かに慣れてきたという側面はありますが、Z8000がアセンブリ言語で書きやすいプロセッサだというのは間違いないでしょう。

今回はその過程で気になった点についていくつか書いてみたいと思います。

リセットの怪

シャープのマニュアルによるとZ8002のリセット時の動作について以下のように書かれています。

Z8002では,最初のサイクルで,0002H番地からFCWを読み出し,0004HH番地からPCを読み出し,つぎの最初の命令フェッチ・サイクルからプログラムがスタートする。

ページ