PS2IBMPC取扱説明書β ver. 0.9.1
作:2010/11/13
改:2010/12/03
PS2-旧IBMキーボード変換器 PS2IBMPCの持つ多くの機能を使いこなすため、取扱説明書をよく読んでからご利用願います。
1.免責事項
2.対応キーボード
モードと変換テーブルを変更することにより、下記のキーボードで使用可能です。
4773178(IBMマルチステーション5550用キーボード)
モードと変換テーブルを変更することにより、下記のキーボードでも使用可能な気がしますが、未確認です。
IBM PC/XTキーボード
動作確認しているPC本体は下記のみです
OASYS V-BIBLO FMV-5100NU/W (Windows95)
動作確認しているUSB−PS/2変換器は下記のみです
SANWA
USB-CVPS1
3.特徴
IBMマルチステーション5550用キーボードをPS/2ポートを持つPCへ接続することができます。おそらく他では製造・販売されていないと思います。
IBMマルチステーション5550用キーボードには、キーリリースを検知できないという致命的な欠点があります。仕方がないので、当変換器では、キーが押されたときに、キーを離したといったコードも一緒にPCへ送ります。ワープロや表計算だと問題ないかもしれませんが、アクションゲームだとまったくゲームになりません。また、キーの同時押しなどもできません。FM-7(FM-77AVより前)のキーボードと同じ感じです。
そんなIBMマルチステーション5550用キーボードでも、「Ctrl」「前面」「英数」「英記号」「ひらがな記号」「カナ」「カナ記号」の7キーだけは、キーリリース信号(ブレーク信号)を送ります。「英数」や「カナ」キーをshiftキーとして、「前面」キーをAltキーとして使用するのであれば、Shiftキーを押しながら別のキーを押したり、Ctrl+Alt+Del入力などはできます。FM-7(FM-77AVより前)のキーボードのBREAKキーと同じ感じです。
IBM PC/XTキーボードは、マルチステーションのような変な制約が無いため、とくに不都合なく使用できると思われます。が、当方これらのキーボードを持っていないため、一切動作確認しておりません。きっと動いてくれるんだろうなぁ、といった感じです。
IBMマルチステーション5550モードと、IBM
PC/XTモードの切り替えには、かなりの労力を伴います。とくに特殊な機材がいる訳ではありませんが、おそらく切り替えには数時間かかると思います。
4.ケーブル接続
キーボードを、当変換器のPS/2とは異なる形状のポートに接続します。
当変換器とPC本体のPS/2ポートとは、Mini-Din6P
オス−オスケーブルで接続します。これはあまり売っていないのですが、秋葉原なら千石とか若松とか末広町横のあやしいケーブル屋とかで300円〜500円で売っているのを見かけました。
5.キーボードのカスタマイズ
PS2M0115と同一です。PS2M0115の取扱説明書をご参照ください。
6.EEPROMのマップ(for IBMマルチステーション5550)
IBMマルチステーション5550モードの初期値は下記のようになっています。
0x00 FF 1A 22 21 2A 32 31 3A 41 49 4A 51 1C 1B 23 2B
0x10 34 33 3B 42 4B 4C 52 5D 15 1D 24 2D 2C 35 3C 43
0x20 44 4D 54 5B 16 1E 26 25 2E 36 3D 3E 46 45 4E 55
0x30 6A 14 11 67 29 64 13 9F 12 59 58 5A 0D 76 66 5A
0x40 FF 0F FF 0E FF 0E FF FE 7E E9 F2 EB FF F4 F5 F0
0x50 F1 E9 FD EC FA 70 71 69 72 7A 6B 73 74 6C 75 7D
0x60 DA FF FF 79 7C CA 41 7B 05 06 04 0C 03 0B 83 0A
0x70 01 09 78 07 FC 7E 77 FF FF FF FF FF FF FF FF FF
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 5B 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 76 77 FF FF FF FF FF FF FF FF FF FF
0xC0 FF FF FF FF FF FF FF FF FF 55 05 00 10 05 FF 0F
0xD0 0B 02 03 04 05 06 07 08 09 0A 1E 30 2E 20 12 21
0xE0 2D 24 25 26 27 28 29 2A 2B 2C 0C 05 03 0E 1A 0F
0xF0 45 16 1E 26 25 2E 36 3D 3E 46 1C 32 21 23 24 2B
アドレスマップは下記のとおりです。
0x00-0x7F キーコード変換テーブル(IBM 5550コード→PS/2コード)
0x80-0xBF Fnキー用変換テーブル
0xC9 モード切替 0x55...IBMマルチステーション5550 0x55以外...IBM PC/XT
0xCA PS/2受信ディレイ(x100us) ... 初期値0x05(0.5ms)
0xCB 0 ...テンキーあり 1 ...テンキーなし
0xCC PS/2キー送信ディレイ(x100us) ... 初期値0x10(1.6ms)
0xCD ポーリングループディレイ(x100us) ... 初期値0x05(0.5ms)
0xCE N/A
0xCF Fnキーのキーコード(PS/2)・・・初期値 0x0F(5550の0x41=Ctrl)
0xE0-0xFF 0-9,A-Fキー用変換テーブルレストア用データ(変更不可)
7.EEPROMのマップ(for IBM PC/XT)
IBM PC/XTモードの初期値は下記のようになっています。
0x00 00 76 16 1E 26 25 2E 36 3D 3E 46 45 4E 55 66 0D
0x10 15 1D 24 2D 2C 35 3C 43 44 4D 54 5B 5A 14 1C 1B
0x20 23 2B 34 33 3B 42 4B 4C 52 0E 12 5D 1A 22 21 2A
0x30 32 31 3A 41 49 4A 59 FC 11 29 58 05 06 04 0C 03
0x40 0B 83 0A 01 09 77 7E 6C 75 7D 7B 6B 73 74 79 69
0x50 72 7A 70 71 FF FF FF FF FF FF FF FF FF FF FF FF
0x60 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x70 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
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 5B 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 76 77 FF FF FF FF FF FF FF FF FF FF
0xC0 FF FF FF FF FF FF FF FF FF FF 05 00 10 05 FF 0F
0xD0 0B 02 03 04 05 06 07 08 09 0A 1E 30 2E 20 12 21
0xE0 2D 24 25 26 27 28 29 2A 2B 2C 0C 05 03 0E 1A 0F
0xF0 45 16 1E 26 25 2E 36 3D 3E 46 1C 32 21 23 24 2B
アドレスマップは下記のとおりです。
0x00-0x7F キーコード変換テーブル(IBM PC/XTコード→PS/2コード)
0x80-0xBF Fnキー用変換テーブル
0xC9 モード切替 0x55...IBMマルチステーション5550 0x55以外...IBM PC/XT
0xCA PS/2受信ディレイ(x100us) ... 初期値0x05(0.5ms)
0xCB 0 ...テンキーあり 1 ...テンキーなし
0xCC PS/2キー送信ディレイ(x100us) ... 初期値0x10(1.6ms)
0xCD ポーリングループディレイ(x100us) ... 初期値0x05(0.5ms)
0xCE N/A
0xCF Fnキーのキーコード(PS/2)・・・初期値 0x0F(5550の0x41=Ctrl)
0xE0-0xFF 0-9,A-Fキー用変換テーブルレストア用データ(変更不可)
8.EEPROMマップの解説
Sキー、Gキーのキーコードは、5550キーボードでは0x0D,0x10、PS/2キーボードでは0x1B,0x34です。たとえばアドレス0x0Dに0x34をセットすると、「S」キーを押したときに「G」が入力されます。
Sキー、Gキーのキーコードは、PC/XTキーボードでは0x1F,0x22、PS/2キーボードでは0x1B,0x34です。たとえばアドレス0x1Fに0x34をセットすると、「S」キーを押したときに「G」が入力されます。
アドレス0x9Eが0x1E(PS/2コードとして2キー),アドレス0x9Fが0x06(PS/2コードとしてF2キー)となっていますが、これはFnキーを押しながら2キーを押すとF2を押したことになるということです。
0xC9の値
0xCBを1にすると、POST時にテンキーなしキーボードのIDを返します。BIOSの設定にもよりますが、起動時にNumLockが点かなくなります。
0xCA,0xCC,0xCDは、キーの取りこぼしなど変換機能が不安定でない限り変更する必要はありません。
0xCE は使用していません。
0xCFに未使用のPS/2キーコードをセットすることにより、Fnキーを無効にできます。ちなみにこの値を0x58にすると、CapsLockキーがFnキーになります。
0xD0-0xFFは、主要キーリストア用データで、変更できません。EEPROMを書き換えて、0-9,A-Fキーのアサインを変更しても、変換器の再起動のタイミングで初期状態に戻ります。つまり、不可逆的な変更はできないようになっています。
0xCA-0xCFの値は、変換器起動後5〜10秒経過してから使用されます。また、コンフィグモードでは使用されません。つまり、異常値を設定してしまっても、元に戻せるようになっています。
9.コンフィグモードの入り方
PS2M0115と同一です。PS2M0115の取扱説明書をご参照ください。
10.モードの切り替え(5550←→PC/XT)について
上記の内容だと、5550キーボードしか持っていないのにPC/XTモードに切り替えると元に戻せなくなります。その逆もしかり。ということで、特別にモード切替の機能を実装してあります。
手順1:変換器のジャンパJ1をピンセットや針金でショートさせて通電させてください。
手順2:通電後、数秒以内に5550キーボードまたはPC/XTキーボードのスペースキーを押してください。EEPROMのアドレスC9が書き換わり、そのキーボード用のモードに変わります。変更後、変換器を再起動(抜き差し)してください。ただし上述のように、書き換わるのは0〜9、A〜Fの16キーだけです。それ以外のキーは、手作業で1つ1つ変更していってください。
11.余談