=========================================================================== PS/2 MOUSE to TOWNS MOUSE Converter Version 1.11d All rights reserved, Copyright (c) 2000, 2003 Anikun. =========================================================================== 1. 概要 DOS/V機で広く使われているPS/2マウスをFM TOWNSシリーズ/FM TOWNSIIシリー ズのTOWNSマウスに変換するコンバータです。今話題の光学式PS/2マウスも使用で きます。またTOWNSマウス互換のため、TOWNSパッドエミュレーションもサポート する予定です。 変換にはMicrochip Technology社のマイクロコントローラPIC16F84-10/P(以下、 PICマイコンと省略)を使用しているので、電子部品以外にもPICライタなどが必要 になりますが、TOWNSマウスの調子が悪い方はぜひ製作してみてください。 なお、本製作記事ではFM TOWNSシリーズ/FM TOWNSIIシリーズを対象にしていま すが、MSXシリーズやPC-8801シリーズで使用されているマウスとも互換性がある ので、MSXシリーズやPC-8801シリーズでも使用することができると思います。 2. 製作方法 (1)基板の製作 PS/2 MOUSE to TOWNS MOUSE Converterの回路図は同梱のPS2M2TMC.TIFまたは PS2M2TMC.BMPを参照してください。参考までに部品リストを以下に示します。 なお、抵抗にはカラーコード、コンデンサには数字の表記を示したので参考に してください。 部品リスト IC PIC16F84-10/P(注1) × 1個 ダイオード MA723(注2) × 4本 セラミック共振子 10[MHz](注3) × 1個 抵抗 4.7[kΩ](炭素皮膜;1/8[W];±5[%];黄紫赤金)(注4) × 2本 100[kΩ](炭素皮膜;1/8[W];±5[%];茶黒黄金)(注5) × 1本 コンデンサ 0.1[μF](積層セラミック;50[V];104)(注6) × 1個 10[μF](アルミ電解;16[V]) × 1個 コネクタ ICソケット(DIP18ピン用)(注7) × 1個 Dサブ9ピン(メス)(注8) × 1個 ミニDIN6ピン(メス)(注9) × 1個 ヘッダピン(注7) × 1個 ジャンパピン(注7) × 1個 その他 ユニバーサル基板 配線材 ケース(注7) (注1)PIC16F83-10/PやPIC16F84A-20/P、PIC16C84-10/Pなどにも置き換え可能 ですが、10[MHz]で動作可能なPICマイコンにしてください。ただし、 PIC16C84-10/Pはコンフィギュレーションワードの値が異なるので注意が必 要です。 (注2)汎用ショットキバリアダイオードで代用できます。 (注3)他の動作周波数にしてしまうとタイムアウト処理の時間が狂ってしまう ので必ず10[MHz]を使用してください。また、容量負荷内蔵品でない場合や 水晶発振子で代用する場合には、47[pF]程度のセラミックコンデンサが2個 必要です(使用する部品のデータシートに従ってください)。 (注4)1[kΩ]〜4.7[kΩ]で代用できます。また、小型に作る必要がなければ 1/4[W]で代用できます。 (注5)ICSP(In-Circuit Serial Programming)対応のために必要な抵抗です。 10[kΩ]〜100[kΩ]で代用できます。また、小型に作る必要がなければ 1/4[W]で代用できます。 (注6)小型に作る必要がなければ普通のセラミックコンデンサで代用できます。 (注7)必要に応じて使用します。 (注8)一般のDサブ9ピンではFM TOWNSのPAD&MOUSEポートに差し込めないので 注意が必要です。 (注9)ミニDIN6ピン(メス)のピン配置はCONNECT.TIFまたはCONNECT.JPGを参照 してください。 (2)プログラムの書き込み PICマイコンに書き込むプログラムはIntel HEX Format(INHX8M)ファイル形式 のPS2M2TMC.HEX(Version 1.11)です(注1)。プログラムメモリは358ワード(アド レスでいえば0165hまで)、汎用レジスタ(SRAM)は19バイト(アドレスでいえば1Eh まで)使用しています。 PIC Writer for FM TOWNSでは以下のように設定してください(PIC16F84-10/P の場合、コンフィギュレーションワードは3FF2になるはずです)。 PICマイコン(0:PIC16C84,1:PIC16F84(A)) : 1 オシレータ (0:LP,1:XT,2:HS,3:RC) : 2 ウォッチドッグタイマ (0:無効,1:有効) : 0 パワーアップタイマ (0:無効,1:有効) : 1 コードプロテクション(0:設定,1:未設定) : 1 ID番号 (ID:0000-FFFF) : 0111 (注1)コネクタには何も接続されていない状態かつ、ジャンパ設定はオープン の状態でPICマイコンのプログラムを書き込むようにしてください。 同梱の回路図はICSPに対応しているので、PICマイコンが回路に組み込まれた状 態であってもICSP対応PICライタでプログラムの書き換えができ、今後のバージョ ンアップにも容易に対応できます。 3. 使い方 PS/2マウスコネクタにはPS/2マウスを、FM TOWNSのPAD&MOUSEポートには PAD&MOUSEコネクタを接続します。 (1)TOWNSマウスとして使う場合(TOWNSマウスエミュレーション) ・FM TOWNSの電源が入っていない場合 PS/2マウスの左ボタンを押さない状態でFM TOWNSの電源を入れます。 ・FM TOWNSの電源がすでに入っている場合 PS/2マウスの左ボタンを押さない状態でPAD&MOUSEコネクタを接続します。 (2)TOWNSパッドとして使う場合(TOWNSパッドエミュレーション)(現在、未対応) ・FM TOWNSの電源が入っていない場合 PS/2マウスの左ボタンを押した状態でFM TOWNSの電源を入れます。 ・FM TOWNSの電源がすでに入っている場合 PS/2マウスの左ボタンを押した状態でPAD&MOUSEコネクタを接続します。 (3)ジャンパ設定について ジャンパ設定によりマウスの分解能を半分にすることができます。これによ り分解能400[Counts/Inch]のPS/2マウスを分解能200[Counts/Inch]相当のTOWNS マウスにすることができます。 ・ジャンパ設定がオープンの場合 マウスの分解能を変更しません。 ・ジャンパ設定がショートの場合 マウスの分解能を半分にします。 常にジャンパ設定を監視しているので、電源が入っている状態で変更しても 認識されます。なお、この機能はTOWNSマウスエミュレーションに対してのみ有 効です。 Hot Swap(活線挿抜)に対応しているので、FM TOWNSの電源が入っている状態で あってもPAD&MOUSEコネクタの抜き差しが可能です。したがってTOWNSマウスエミュ レーションとTOWNSパッドエミュレーションを変更するたびFM TOWNSの電源を切る 必要もなく、一度PAD&MOUSEコネクタの抜いて上記の操作をすることでエミュレー ションの変更が可能です。ただし、電源が供給されたときにしかPS/2マウスの初 期設定をしていないので、PS/2マウスを接続した状態でPAD&MOUSEポートに差して ください。PS/2マウスやFM TOWNS、本コンバータは故障はしませんが正常に動き ません。 4. 現在の制限事項 (1)TOWNSマウスエミュレーション ・以下の古いTownsOSを高速モードのある機種の高速モードで使用するとマウ スカーソルが飛びます(注1)。 ・TownsOS V1.1L10B(Free Ware Collection 1) ・TownsOS V2.1L10B(Free Software Collection 5) ・3ボタンのPS/2マウスを使用する場合、中央のボタンは無視されます。 ・スクロールホイールの付いたPS/2マウスのスクロール機能は無視されます。 (注1)手元にあるTownsOSのみで確認したため、これ以外にも正常に使用でき ない可能性があります。 確認したTownsOS ・TownsOS V1.1L10B(Free Ware Collection 1) ・TownsOS V2.1L10B(Free Software Collection 5) ・TownsOS V2.1L20(F-BASIC386 V2.1L10) ・TownsOS V2.1L20A ・TownsOS V2.1L31(Free Software Collection 9) ・TownsOS V2.1L40 ・TownsOS V2.1L50A(Free Software Collection 11) ・TownsOS V2.1L51 ・TownsOS V2.1L51(on MS-DOS V6.2L10+3) (2)TOWNSパッドエミュレーション(現在、未対応) ・3ボタンのPS/2マウスを使用する場合、中央のボタンは無視されます。 5. 今後の予定 (1)TOWNSパッドエミュレーションに対応する。 (2)Atmel社のマイクロコントローラAT90S1200に移植して、マウスカーソルが飛 ぶ現象をなくす。 6. 注意事項 本データは無保証です。いかなる事故にも作者は責任を負いません。 7. 著作権/再配布/転載について 本データの著作権は作者であるあにくんが保持しますが、再配布および転載は 無償で内容が改変されていない場合に限り自由にしていただいて構いません(ただ し、雑誌に掲載する場合には事前に電子メールで連絡をください)。その際、紹介 文には同梱のPS2M2TMC.HEDをお使いください。 8. 利用について 本データを利用した製品および同梱のプログラムを書き込んだPICマイコンの販 売は原則として禁止とします(ただし作者は除く)。販売を考えている方は事前に 電子メールで相談してください。 9. サポート 本データの最新版は以下のWWWサイトから入手できます。 あにくんのホームページ http://homepage1.nifty.com/anikun/ また本データに対する感想や要望、質問などありましたら、以下の電子メール アドレスまでお送りください。 あにくん PEC05400@nifty.com 10. 参考文献 改訂3版 FM TOWNS テクニカルデータブック(アスキー出版局) パソコンのレガシィI/O活用大全(CQ出版社) トランジスタ技術 1995年12月号(CQ出版社) トランジスタ技術 1997年1月号(CQ出版社) トランジスタ技術 1997年8月号(CQ出版社) PC mouse information(http://www.hut.fi/%7Ethen/mytexts/mouse.html) Data Sheet PIC16F8X(DS30430C;Microchip Technology Inc.) データシート PIC16F8X(DS30430C-J2;Microchip Technology Inc.) Data Sheet PIC16C84(DS30445C;Microchip Technology Inc.) Data Sheet PIC16F84A(DS35007A;Microchip Technology Inc.) 11. 開発履歴 2000/07/29 開発開始。 2000/08/04 Version 1.00(非公開) TOWNSマウスエミュレーションのみに対応。 Version 1.10 TOWNSマウスエミュレーションにマウスの分解能を半分にする機 能を追加。 2000/08/09 Version 1.10a 回路図を一部変更(抵抗(2本)を追加)。 2000/11/10 Version 1.11 スクロールホイールの付いたPS/2マウスのスクロール機能を無効 化。 TOWNSマウスエミュレーションのマウスの分解能を半分にする機 能の再現性を改善。 2000/12/02 Version 1.11a 回路図を一部変更(ダイオード(2本)を追加)。 2000/12/09 Version 1.11b 回路図を一部変更(抵抗(2本)を変更)。 2000/12/16 Version 1.11c 回路図を一部変更(抵抗(2本)を変更)。 2003/05/25 Version 1.11d 英語の説明書を作成。