現在地

マイコン

マイコン

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

6502ボード(ソフトウェア編)

テーマ:

ハードウェア編に続いて今回はソフトウェア編です。

最初のテストはJMPでループを作ってみます。これは3バイト命令なのできりの良いアドレスに配置すればA0, A1が変化しA2以降のアドレスは変化しません。

これでメモリ基板から読んで実行できていることがわかります。メモリ基板のターゲット側ポートはこれまで未確認だったのですが、ここで確認が取れました。

この後はメモリへの書き込みなど一つずつ確認していくのが堅実だとは思いますが、一気にUniversal Monitorの移植に進むことにしました。

実はこの時点ではR65C51 ACIAは未搭載だったのでメモリ基板のコンソール機能を利用します。この機能も未確認なのでまずはオープニングメッセージを表示するところまで移植してみます。

6502のアセンブリ言語を書くのは初めてです。

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

テーマ:

カテゴリー:

メモリ基板: 現状と今後の予定で製作中と書いた6502ボードが動き出しました。今回はハードウェア編です。

6502ボード
メモリボードに接続することを前提にしているので6502以外には6551 ACIAを積んでいるだけです。

メモリボードの共有メモリ経由でコンソールが使えればACIAは無くても困らないのですが、6551を使ってみたいという気持ちもあって搭載してみました。

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の復活の時かもしれません。数万円のマザーボードの修復のためとなればそう高いとは感じないでしょうから。

ページ