=========================================================================== AVR 版 PS/2 マウスコンバータ Version 1.25 All rights reserved, Copyright (c) 2001 Anikun. =========================================================================== § 1 AVR 版 PS/2 マウスコンバータの概要 本マウスコンバータは IBM PC/AT 互換機で一般的に使用されている PS/2 マウスを FM TOWNS で使用できるよう FM TOWNS の外でリアルタイ ムに変換する装置です。 純正 TOWNS マウス互換品としても使用できますが、ホイール機能付き PS/2 マウスを FM TOWNS でも有効に活用できるよう純正 TOWNS マウスの 仕様を拡張し、高速なレスポンスにも対応できます。 変換には Atmel Corporation のマイクロコントローラ AT90S1200-12PC (以下、AVR マイコンと省略)を使用しているので、電子部品以外にも AVR ライタなどが必要になりますが、TOWNS マウスの調子が悪い方はぜひ製作 してみてください。 § 2 注意事項 本データは無保証です。本データを利用して製作した装置によって起き たいかなる事故にも当方は一切責任を負いません。 § 3 マウスコンバータの製作 3. 1 マウスコンバータの基板の製作 マウスコンバータの基板を製作します。 必要な部品は同梱の回路図(AVRPS2MC.TIF または AVRPS2MC.BMP)と 表 3. 1. 1 を参考にして集めてください。 後々のファームウェアの書き換えに便利な ISP コネクタも必要に応 じて設けます。図 3. 1. 1 を参考にしてください。また、リセットス イッチも任意ですが、設けておくと便利でしょう。 なお、現在のファームウェアでは PORTD の PD5(9 ピン)に接続され ているショットキバリアダイオードを省略することができます。出力 ポートに設定されているので、省略する場合はオープン(何も接続しな い状態)にしておきます。しかし、将来の拡張で必要になることがある ため省略しない方が良いでしょう。 表 3. 1. 1 部品リスト ┏━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━┯━━━┓ ┃ 分類 │ 部品名 │ 数量 ┃ ┣━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━┿━━━┫ ┃ マイクロコントローラ │ AT90S1200-12PC(注 1) │ 1 個 ┃ ┠──────────────┼─────────────────┼───┨ ┃ スイッチングダイオード │ 1S1588(小信号用汎用品で代替可能) │ 1 本 ┃ ┠──────────────┼─────────────────┼───┨ ┃ ショットキバリアダイオード │ MA723(小信号用汎用品で代替可能) │ 5 本 ┃ ┠──────────────┼─────────────────┼───┨ ┃ セラミック発振子 │ 12.0[MHz](コンデンサ内蔵タイプ) │ 1 個 ┃ ┠──────────────┼─────────────────┼───┨ ┃ 炭素皮膜抵抗 │ 4.7[kΩ](1/8[W] 以上; 黄紫赤金) │ 3 本 ┃ ┃ │ 100[kΩ](1/8[W] 以上; 茶黒黄金) │ 1 本 ┃ ┠──────────────┼─────────────────┼───┨ ┃ アルミ電解コンデンサ │ 4.7[μF](10[V] 以上) │ 1 個 ┃ ┃ │ 10[μF](10[V] 以上) │ 1 個 ┃ ┠──────────────┼─────────────────┼───┨ ┃ 積層セラミックコンデンサ │ 0.1[μF](50[V]; 104) │ 1 個 ┃ ┠──────────────┼─────────────────┼───┨ ┃ コネクタ │ ミニ DIN 6 ピン(メス)(注 2) │ 1 個 ┃ ┃ │ D サブ 9 ピン(メス)(注 3) │ 1 個 ┃ ┃ │ 20 ピン DIP IC ソケット(任意) │ 1 個 ┃ ┃ │ ISP コネクタ(オス)(任意)(注 4) │ 1 個 ┃ ┠──────────────┼─────────────────┼───┨ ┃ スライドスイッチ │ 基板直付けタイプ │ 1 個 ┃ ┠──────────────┼─────────────────┼───┨ ┃ タクトスイッチ │ 基板直付けタイプ(任意) │ 1 個 ┃ ┠──────────────┼─────────────────┼───┨ ┃ そのほか │ ユニバーサル基板 │ 1 枚 ┃ ┃ │ 配線材 │ - ┃ ┃ │ ケース(任意) │ 1 個 ┃ ┗━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━┷━━━┛ ● 注意 (注 1) : AT90S1200 には AT90S1200-12PC と AT90S1200A-12PC がありますが、ヒューズビットを外 部オシレータに変更することで同様に使用することが できます。 ヒューズビットの意味が分からない人は新品の AT90S1200-12PC を使いましょう。 (注 2) : ミニ DIN 6 ピン(メス)のピン番号は同梱の MINIDIN6.JPG を参照してください。 (注 3) : 一般に市販されているものでは FM TOWNS の PAD & MOUSE ポートに接続できないので変換ケーブルとして 市販されているロアス株式会社のマウス延長ケーブル (型番 ZMJ20-001)などを使用する必要があります。 (注 4) : 2 列ヘッダピン(オス)を 3 ピン× 2 列の大きさに 切り分けて使用します。この ISP コネクタを設けてお くと ISP 対応 AVR ライタとの接続が簡単になり、AVR マイコンのファームウェアのバージョンアップにも容 易に対応できるようになります。 図 3. 1. 1 ISP コネクタ(オス)を上から見たピン番号 ┏━━┯━━┯━━┓ ┃ 5 │ 3 │ 1 ┃ ┠──┼──┼──┨ ┃ 6 │ 4 │ 2 ┃ ┗━━┷━━┷━━┛ ● ピン番号と信号名の対応 1 ピン : MISO 2 ピン : VCC 3 ピン : SCK 4 ピン : MOSI 5 ピン : /RESET 6 ピン : GND 3. 2 ファームウェアの書き込み(書き換え) マウスコンバータの回路は ISP(In-System Program; 基板に実装し た状態でファームウェアを書き換えること)に対応しています。 AVR マイコンのファームウェアを書き込むときには必ず FM TOWNS から取り外してください、また、ファームウェアを書き込んでいる間 はマウスコンバータのリセットスイッチを押さないようにしてくださ い。 まれに PS/2 マウスを接続したまま行うと、ファームウェアの書き 込みに失敗することがあります。その場合には PS/2 マウスも取り外 してからファームウェアの書き込みを行ってください。 ● ファームウェアファイル Flash メモリ(プログラムメモリ)に書き込むファイルは同梱の AVRPS2MC.HEX です。 EEPROM(データメモリ)に書き込むファイルは同梱の AVRPS2MC.EEP です。 § 4 マウスコンバータの使い方 4. 1 PS/2 マウスとの接続 PS/2 マウスコネクタに PS/2 マウスを接続します。 FM TOWNS に接続した状態で PS/2 マウスを接続した場合は、マウス コンバータのリセットスイッチを押すことで PS/2 マウスの初期設定 が行われて通常通り使用できるようになります。 4. 2 FM TOWNS との接続 純正 TOWNS マウス同様、FM TOWNS の PAD & MOUSE ポートに接続し ます。また、Hot Swap(活線挿抜)に対応しているので、FM TOWNS の電 源が入っている状態であっても PAD & MOUSE コネクタの抜き差しが可 能です。 なお、EEPROM のデータ化け防止のため電源が供給されてから約 1 秒間は動作しません。 4. 3 動作モードの設定 マウスコンバータの動作モードには、Expansion Mode(拡張モード) と Fast Transmission Mode(高速転送モード)の 2 種類があります。 2 つの動作モードを切り替えるため、マウスコンバータには切り替 えスイッチが 1 つあります。このスイッチを OFF にすることで PORTD の PD6(11 ピン)がオープン(内部プルアップ済み)になり Expansion Mode になります。反対にこのスイッチを ON にすることで プルダウンされ、Fast Transmission Mode になります。 この動作モードの切り替えは通電中であっても切り替えればその場 で切り替えが反映されます。 現在は対応アプリケーションがないので、純正 TOWNS マウス互換品 として使用できる Expansion Mode にしておきます。 4. 4 PS/2 マウスのレゾリューションの変更 使用する PS/2 マウスに合ったレゾリューションに変更することが できます。変更されたレゾリューションは AVR マイコンの EEPROM に 保存されるので、電源を入れるたびに毎回設定する必要がありません (動作モードに関係なく共通の設定です)。 ただし、光学式 PS/2 マウスなど、使用する PS/2 マウスによって はレゾリューションを変更しても体感的にほとんど変わらないことも あります。 ● レゾリューションの変更方法 マウスコンバータに電源が供給されたとき、またはマウスコンバー タに電源が供給された状態でマウスコンバータのリセットスイッチ によるリセットが解除されたときに、PS/2 マウスの右ボタンが押 されているとレゾリューションが変更されます。PS/2 マウスの右 ボタンの状態は電源が供給されてから約 1 秒後に、リセットスイッ チによるリセットが解除されてからすぐに読み込まれます。 ● レゾリューションの変更処理内容 EEPROM に保存されていたレゾリューションがデクリメント(03H なら 02H(4[counts/mm])に、02H なら 01H(2[counts/mm])に、01H なら 00H(1[count/mm])に、00H なら 03H(8[counts/mm])になる)さ れ、PS/2 マウスのレゾリューションがデクリメントされたレゾリュー ションに変更されます。 ● レゾリューションの初期値 ファームウェアを書き込んだときのレゾリューションの初期値は PS/2 マウスの初期値でもある 02H(4[counts/mm])です。 § 5 謝辞 本データの制作にあたり、以下の方々に様々なアドバイスを頂きました (五十音順)。 ■ 長船さん ■ 僧侶の天使さん ■ なべちゃん @abk さん § 6 現在の制限事項 6. 1 Expansion Mode(拡張モード) ● TownsOS V1.1 ではマウスカーソルが飛びます。 ● ホイール機能に対応したドライバがないため、純正 TOWNS マウ スとしてのみ使用できます。 ● TOWNS パッドエミュレーションに対応していません。 6. 2 Fast Transmission Mode(高速転送モード) ● 対応したドライバがないため利用できません。 ● TOWNS パッドエミュレーションに対応していません。 § 7 今後の予定 ■ ホイール機能に対応したマウスドライバを制作する。 ■ ホイール機能に対応した GUI ライブラリの部品を制作する。 § 8 著作権、再配布、転載、掲載について 本データの著作権は作者であるあにくんが保持しますが、再配布および 転載は無償で内容が改変されていない場合に限り自由にしていただいて構 いません(ただし、雑誌に掲載する場合には事前に電子メールで連絡をく ださい)。またその際、紹介文には同梱の AVRPS2MC.HED をお使いくださ い。 § 9 利用について 本データを利用した製品および本データに同梱されているファームウェ アを書き込んだ AVR マイコンの販売は原則として禁止します。販売を考 えている方は事前に電子メールで相談してください。 § 10 サポートについて サポートは以下の Web サイトの掲示板または電子メールで行います。 質問や要望、製作された感想、動作レポートなどもお待ちしています。 ■あにくんのホームページ(http://homepage1.nifty.com/anikun/) ■あにくん(PEC05400@nifty.com) § 11 参考文献 11. 1 書籍 ● 改訂 3 版 FM TOWNS テクニカルデータブック(アスキー出版局) ● パソコンのレガシィ I/O 活用大全(CQ 出版社) ● トランジスタ技術 1999 年 11 月号(CQ 出版社) ● トランジスタ技術 2000 年 7 月号(CQ 出版社) 11. 2 電子文書 ● AT90S1200(doc0838.pdf; Atmel Corporation) ● AT90S1200 の翻訳日本語版マニュアル(90S1200.PDF; http://plaza25.mbn.or.jp/~radiotechnica/) ● PS/2 デバイス研究室(http://www.tsp.ne.jp/~sawada/mago/) ● PC mouse information(http://www.hut.fi/%7Ethen/mytexts/mouse.html) § 12 開発履歴 ■ 2001/02/27 制作開始。 ■ 2001/03/29 Version 1.00 完成(非公開) Expansion Mode(拡張モード)に対応。 Fast Transmission Mode(高速転送モード)に対応。 ■ 2001/03/30 Version 1.10 完成(非公開) インテリマウスに対応。 ■ 2001/04/04 Version 1.11 完成 レゾリューションの EEPROM 保存に対応。 ■ 2001/04/05 Version 1.20 完成 回路変更(リセット回路付加)に対応。 ■ 2001/04/08 Version 1.21 完成 無駄な処理を削除。 ■ 2001/04/13 Version 1.22 完成 無駄な処理を削除。 ■ 2001/04/20 Version 1.23 完成 インテリマウスの対応を強化。 ■ 2001/04/28 Version 1.24 完成 低消費電力化。 ■ 2001/05/02 Version 1.25 完成 レゾリューションの初期値が 00H になっていたのを 修正。 ---------------------------------------------------------------------------