現在地

マイコン

マイコン

マイクロプロセッサ・マイクロコントローラ等です。

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

テーマ:

カテゴリー:

以前TLCS-90ボードは作りましたが、せっかくTMP90C840Nも手に入っているのでこちらも動かしてみることにしました。


TMP90C840NはシュリンクDIPなのでいつものユニバーサル基板(秋月のB基板)が使えません。仕方がないのでサンハヤトのICB-01Bを使用しました。価格は約10倍、秋月でシュリンクDIPやQUIP用のユニバーサル基板作ってくれないかなぁ。

ICB-01Bって長辺の取り付け穴間隔が秋月B基板とほぼ一緒なんですね。おかげでEMILY Board用のコネクタがいつもと同じように配置できました。

NEC uPD70136

テーマ:

カテゴリー:

これも最近手に入れたものになります。M27C256B, AT28C16よりちょっと前ですね。


NECのμPD70136L-12、V33と言ったほうがわかるかな。1989年製でクロック周波数は12.5MHzのものです。

パッケージは68ピンPGA, 68ピンPLCC, 72ピンQFPの3種、クロック周波数は12.5MHzの他に16MHzのものが存在します。ユニバーサル基板で使いにくいQFPを除いて安いものをeBayで探した結果これになりました。いまさらパフォーマンスを追ってもしょうがないですからね。

Motorola MC68121

テーマ:

カテゴリー:

Intel 8741A, Zilog Z8594とくれば次はこのMotorola MC68121でしょう、ということで入手してみました。


MC68121 Intelligent Peripheral Controllerです。「NF4」がマスク、「8732」がデートコード(1987年32週)と思われます。

パッケージ両端に樹脂製の保護材がついていますね。MC68kボードに搭載していたMC68010にも同様のものがついていましたが、いつの間にか紛失してしまっていました。

SBC8085

テーマ:

カテゴリー:

今回は予告していたSBC8085です。SBCZ80組んだ後これも部品あるんじゃないかと思って組み始めたのですが...

SBC8085システム
SBC8085はSBC8080と互換(少なくともSUB8080との接続において)のCPUボードです。写真はSBC8085+SUB8080の組み合わせですね。

SUB8080はSBC8080接続時から何も変更していません。ROMも以前Universal Monitorのテストをした時のままです。

SBCZ80(その後)

カテゴリー:

SBCZ80について進展がありましたので記録しておきます。

メッセージ文字化け

電源ON時にメッセージの一部が化ける現象が発生していました。

CR,LF,"Universal Monitor Z80",CR,LF,00H

上記のメッセージ(最後の00Hは文字列の終端マークです)を表示しているはずなのになぜかLFと"U"の間に変な文字が挿入され次の"U"とともに化けてしまいます。電源ONのままリセットすれば問題はありません。

次にメッセージを少し変形しました。

CR,LF,CR,LF,"Universal Monitor Z80",CR,LF,00H

やはり2文字目のLFの後に挿入されると想像していましたが、実際は4文字目のLFの後"U"の前に挿入されました。

前回はここまで書きました。

さらにLF,"U"の組み合わせに何かあるのかと次を試してみます。

SBCZ80(ソフトウェア編)

カテゴリー:

前回に引き続いてSBCZ80、今回はソフトウェア編です。

いつものようにUniversal Monitorを移植するわけですが、これまでUniversal Monitor Z80を動かしてきたMAA-1ボードとSBCZ80は実はほとんど同じです。ソフトウェアから見た違いといえばROM/RAMの容量が半分になっているくらいで、SIOのアドレスなども一致しています。

となると0FF00H~0FFFFHに配置されていたワークエリア・スタックを0BF00H~0BFFFHに移動するだけで動きそうです。これならconfig.incの変更ですみます。

SBCZ80(ハードウェア編)

テーマ:

カテゴリー:

書泉ブックマートで『ザイログZ80伝説』を買ったらCD-ROM・プリント基板付きの限定版が手に入りました。Z80のボードは既に何枚も作っていますが、せっかくなので組み立ててみます。

SBCZ80
これまでのSBCシリーズは8cm×10cmでしたが、これは10cm×10cmで密度も最大クラスでしょう。

面積をくっているのはRAMです。SRAMなら24~32ピンのDIP1つで済みますが、18ピンのDRAMが2つに制御用のロジックが4つ必要となっています。今となってはこの容量ならSRAM積んだ方が有利ですが、このボードはDRAMを動かしてみたいということで設計されたとのこと。

8031/8032ボード(ソフトウェア編)

カテゴリー:

8031/8032ボードはいくつかアドレスを変えながらループさせてアドレスバス確認が出来たところで一応完成ということにして、Universal Monitorの移植にかかります。

ターミナルはEMILY Board経由と内蔵UARTの両方に対応することにしますが、まずは簡単そうなEMILY Board経由で一通り動かしてみることにして一通りのコマンド(D(ump), G(o), S(et), H(bank), L(oad))を実装してみました。

これもまた癖のあるアーキテクチャですね。

8031/8032ボード(ハードウェア編)

テーマ:

カテゴリー:

またEMILY Board使って新たなプロセッサが動くようになりました。

8031/8032ボード
今回作ったのはIntelのMCS-51ファミリの8031/8032用のボードです。

このファミリはEA/Vppで内蔵ROMを切り離せるので8058とか8751なども使えると思いますが、8031/8032の入手性は悪くないのでわざわざROM内蔵品を使うことも無いでしょう。

Z80のRレジスタについて

カテゴリー:

Universal MonitorのZ80版にR(egister)コマンド実装していてRレジスタの挙動について誤解していたことがわかりました。そこで今回はZ80のRレジスタについて書いてみることにします。

今さら役に立つ機会なんて無いでしょうけどね。

これまでのRレジスタについての理解はざっとこんなところでした。

  1. リフレッシュアドレスは7ビットなので7ビットのレジスタ(最上位ビットは常に0)
  2. 1命令実行のたびにインクリメントされる
  3. LD A,R, LD R,A命令で値の出し入れができる

はっきり言ってあまり使い道はありません。ゲームなどの簡易乱数発生器として使うか、プロテクトのチェッカルーチンで解析妨害のために使うくらいしか思いつきません。あとは同じ値を代入し続けてソフト的にリフレッシュ動作を不全にするくらいでしょうか。

普通なら無かったことにしても構わないレジスタなのですが...

ページ