工作

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

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

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

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

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

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

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

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

  • 本当に失われた

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

2019-12-22 23:08 — asano

テーマ

カテゴリー

以前、MN1613のリセット時に何かあるようだと書きましたが、このまま放置するのは気持ち悪いので少し追ってみることにしました。

16チャンネル以上のロジアナでもあれば簡単なのでしょうが残念ながら持っていません。

簡易タイプを買おうとも思うのですが、どうせ買うならもうちょっとと欲が出てしまいなかなか候補を絞れません。

幸いMN1613のメモリアクセスはハンドシェイクなのでそれを利用してステップ実行を試みることにします。

ステップ回路
手っ取り早く追加してみたのがこの回路です。

MN1613ボード(モニタ移植編)

2019-11-19 00:06 — asano

テーマ

前回は簡単なテストプログラムを動かしましたが、その後アセンブラもある程度動作するようになったのでいつものUniversal Monitorを移植することにします。

しばらくボードを動かしていなかったので念のためにもう一度小さなプログラムを試してみましたが、何故か動作が変というかいきなり暴走している感じです。
原因はいくつか考えられます。

  1. ボードかCPUが壊れてしまった
  2. (リセット動作には不明な点が多いので)以前動いたのは偶然だった
  3. アセンブラが誤ったコードを吐いている

ハンドアセンブルと比較したり、以前と同じコードを試したりで3.で無いことはすぐに判明しました。

MN1613ボード(動き始めました編)

2019-11-05 22:45 — asano

テーマ

カテゴリー

ハードウェア編に引き続き動作確認をしていきます。

ソケットにデバイスを搭載する前に電源などの確認は済ませてあります。電源逆接などで貴重なデバイスを失うわけにはいきません。

データシートによるとRSTを解除後にSTRTが必要に読めたので、STRTGNDに接続していました(後にSTRTはプルアップしていても動くことがわかりました)。

クロックは38ピンX2に入れているので、念のためX1を確認してみると同じ12MHzが出ています。

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

2019-11-04 23:14 — asano

テーマ

カテゴリー

資料を解読していたMN1613、まだ不明点が残ってはいますがボードを作れそうな状況になってきたので作り始めました。

MN1613ボード
メモリはいつものようにEMILY Boardを使います。16ビットバスで使うのはこれが初めてですが、以前6502で8ビットの2エリアは試していたので何とかなるでしょう。

EMILY BoardのEEPROM対応

2019-10-17 22:26 — asano
カテゴリー

TLCS-90ボード, SC/MPボードにはEEPROM用のソケットを用意したと書きましたが、使えるようになりました。

また未搭載だった6502ボードにも追加しました。

このEEPROMはEMILY BoardのAVRマイコンに接続されていて、設定情報とターゲット用ソフトウェアを保存できます。これで毎回ソフトウェアをPCから転送しなくてすみます。

EMILY Board +8 (ソフトウェア編)

2019-10-13 22:47 — asano

テーマ

前回EMILY Boardの16ビットバス化のハードウェアに書きました。今回はソフトウェアについてです。

4k×8bitのメモリ空間2つがターゲットCPUにどう見えるかはCPUボードのハードウェアによって決まります。

それではEMILY Boardのコンソールから各種コマンドでアクセスする場合にはどう見えるのが良いのでしょうか?

ターゲットからの見え方に合わせないと不便ですが、あまり自由度を高くすると設定が難しくなります。とりあえず必要最小限ということで以下のモードを用意しました。

EMILY Board +8 (ハードウェア編)

2019-10-11 23:37 — asano

テーマ

カテゴリー

EMILY Boardの16ビットバスへの拡張ボード「EMILY Board +8」を製作しました。

EMILY Board +8
8ビット分のメモリを持ったボードでEMILY Boardと組み合わせて使用します。

基板面積がもったいない気もしますが、スタックする都合とコネクタの配置からサイズは変更できません。

基板 表側
EMILY BoardからマイコンATmega164を外したようなものです。コネクタの配置はもちろん、ICの配置もEMILY Boardと合わせてあります。ソケット下のC,R類の位置は若干異なっていますが。

SC/MPボード(ソフトウェア編)

2019-10-07 23:52 — asano

テーマ

SC/MPボードへのモニタの移植が一段落つきました。新しいプロセッサへの移植は毎回似たような流れで行なっていますので、その流れを書いてみたいと思います。

  1. いつもループ確認の後はいきなりモニタを書き始めているのですが、今回のSC/MPはサブルーチンコールなど基本的な命令が不足しているので使いそうなマクロをまず用意しました。

  2. なるべく似たプロセッサ(今回はMC6800, 6502)を参考にしながら先頭から実装していきます。最初の目標はオープニングメッセージの表示で、いわゆる"Hello, world!"に相当します。

  3. サブルーチン類は必要になったものから実装していきます。ラベルや配置順は可能な限り共通にして、他プロセッサ向けとの対応が取りやすいようにします。

  4. メッセージが表示できるようになったら次は行入力ルーチンです。

SC/MPボード(ハードウェア編)

2019-10-01 23:43 — asano

テーマ

カテゴリー

6502ボードTLCS-90ボードがあっさり動作したので、調子に乗って3枚目を作ってみました。

SC/MPボード
これがそれ、SC/MPボードです。正確にはSC/MP(ISP-8A/500)ではなくSC/MP II(INS8060N)ですが、ソフトウェア的には両者は一緒です。

上の方に写っているのはEMILY Board、16ビット対応用のコネクタが追加されています(配線はまだ途中です)。

TLCS-90ボード

2019-09-25 23:20 — asano

テーマ

カテゴリー

EMILY Boardで動かした2番目のCPUは東芝 TLCS-90の一員TMP90P802APです。

TLCS-90ボード
TMP90P802APを動作させるために新たに作ったのはこの基板だけです。

基板 表面
基板上の部品はほんのわずかです。見えているものの他、CPUソケットの内側にパスコンと若干のプルアップ抵抗があります。

CPUのTMP90P802APの左にあるのはTTL-232R-5V用のシリアルコネクタ、内蔵UARTに接続されています。