現在地

マイコン

マイコン

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

Motorola MC6800

テーマ:

このMotorola MC6800はIntelの8080とともに最初期の8ビットマイクロプロセッサです。

MC68A00P
MC68A00P、「A」ですから1.5MHz品で末尾の「P」はプラスチックパッケージです。1979年製でしょうか。

後にクロックジェネレータと128バイトRAMを内蔵したMC6802が作られたことは「Motorola MC6802」に書きました。

昔マウスを作ろうとして...

テーマ:

カテゴリー:

昔マウスを作ろうとして実験した基板が出てきました。

全体
とりあえず機能が確認できればと作ったものです。

X11で使うのが前提だったので3ボタン、インターフェイスはPS/2です。コード部分は壊れたマウスから流用しようとしたみたいです。

基板 表面
これは基板表面の拡大です。

PS/2-USB変換器 (作りかけ)

テーマ:

カテゴリー:

作りかけたまま放置していたPS/2-USBのキーボード変換器です。

キーボード変換器
そんなものいくらでも安く売っているのに何で作るのか、と思うかもしれませんが、普通とは逆でUSBキーボードをPS/2ポートに接続するための変換器です。探せば売っていなくはないのですが非常に高価(見つけたのは2万円ほど)です。

何が大変ってUSBキーボードを接続するためにはUSBホストの機能が必要になります。USBはホスト側はPC等に積むから複雑になってもかまわないという思想で作られているようで、ホストは手頃なコントローラも少なく情報もあまりありません。
私は幸いにも仕事でホストのエニュメレーションのコードを書いた経験もあり、何とかなるかと思って作り始めました。

私のプロセッサ遍歴

カテゴリー:

今回は私のかかわってきたプロセッサたちです。

アセンブリ言語でプログラミングしたかハードウェア設計をおこなったものです。
それぞれ代表的なものを挙げてみました。仕事関係は詳しく書けませんのでご了承ください。

  1. Zilog Z80 CPU
    Z80はPC-8001mk2でのプログラミングから始まって、ボードの自作まで行なっていますが、全て個人的なものです。
    PC-8001mk2では
    • 640×200のグラフィックで漢字を25行表示する圧縮表示(2ラインをOR合成する)ルーチン
    • アマチュア無線コンテストのログの重複チェックプログラム
    • 62k CP/Mを実現するためにBIOS作り直し
    • ROMライタをCP/MのPIPコマンドから使えるようにする

    自作ボードでは以下のハードウェアとそのソフトウェア

Z80ボード2号機の話

カテゴリー:

これまでにZ80ボードは1号機, 3号機, 4号機(MAA-1)と紹介してきました。そう、2号機がまだなのです。今回はその2号機について書いてみたいと思います。

まずこの「2号機」という呼び方です。1号機が最初で4号機が最後(今のところ)なのは確かなのですが、どうも2号機と3号機は製作順序が逆のように思えてきています。でも「3号機」という表記をすでにかなり使っていて面倒なのでこのまま行きたいと思います。

Zilog Z80 KIO

テーマ:

カテゴリー:

前にZ80 PIOのところで見たことも無いと書いたZ80 KIOですが、偶然見つけて入手できました。

Z80 KIO
Zilog製のZ84C9008VEC、2001年製と思われます。さすがにピン数が多いためDIP品は存在せず、この84ピンPLCCか100ピンQFPのいずれかのパッケージです。

このKIOはZ80ファミリの中では登場は遅くあまり使われなかったようで、Zilog以外からは出ていないのではないかと思います。

これは8MHz版、他に10MHz, 12MHzのものもありました。

CDP1802 COSMAC

テーマ:

カテゴリー:

今回のものは少し風変わりなプロセッサです。

CDP1802ACE
これはHarrisのCDP1802ACE、COSMAC (Complementary Symmetry Monolithic Array Computer)と呼ばれていたプロセッサです。本来COSMACはアーキテクチャの名称でしたが、プロセッサ自体もそう呼ばれました。

何のルーチンでしょう?

ふとZ80ボード 3号機で遊んでいたときに考えたルーチンを思い出しました。


   1:	8000          	    ORG     8000H
   2:	8000          	check:
   3:	8000  7E      	    LD      A,(HL)
   4:	8001  AE      	    XOR     (HL)
   5:	8002  C9      	    RET

ルーチンと呼ぶのもおかしいほどの短いコードです。何をするものでしょうか?

Z80のコードがわからない人のために簡単に解説するとこんな感じです。

  1. 1,2行目は開始番地とエントリポイントのラベルです。
  2. 3行目でHLレジスタの指すメモリを読んでAレジスタに入れます。
  3. 4行目でもHLレジスタの指すメモリを読み、Aレジスタの内容とXOR演算をします。結果はAレジスタに入ります
  4. 5行目でメインルーチンへ帰ります。

簡単ですね。

ページ