PS2M0115取扱説明書 ver. 1.0.3
2007/9/30
PS2-ADB変換器 PS2M0115の持つ多くの機能を使いこなすため、取扱説明書をよく読んでからご利用願います。
1.使用上の注意
この製品は、使用上の安全性について十分検証されていません。素人が趣味で製造したものであり、いかなる保証もいたしません。
この製品を使用することによって生じたいかなる問題について、使用法を問わず当方では一切責任を負いません。
安全性についてそれなりに配慮したつもりですが、万一のことを考えて、壊れてはいけないPCに接続しないでください。
PS/2インタフェースの相性問題により、特定のPCでは使用できないことがあります。
対応キーボードでも製造ロットによる差異、経年劣化による特性の変化等で使用できない可能性があります。
実際にお使いになる際は、ビニールテープで巻く等絶縁処理をしてください。
走査コード・セット2にのみ対応しています。
Ctrl,Alt,Shift,NumLockの状況によって異なる走査コードをシステムに送る機能は実装していません。
Alt + PrintScreen同時押しは実装しております。
このドキュメントの内容は、予告なく変更することがあります。
想定外の使い方をされては困りますので、リバースエンジニアリングは禁止します。
マイコン内のファームウェアのバックアップはできません。
2.対応キーボード
動作確認しているのは下記のキーボードのみです
初代Apple
Extended Keyboard ( M0115 )
初代Apple
Keyboard ( M0116 )
Apple Extended KeyboardII Made in USA( M3501
)
Apple II GS Keyboard Made in Japan(658-4081)
動作確認しているPC本体は下記のみです
SHARP
Mebius PC-BJ100M (Linux)
OASYS V-BIBLO FMV-5100NU/W
(Windows95)
NEC PC-MA10T ( Windows2000,Linux )
動作確認しているUSB−PS/2変換器は下記のみです
すまいるSA-BAR2
SANWA USB-CVPS1
下記のキーボードは動作に問題があるためサポート対象外とします。
PIONEER
KEYBOARD ( MPC-KB2 )
その他、CapsLockのメカニカルロックをソフト的にシミュレートしているキーボード
下記のUSB−PS/2変換器は動作に問題があるためサポート対象外とします。
Audio
Technica ATC-USBPS2
SIGMA PS2USB1BK
3.iMateとの違い
説明は要らないと思いますが、iMateはUSBへ変換するのに対して、当変換器はPS/2へ変換します。
iMateは市販品であり、この製品と比べて高い信頼性と安全性を備えていると思われます。
CapsLockのメカニカルロック(プッシュロック)をキースイッチ分解改造して解除して、CapsLockを普通のPS/2キーボードの様に使用できるようにしてからご使用ください。
iMateは右のCtrl/Alt/Shiftが左と同じキーコードを発生させるのに対し、この変換器は通常のPS/2キーボードと同様、左右で異なるキーコードを返します。ただし右のコマンドキー(林檎キー=Windowsキー)は、通常のPS/2キーボードとは異なり、左と同じキーコードを返します。
ファンクションキーの無いApple標準キーボードでもBIOSの設定画面に入れるよう、H○KのFnキーのようなものが使えます。
4.ケーブル接続
当変換器とキーボードとは、Mini-Din4P オス−オスのADBケーブルで接続します。電器屋で売っているSケーブルでも流用できるようですが、物によってはコネクタが引っかかって刺さらないことがあります。
当変換器とPC本体のPS/2ポートとは、Mini-Din6P オス−オスケーブルで接続します。これはあまり売っていないのですが、秋葉原なら千石とか若松とか末広町横のあやしいケーブル屋とかで300円〜500円で売っているのを見かけました。
5.キーボードのカスタマイズ
変換用マイコンには、256バイトのEEPROMが内蔵されています。これを書き換えることにより、キー配列等を変更することができます。
EEPROMの書き換えに、特殊なツールや機器はとくに要りません。後述する操作を行うことにより、EEPROMを書き換えるための「コンフィグモード」に移行します。
コンフィグモードでは、キーボードの0〜9、A〜Fを用いてEEPROMのデータを書き換えます。
書き換えたデータを初期状態に戻すためには、初期状態のマップとの差分を調べて、異なる値を初期値で上書きしてください。
6.EEPROMのマップ
初期値は下記のようになっています。
0x00 1C 1B 23 2B 33 34 1A 22 21 2A 00 32 15 1D 24 2D
0x10 35 2C 16 1E 26 25 36 2E 55 46 3D 4E 3E 45 5B 44
0x20 3C 54 43 4D 5A 4B 3B 52 42 4C 5D 41 4A 31 3A 49
0x30 0D 29 0E 66 76 76 14 9F 12 58 11 EB F4 F2 F5 00
0x40 00 71 00 7C 00 79 00 77 00 00 00 CA DA 00 7B 00
0x50 00 55 70 69 72 7A 6B 73 74 6C 00 75 7D 00 00 00
0x60 03 0B 83 04 0A 01 00 78 00 FC 00 7E 00 09 00 07
0x70 00 FE F0 EC FD F1 0C E9 06 FA 05 59 91 94 00 91
0x80 54 F5 52 F4 4C EB 4A F2 4B FD 49 FA 42 EC 41 E9
0x90 43 FC 44 7E 4D FE 66 F1 0D 58 5D F0 16 05 1E 06
0xA0 26 04 25 0C 2E 03 36 0B 3D 83 3E 0A 46 01 45 09
0xB0 4E 78 55 07 FF FF FF FF FF FF FF FF FF FF FF FF
0xC0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0xD0 FF FF FF FF FF FF FF FF FF FF FF 00 05 05 FF 9F
0xE0 1D 45 12 16 13 1E 14 26 15 25 17 2E 16 36 1A 3D
0xF0 1C 3E 19 46 00 1C 0B 32 08 21 02 23 0E 24 03 2B
アドレスマップは下記のとおりです。
0x00-0x7F キーコード変換テーブル(ADBコード→PS/2コード)
0x80-0xBF Fnキー用変換テーブル
0xDB ビット0...1のときテンキーなし
0xDC PS/2キー送信ディレイ(x100us) ... 初期値0x05(0.5ms)
0xDD ポーリングループディレイ(x100us) ... 初期値0x05(0.5ms)
0xDE メカニカルロック付きCapsLockのキーコード(ADBコード) ... 初期値0xFF(無効)
0xDF Fnキーのキーコード(PS/2)・・・初期値 0x9F(コマンドキー)
0xE0-0xFF 0-9,A-Fキー用変換テーブルレストア用データ(変更不可)
7.EEPROMマップの解説
Sキー、Gキーのキーコードは、ADBキーボードでは01,05、PS/2キーボードでは0x1B,0x34です。たとえばアドレス0x01に0x34をセットすると、「S」キーを押したときに「G」が入力されます。
アドレス0x9Eが0x1E(PS/2コードとして2キー),アドレス0x9Fが0x06(PS/2コードとしてF2キー)となっていますが、これはFnキーを押しながら2キーを押すとF2を押したことになるということです。
0xDBを1にすると、POST時にテンキーなしキーボードのIDを返します。BIOSの設定にもよりますが、起動時にNumLockが点かなくなります。
0xDC,0xDDは、キーの取りこぼしなど変換機能が不安定でない限り変更する必要はありません。
0xDEを0x39に変更することにより、CapsLockのメカニカルロックに対応します。
0xDFに未使用のPS/2キーコードをセットすることにより、Fnキーを無効にできます。ちなみにこの値を0x58にすると、CapsLockキーがFnキーになります。
0xE0-0xFFは、主要キーリストア用データで、変更できません。EEPROMを書き換えて、0-9,A-Fキーのアサインを変更しても、変換器の再起動のタイミングで初期状態に戻ります。つまり、不可逆的な変更はできないようになっています。
0xDC-0xDFの値は、変換器起動後5〜10秒経過してから使用されます。また、コンフィグモードでは使用されません。つまり、異常値を設定してしまっても、元に戻せるようになっています。
8.コンフィグモードの入り方
変換器に通電してから、1秒程度過ぎた頃に、「A」キーを押してください。このタイミングがなかなか難しく、早すぎても、遅すぎてもだめです。
1.の後、通電してから5秒以内に、任意のキー(あまり使わないキーが望ましい)を押してください。このキーがコンフィグモードへの移行のためのキーとなります。
2.の後、任意のOS(たとえばMS-DOS)上で任意のエディタ(メモ帳とかEDITとか)を開き、入力状態にしておきます。FEPはOFFにしておいてください。
2.で押した移行キーを再度押してください。
エディタ上に ; (セミコロン)が表示されます。これがコンフィグモードのプロンプトです。
D(Dump)キーを押してください。EEPROMマップが表示されます。
E(Edit)キーを押してください。再度; (セミコロン)が表示されます。この状態が入力モードです。
アドレス、上書きする値を、16進数で入力してください。たとえば0xDFを0x58に書き換える場合は、「D」「F」「5」「8」キーを入力してください。この際、テンキーは使用できませんのでご注意ください。入力が終わると自動的にコンフィグモードに戻ります。
値が書き換わったかどうかは、Dキーで確認できます。
コンフィグモードを抜けるときには、B(Boot)キーを押してください。通常の動作に戻りますが、できればPCの電源を一旦落として、変換器自体を再起動してください。
9.余談
ADBキーボードはキーボードごとに電気的特性および信号入出力のタイミングが大きく異なっていますので、動作確認がとれているキーボード以外については、まったく使えないと考えてください。 (拡張キーボードと拡張キーボードIIは、見た目は似ていますが内部構造は電気的にも信号タイミング的にも全然違います。)
PIC12F683の2番ピンをGNDとショートさせて0 Vに落とせば、コンフィグモード使用禁止にすることができます。ですが、意味のわからない人は実践しないでください。
コンフィグモードに入れないときは、PS/2-USB変換器を使って、ピポっと認識してから数秒後にAキーを3回連続で入力してみてください。秒数を変えて、「;」が表示されるまで何回もチャレンジしてください。