現在地
工作
工作
個人的に製作してきたものの紹介です。
電子的なものがほとんどですが、そうでないものも出来るだけ出していきたいと思っています。
回路図、ソースコードなどは出来ればすべて載せたいのですが、以下の理由で難しいものが多いです。
- 回路図については無いものが多い
- どうせ1台しか作らないのだから紙に線を引くのと、実際に配線する手間は大して違わない。
- バス配線などは書かなくてもわかる(各デバイスのD0同士を接続するなど)。ずらすなど注意を要するところだけメモがあれば困らない。
- 雑誌などの記事・データシート・アプリケーションノート等を参考にしたところはそれを見ながら配線すればよい。
- 著作権的に公開でない
- 古いメディアに入っている
- 本当に失われた
残っていないのではなく、そもそも書かないことが多かったためです。
もちろん仕事ならば書きますが。
特に古いものでは雑誌など掲載のものをベースにしているものがあり、オリジナルと分離できないものは公開できません。
5インチや8インチのフロッピーだったり、PC-9801フォーマットだったりして読むのが難しいものがあります。
TMS9995ボード (ソフトウェア編)
カテゴリー:
TMS9995ボードにUniversal Monitorの基本部分(D,G,Sコマンド)の移植ができましたので、アセンブリ言語でプログラミングしてみて感じたことを書いてみようと思います。
- 豊富なレジスタ
16と数が多いだけではなく基本的に対等なのでやりくりに苦労することがあまりありません。まぁ実態はメモリの一部なので直接メモリアクセスするのに比べメリットは少ない(命令長が短くなる・一部レジスタ専用の命令がある)ですが。
TMS9995ボード (ハードウェア編)
RP2A03を動かしてみた
カテゴリー:
しばらく前に手に入れたRP2A03、ボード作って動かしてみました。
このようにCPUを安直に動かすにはEMILY Boardが楽です。新規に作ったハードウェアはこのボード1枚、ソフトウェアもUniversal Monitorをそのまま使用しました。
W65C02続報
カテゴリー:
動かないまま保留しているWDCのW65C02ですが、先日efialtes_htnさんよりVihを満たせていないのではないかとのコメントを頂き、入力ピンの電圧を確認してみました。
- BE, RDY, SOB
これらはVihとしてVDD×0.7 = 3.5V以上を要求しますが、10kΩでVDDにプルアップされており問題ないと考えられます。実測でもそれぞれ4.98V, 5.00V, 4.98Vと問題ありませんでした。
MUTIF09
カテゴリー:
Universal Monitorを移植しようと組み立てたMUTIF09、他の石も載せてからと思っていましたが時間かかりそうなのでとりあえず現状です。
MUTIF09はKasumi YOSHINO(JA1UMI)氏のシングルボードコンピュータボードで、資料はBOOTH・プリント基板はオレンジピコショップにて入手可能です。Universal Monitor移植に最低限必要なもの(と手持ちがあって迷いのないものの一部)を搭載しています。
MN1613のステップ実行(その2)
カテゴリー:
MN1613のステップ実行(その1)以降、少し進展がありました。
一つ目はアドレスバスとMEMR, MEMWをLED表示する基板を用意したこと、これで1本ずつテスタで電圧を測る必要がなくなりました。
本当はIOR, IOW, FSYCなども見たいところなのですが、EMILY Boardのリボンケーブルを利用する形にしたので諦めました。アドレスの上位4ビットは未使用ピンに割り当てたのですが、あまり今回だけの信号を割り当てるのは避けたかったのです。数も少ないことですしテスタ対応すればすむことです。
データバスはコネクタまでは準備したのですがLEDは未実装です。ステップ動作中でもメモリの内容はEMILY Board側から自由に参照・変更できるのでとりあえず無くても何とかなりそうだからです。
MN1613のステップ実行(その1)
MN1613ボード(モニタ移植編)
カテゴリー:
前回は簡単なテストプログラムを動かしましたが、その後アセンブラもある程度動作するようになったのでいつものUniversal Monitorを移植することにします。
しばらくボードを動かしていなかったので念のためにもう一度小さなプログラムを試してみましたが、何故か動作が変というかいきなり暴走している感じです。
原因はいくつか考えられます。
- ボードかCPUが壊れてしまった
- (リセット動作には不明な点が多いので)以前動いたのは偶然だった
- アセンブラが誤ったコードを吐いている
ハンドアセンブルと比較したり、以前と同じコードを試したりで3.で無いことはすぐに判明しました。