現在地

マイコン

マイコン

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

Toshiba TMP90802AP

テーマ:

カテゴリー:

東芝製のこんなマイコンが手に入りました。

TMP90P802AP
TMP90P802AP、あまり聞いたことの無い型番ですがTLCS-90という東芝の独自アーキテクチャのものです。

このTLCS-90の面白いところはアセンブリ言語のソースコードレベルでZ80そっくりなことです。バイナリの互換性はありませんが、ソースからアセンブルしなおせば移植は容易なのではないかと思います。

80系アセンブラのテクニックの最初に書いたようなバイナリコードに依存したものは駄目でしょうが...

そもそもこれはパソコン的用途ではなく組み込みをターゲットにしていますから、バイナリ互換性は必要ないと考えたのでしょう。

メモリ基板: 現状と今後の予定

テーマ:

カテゴリー:

今回はメモリ基板の現状と今後の予定を書いてみます。

まずは今動いているところです。

  1. 4k×8bitのRAMはホスト側から(シリアル経由で)アクセスできています。

    ターゲットCPU基板がまだ1枚も完成していないのでターゲット側からのアクセスは未確認ですが、ただ接続するだけなのであまり心配はしていません。

  2. シリアルからのコマンドでRESET信号を発生させることができます。ちょっとしたオマケ機能です。起動用のプログラムをRAMにロード後リセットできたら便利かなと。

    ROMエミュレータではアクセス中はターゲットからのアクセス不能になり暴走するのでアクセス中"L"になる信号を用意していましたが、せっかくDPSRAMを使っていることでもありRAMアクセスとは独立させています。

メモリ基板: DPSRAMを使った理由

テーマ:

カテゴリー:

前回に引き続きメモリ基板についてです。今回はDPSRAM構成になった理由を書いてみたいと思います。

これまでに検討した方式には次のようなものがあります。

  1. SRAM only
    一番最初に考えたのはSRAMのみを使うものです。256kbit(32k×8bit)SRAMを2つ使えば多くの8ビットCPUのメモリ空間を満たすことが可能です。これをROMエミュレータと同様に切り替えて使います。ターゲットと同時にアクセスすることはできませんので、アクセスするときはターゲットCPUをリセットしておきます。
    ターゲットとして特定のCPUを想定しないのでZ80のBUSRQWAITのような信号を使ってアービタを実装するわけにはいきません。

    起動させるだけならこれでも構いませんが、何らかのモニタを動作させようとすると最低限コンソールが必要です。

メモリ基板

テーマ:

カテゴリー:

作りかけで何度も中断し放置してきたメモリ基板がやっと動き出しました。

メモリ基板
これ構想しはじめたのは何年も前、製作に着手してからでも半年近く経過しています。一気にやれば大して配線量はないんですけどね。

ここでも紹介しているように歴史的なプロセッサを多数持っていますし、珍しいのを見かけて買ってしまうことも多くどんどん増えています。できれば単なるコレクションではなく動かしたいと思っているのですが...

今時のマイコンは高速なので、周辺回路(最低限メモリとUARTなど)をエミュレーションさせる方法もあります。AVRマイコンなどのGPIOをターゲットのバスに直結してあとはソフトウェアで処理するわけです。これはこれで面白いとは思いますが、個人的にはちょっと違う気がします。

もっと6502

テーマ:

カテゴリー:

6502は前にも出しましたが、他にも入手しています。

SY6502A
マーキングは「6502A」としかありませんが、ロゴからSynertekのSY6502Aと思われます。1980年製、末尾に「A」が付いているので2MHz版ですね。

RP65C02G
もう一つはリコー製のRP65C02Gです。製造年は不明です。

G65SC816

テーマ:

カテゴリー:

6502を拡張したのがこのG65SC816です。

G65SC816P-4
プラスチックDIPの4MHz版、1987年製のようです。

データシートに65SC802と65SC816の2種併記されていますが、65SC802は6502とピンコンパチでメモリ空間は64kB、65SC816の方はマルチプレクスバスになってメモリ空間が16MBに拡張されています。

MB8861 と MB8870

予告どおり富士通のMB8861, MB8870です。

MB8861H
MB8861はMotorola MC6800の相当品ですが、いくつか独自の命令が追加されています。これは1979年製のようですね。

パッケージは中央に大きな円と下側に溝のある富士通独特の特徴あるスタイルです。今回は国内調達したのであまり心配はないのですが、海外からだとこのパッケージは(ニセモノの可能性が低いということで)安心材料の一つといえそうです。

さて、追加された命令の詳細を知りたいところなのですが、富士通のデバイスはデータシートの入手が難しいことが多く、このMB8861も入手できていません。ハード的にはMC6800と差し替え可能ということで、「リンク」に挙げたサイトの情報と実験をもとに動かしていきます。

AKI-ROMがもう1枚...

テーマ:

AKI-ROMがなぜかもう1枚出てきちゃいました。

AKI-ROM
こちらにはDC-DCが搭載されていない他、左下のスイッチやZIFソケットからも別の個体であることがわかります。

2枚作った理由は...、例によって使いたいときに行方不明だったからでしょうね。

秋月のキットとしては高価な部類に入るのでよほど急いで必要だったのでしょう。となると、Flash EEPROMを飛ばしてしまったP/I-P55TP4Nの復活の時かもしれません。数万円のマザーボードの修復のためとなればそう高いとは感じないでしょうから。

CPU判別法(80編)

68編に引き続き80編をお送りします。

8080系

8080系とZ80系の区別は『I/O』誌の記事を参考にしました。i8080/μPD8080AF, μPD8080A, i8085の判別法は一般的なものがあれば利用するつもりでしたが、見当たらなかったのでデータシートを元に独自に書いたものです。

CPU判別法(68編)

現在のCPUではその種類や対応する命令の範囲などを取得する命令(例えばx86系のCPUID命令)がありますが、以前は微妙な挙動の違いなどから判別していました。

自作のUniversal Monitorのソースコードを例に解説してみます。

MC6800系

まずは昨日目処が立ったと書いたMC6800系からです。

この系統はあまり情報が無く(旬な時期にあまりかかわらなかったのも理由です)手持ちのデバイスで試しながら書いたものです。

該当部分のソースは次のようになっています。

ページ