昔マウスを作ろうとして...
昔マウスを作ろうとして実験した基板が出てきました。
とりあえず機能が確認できればと作ったものです。
X11で使うのが前提だったので3ボタン、インターフェイスはPS/2です。コード部分は壊れたマウスから流用しようとしたみたいです。
これは基板表面の拡大です。
コントローラにはお気に入りのAtmel AT90S2313-10PCを使用しています。左横の6ピンのコネクタはISPによるソフトウェアの書き換え用です。
マイクロプロセッサ・マイクロコントローラ等です。
昔マウスを作ろうとして実験した基板が出てきました。
とりあえず機能が確認できればと作ったものです。
X11で使うのが前提だったので3ボタン、インターフェイスはPS/2です。コード部分は壊れたマウスから流用しようとしたみたいです。
これは基板表面の拡大です。
コントローラにはお気に入りのAtmel AT90S2313-10PCを使用しています。左横の6ピンのコネクタはISPによるソフトウェアの書き換え用です。
前にAVR用ツールとして紹介したボード、AT90S1200用のRCEN書き換えボード(の未完成品)であることがわかりました。
これが表側の完成形です。前回の写真とどう違うのかって? ICの1ピンの横に100kΩの抵抗が増えています。
裏側にも先ほどの抵抗以外に、配線が1本追加されています。
前回用途がわからなかったのですが、気になるのでいろいろと探してみました。
まず対象デバイスですが、20ピンデバイスで12Vを使用するもの、しかもおそらく使ったことがあるか使おうと検討したことのあるデバイス、ということで挙げてみると候補は次のような感じになります。
作りかけたまま放置していたPS/2-USBのキーボード変換器です。
そんなものいくらでも安く売っているのに何で作るのか、と思うかもしれませんが、普通とは逆でUSBキーボードをPS/2ポートに接続するための変換器です。探せば売っていなくはないのですが非常に高価(見つけたのは2万円ほど)です。
何が大変ってUSBキーボードを接続するためにはUSBホストの機能が必要になります。USBはホスト側はPC等に積むから複雑になってもかまわないという思想で作られているようで、ホストは手頃なコントローラも少なく情報もあまりありません。
私は幸いにも仕事でホストのエニュメレーションのコードを書いた経験もあり、何とかなるかと思って作り始めました。
これまでにZ80ボードは1号機, 3号機, 4号機(MAA-1)と紹介してきました。そう、2号機がまだなのです。今回はその2号機について書いてみたいと思います。
まずこの「2号機」という呼び方です。1号機が最初で4号機が最後(今のところ)なのは確かなのですが、どうも2号機と3号機は製作順序が逆のように思えてきています。でも「3号機」という表記をすでにかなり使っていて面倒なのでこのまま行きたいと思います。
Siemensの半導体部門は独立してInfineonとなりましたが、これはその前のものです。
SiemensのSAB8088-2-P、オリジナルはもちろんIntelの8088です。8086のデータバスを16⇒8ビットにしたもので、V30 (μPD70116)とV20 (μPD70108)の関係と同じです。
前にZ80 PIOのところで見たことも無いと書いたZ80 KIOですが、偶然見つけて入手できました。
Zilog製のZ84C9008VEC、2001年製と思われます。さすがにピン数が多いためDIP品は存在せず、この84ピンPLCCか100ピンQFPのいずれかのパッケージです。
これは8MHz版、他に10MHz, 12MHzのものもありました。
今回のものは少し風変わりなプロセッサです。
これは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のコードがわからない人のために簡単に解説するとこんな感じです。
簡単ですね。
V20を半年ほど前に紹介しましたが、これはその16ビット版です。
V30の型番はμPD70116、これは8MHz版のμPD70116C-8です。マーキングによると1991年アイルランド製のようですね。
V30はPC-9801シリーズに1985年の「PC-9801U」から搭載され、その後80286/80386がメインとなった後もしばらくはサブとして搭載されていました。そのため日本国内では知名度の高いプロセッサでした。
本日このElectrelicも無事に開設一周年を迎えることができました。とは言っても何か特別な企画があるわけではありません、あしからず。
これは日立のHD64180RCP6X、PLCCパッケージの6MHz版です。以前紹介したZ180はこれのバスタイミングを変更したものでしたね。
PLCC以外に64ピンDIPと80ピンQFPのものもありますが、DIPは通常のものではなくピン間が1.778mmのシュリンクタイプです。万能基板で作るならPLCC以外は変換基板が必要になってしまいますので要注意です。
さてHD64180はZ80 CPUの上位互換のCPUコアにMMU, DMAC, シリアル, タイマ等を集積したデバイスです。