ねんがんの キーボードをてにいれたぞ!

2022年11月2日note

ザ・タイピング・オブ・ザ・デッド(TOD、ゾンビ打)2004の「Battle mode」に対応する唯一のキーボード「Realforce 89U」の未使用品がヤクオフに出品されていることに気付き、無理をして落札しました。
テンキー・Windowsキー・アプリケーションキーが無いUSB接続モデル。

ドキドキしながら開封しましたが、きちんと未使用らしくとても綺麗な状態。
早々にキーボードを接続し、動作確認を行うべくすべてのキーを入力…問題なし。
ワクワクしながらTOD2004を起動してBattle modeを選択…
 
 
 

2Pが出てない
 
 
 
裏面のDIPスイッチ3(TOD2004用の特殊モード)はONになっている。
デバイスドライバを確認したところ「RealForce GAME MD」というエラーのデバイスがある。
…そういえば、TOD2004のディスクの中にRealforce 89U用のドライバがあった!

 
 
 

ドライバがインストールできない
 
 
 
デバイス署名のないドライバをインストールするために、テストモードや警告を無視してインストールをする方法など…
数日かけて調査しましたが、TOD2004内にあるRealforce 89U用のドライバをインストールするために必要なsysファイル(システムファイル、ドライバ本体)およびinfファイル(セットアップ情報ファイル)が32bit(x86)用に作られているので、Windows OSも32bit(x86)でないと無理みたいです。

キーボード・ドライバを製造した東プレに「64bit(x64)OS用に対応できますか!?」と問い合わせてみましたが、最終生産から10年以上経っている修理受付終了機種のため対応不可と返信がありました。
デバイスドライバの開発を行っている企業へ問い合わせましたが、sysファイルを作るためのソースファイルが無いと難しいとのことです。
リバースエンジニアリングして新たに64bit(x64)OS用ドライバを作成する知識はありません。
どうしたら良いものか。

  • 64bit OSが入ったPCに32bit OSを入れる
    → PCを初期化する必要がある / ハイスペックを要求されるゲームが遊べなくなる / 対応しないアプリが出てくる
  • 新たにPCを入手して32bit OSを入れる
    → 買うお金が無い
  • 「Battle mode」で遊ぶのを諦めて「Netword mode」のLAN対戦で遊ぶ
    → 😣ムムッ

とりあえず、Realforce 89Uは押入れに封印。

何をどうイジくったら32bit OS用ドライバを64bit OS用ドライバにできるのだろうか。
infファイル見ても何してるのか全然分からん😢モウダメポ

ファイル名「TopreRfu.sys」「TopreRfu.inf」


;****************************************************************
;
; TopreRfu.inf : INF file for Windows98(2000) USB Keybord driver
; Copyright (c) 2003 Topre Corporation.
; 2003.10.20
;
;****************************************************************

[Version]
Signature="$CHICAGO$"
Class=USB
ClassGUID={36FC9E60-C465-11CF-8056-444553540000}
;LayoutFile=layout.inf
;CatalogFile=TopreRfu.cat
Provider=%Topre.Mfg%
DriverVer=10/20/2003,1.00

[ControlFlags]
ExcludeFromSelect = *

[SourceDisksNames]
1=%DISK1%,,,

[SourceDisksFiles]
TopreRfu.sys=1

[Manufacturer]
%Topre.Mfg%=Topre.Section

[Topre.Section]
%USB\VID_0853&PID_0201&MI_01.DeviceDesc%=TopreRFU.Install,USB\VID_0853&PID_0201&MI_01

[DestinationDirs]
DefaultDestDir  = 11
TopreRFU.CopyList = 10,System32\drivers
TopreRFU.CopyList.NT = 10,System32\drivers

[TopreRFU.Install]
CopyFiles = TopreRFU.CopyList
DelFiles  = TopreRFU.DelList
DelReg    = TopreRFU.DelReg
AddReg    = TopreRFU.AddReg

[TopreRFU.CopyList]
TopreRfu.sys

[TopreRFU.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,TopreRfu.sys

[TopreRFU.DelReg]
HKR,,DevLoader
HKR,,NTMPDriver

[TopreRFU.Install.NT]
CopyFiles = TopreRFU.CopyList.NT
DelFiles  = TopreRFU.DelList.NT
AddReg    = TopreRFU.AddReg.NT

[TopreRFU.CopyList.NT]
TopreRfu.sys,,,%COPYFLG_NOSKIP%

[TopreRFU.AddReg.NT]

[TopreRFU.Install.NT.Services]
Addservice = TopreRFU, %SPSVCINST_ASSOCSERVICE%, TopreRFU.AddService

[TopreRFU.AddService]
DisplayName    = %TopreRFU.SvcDesc%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_DEMAND_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %10%\system32\drivers\TopreRfu.sys
LoadOrderGroup = extended base

[TopreRFU.DelList]
TopreRfu.sys

[TopreRFU.DelList.NT]
TopreRfu.sys

;---------------------------------------------------------------;

[Strings]
Topre.Mfg = "Topre"
USB\VID_0853&PID_0201&MI_01.DeviceDesc = "Topre Realforce USB"
TopreRFU.SvcDesc="Topre Realforce USB Driver"
DISK1="Topre Realforce USB driver install disk"
UNINSTALL_DRIVER="Topre Realforce USB Driver"

; Standard defs

COPYFLG_NOSKIP = 2
SPSVCINST_TAGTOFRONT = 0x00000001
SPSVCINST_ASSOCSERVICE = 0x00000002
SERVICE_KERNEL_DRIVER = 1
SERVICE_BOOT_START = 0
SERVICE_SYSTEM_START = 1
SERVICE_AUTO_START = 2
SERVICE_DEMAND_START = 3
SERVICE_ERROR_NORMAL = 1
SERVICE_ERROR_IGNORE = 0
REG_EXPAND_SZ = 0x00020000
REG_DWORD = 0x00010001
REG_SZ = 0x00000000

64bit Windows用のドライバが見つからない時、32bit用のINFファイルを書き換えて動作させる
64bit Windowsのドライバでinfファイルの書き換えが必要な場合がある
Windows Driver Kit (WDK) のダウンロード
visual studioを使わずにドライバにテスト署名する
【.NET】デジタル署名のタイムスタンプサーバ(timstamp.dll)は終了なので変更せよ
WinDriver USB for Windows
サイエンスパーク株式会社
ファーストコントロール株式会社
株式会社デバイスドライバーズ