Modernization of the legacy vJoy-based RIO cockpit interface for Win10/11, removing the vJoy dependency in favor of a custom VHF/UMDF HID driver, rewritten in C#/.NET 8 as a background tray app with per-game profiles. - Reorganize: legacy C++ -> legacy/, cockpit art -> docs/reference/ - RioJoy.sln: src/RioJoy.Core (lib) + src/RioJoy.Tray (tray app), net8.0-windows x64 - driver/ placeholder for the RioGamepad WDK driver - docs/PLAN.md (7-phase plan; profiles + serial-yield model) - docs/PROTOCOL.md (RIO wire format + iRIO input-map reference) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
12 KiB
!<arch> / 1482597192 0 2364 ` iP��&�&�-�-�&&%%&�&���(V(V.b.b%�%� � �#>#>$,$,#�#�!�!�"Z"Z"�"�$�$�--!v!v,,(�(�,�,�*�*�)>)>)�)�***�*�+`+`,8,8+�+� zz��ZZ'p'p'�'��� � � ��::������jj88RR����-�-�__IMPORT_DESCRIPTOR_vJoyInterface__NULL_IMPORT_DESCRIPTORvJoyInterface_NULL_THUNK_DATA_GetvJoyVersion__imp__GetvJoyVersion__imp__vJoyEnabled_vJoyEnabled_GetvJoyProductString__imp__GetvJoyProductString_GetvJoyManufacturerString__imp__GetvJoyManufacturerString_GetvJoySerialNumberString__imp__GetvJoySerialNumberString_DriverMatch__imp__DriverMatch_RegisterRemovalCB__imp__RegisterRemovalCB__imp__vJoyFfbCap_vJoyFfbCap_GetvJoyMaxDevices__imp__GetvJoyMaxDevices_GetNumberExistingVJD__imp__GetNumberExistingVJD_GetVJDButtonNumber__imp__GetVJDButtonNumber_GetVJDDiscPovNumber__imp__GetVJDDiscPovNumber_GetVJDContPovNumber__imp__GetVJDContPovNumber_GetVJDAxisExist__imp__GetVJDAxisExist_GetVJDAxisMax__imp__GetVJDAxisMax_GetVJDAxisMin__imp__GetVJDAxisMin_GetVJDStatus__imp__GetVJDStatus__imp__isVJDExists_isVJDExists_GetOwnerPid__imp__GetOwnerPid_AcquireVJD__imp__AcquireVJD_RelinquishVJD__imp__RelinquishVJD_UpdateVJD__imp__UpdateVJD_ResetVJD__imp__ResetVJD_ResetAll__imp__ResetAll_ResetButtons__imp__ResetButtons_ResetPovs__imp__ResetPovs_SetAxis__imp__SetAxis_SetBtn__imp__SetBtn_SetDiscPov__imp__SetDiscPov_SetContPov__imp__SetContPov_FfbGetEffect__imp__FfbGetEffect_FfbRegisterGenCB__imp__FfbRegisterGenCB_FfbStart__imp__FfbStart_FfbStop__imp__FfbStop_IsDeviceFfb__imp__IsDeviceFfb_IsDeviceFfbEffect__imp__IsDeviceFfbEffect_Ffb_h_DeviceID__imp__Ffb_h_DeviceID_Ffb_h_Type__imp__Ffb_h_Type_Ffb_h_Packet__imp__Ffb_h_Packet_Ffb_h_EBI__imp__Ffb_h_EBI_Ffb_h_Eff_Report__imp__Ffb_h_Eff_Report_Ffb_h_Eff_Ramp__imp__Ffb_h_Eff_Ramp_Ffb_h_EffOp__imp__Ffb_h_EffOp_Ffb_h_DevCtrl__imp__Ffb_h_DevCtrl_Ffb_h_Eff_Period__imp__Ffb_h_Eff_Period_Ffb_h_Eff_Cond__imp__Ffb_h_Eff_Cond_Ffb_h_DevGain__imp__Ffb_h_DevGain_Ffb_h_Eff_Envlp__imp__Ffb_h_Eff_Envlp_Ffb_h_EffNew__imp__Ffb_h_EffNew_Ffb_h_Eff_Constant__imp__Ffb_h_Eff_Constant__imp__isVJDOpen_isVJDOpen/ 1482597192 0 2374 ` 6P���&�-&%�&�V(b.�%� >#,$�#�!Z"�"�$-v!,�(�,�*>)�)*�*`+8,�+ z�Zp'�'�� �:���j8R���-i "#$%/2(+4.1530-,*) &' ! "#$%/2(+4.1530-,*) &' ! 66_AcquireVJD_DriverMatch_FfbGetEffect_FfbRegisterGenCB_FfbStart_FfbStop_Ffb_h_DevCtrl_Ffb_h_DevGain_Ffb_h_DeviceID_Ffb_h_EBI_Ffb_h_EffNew_Ffb_h_EffOp_Ffb_h_Eff_Cond_Ffb_h_Eff_Constant_Ffb_h_Eff_Envlp_Ffb_h_Eff_Period_Ffb_h_Eff_Ramp_Ffb_h_Eff_Report_Ffb_h_Packet_Ffb_h_Type_GetNumberExistingVJD_GetOwnerPid_GetVJDAxisExist_GetVJDAxisMax_GetVJDAxisMin_GetVJDButtonNumber_GetVJDContPovNumber_GetVJDDiscPovNumber_GetVJDStatus_GetvJoyManufacturerString_GetvJoyMaxDevices_GetvJoyProductString_GetvJoySerialNumberString_GetvJoyVersion_IsDeviceFfb_IsDeviceFfbEffect_RegisterRemovalCB_RelinquishVJD_ResetAll_ResetButtons_ResetPovs_ResetVJD_SetAxis_SetBtn_SetContPov_SetDiscPov_UpdateVJD__IMPORT_DESCRIPTOR_vJoyInterface__NULL_IMPORT_DESCRIPTOR__imp__AcquireVJD__imp__DriverMatch__imp__FfbGetEffect__imp__FfbRegisterGenCB__imp__FfbStart__imp__FfbStop__imp__Ffb_h_DevCtrl__imp__Ffb_h_DevGain__imp__Ffb_h_DeviceID__imp__Ffb_h_EBI__imp__Ffb_h_EffNew__imp__Ffb_h_EffOp__imp__Ffb_h_Eff_Cond__imp__Ffb_h_Eff_Constant__imp__Ffb_h_Eff_Envlp__imp__Ffb_h_Eff_Period__imp__Ffb_h_Eff_Ramp__imp__Ffb_h_Eff_Report__imp__Ffb_h_Packet__imp__Ffb_h_Type__imp__GetNumberExistingVJD__imp__GetOwnerPid__imp__GetVJDAxisExist__imp__GetVJDAxisMax__imp__GetVJDAxisMin__imp__GetVJDButtonNumber__imp__GetVJDContPovNumber__imp__GetVJDDiscPovNumber__imp__GetVJDStatus__imp__GetvJoyManufacturerString__imp__GetvJoyMaxDevices__imp__GetvJoyProductString__imp__GetvJoySerialNumberString__imp__GetvJoyVersion__imp__IsDeviceFfb__imp__IsDeviceFfbEffect__imp__RegisterRemovalCB__imp__RelinquishVJD__imp__ResetAll__imp__ResetButtons__imp__ResetPovs__imp__ResetVJD__imp__SetAxis__imp__SetBtn__imp__SetContPov__imp__SetDiscPov__imp__UpdateVJD__imp__isVJDExists__imp__isVJDOpen__imp__vJoyEnabled__imp__vJoyFfbCap_isVJDExists_isVJDOpen_vJoyEnabled_vJoyFfbCapvJoyInterface_NULL_THUNK_DATA// 1482597192 0 18 ` vJoyInterface.dll/0 1482597192 0 517 ` LH�^X.debug$SG�@B.idata$2��@0�.idata$6�@ � vJoyInterface.dll'}yMicrosoft (R) LINKvJoyInterface.dll@comp.id}y���.idata$2@�h.idata$6.idata$4@�h.idata$5@�h&?^__IMPORT_DESCRIPTOR_vJoyInterface__NULL_IMPORT_DESCRIPTORvJoyInterface_NULL_THUNK_DATA /0 1482597192 0 256 ` LH�^X�.debug$SGd@B.idata$3�@0� vJoyInterface.dll'}yMicrosoft (R) LINK@comp.id}y���__NULL_IMPORT_DESCRIPTOR/0 1482597192 0 290 ` LH�^X�.debug$SG�@B.idata$5�@0�.idata$4�@0� vJoyInterface.dll'}yMicrosoft (R) LINK@comp.id}y���#vJoyInterface_NULL_THUNK_DATA/0 1482597192 0 50 ` ��LH�^X_AcquireVJDvJoyInterface.dll/0 1482597192 0 51 ` ��LH�^X_DriverMatchvJoyInterface.dll /0 1482597192 0 52 ` ��LH�^X _FfbGetEffectvJoyInterface.dll/0 1482597192 0 56 ` ��LH�^X$_FfbRegisterGenCBvJoyInterface.dll/0 1482597192 0 48 ` ��LH�^X_FfbStartvJoyInterface.dll/0 1482597192 0 47 ` ��LH�^X_FfbStopvJoyInterface.dll /0 1482597192 0 53 ` ��LH�^X!_Ffb_h_DevCtrlvJoyInterface.dll /0 1482597192 0 53 ` ��LH�^X!_Ffb_h_DevGainvJoyInterface.dll /0 1482597192 0 54 ` ��LH�^X"_Ffb_h_DeviceIDvJoyInterface.dll/0 1482597192 0 49 ` ��LH�^X _Ffb_h_EBIvJoyInterface.dll /0 1482597192 0 52 ` ��LH�^X _Ffb_h_EffNewvJoyInterface.dll/0 1482597192 0 51 ` ��LH�^X_Ffb_h_EffOpvJoyInterface.dll /0 1482597192 0 54 ` ��LH�^X"_Ffb_h_Eff_CondvJoyInterface.dll/0 1482597192 0 58 ` ��LH�^X& _Ffb_h_Eff_ConstantvJoyInterface.dll/0 1482597192 0 55 ` ��LH�^X#_Ffb_h_Eff_EnvlpvJoyInterface.dll /0 1482597192 0 56 ` ��LH�^X$_Ffb_h_Eff_PeriodvJoyInterface.dll/0 1482597192 0 54 ` ��LH�^X"_Ffb_h_Eff_RampvJoyInterface.dll/0 1482597192 0 56 ` ��LH�^X$_Ffb_h_Eff_ReportvJoyInterface.dll/0 1482597192 0 52 ` ��LH�^X _Ffb_h_PacketvJoyInterface.dll/0 1482597192 0 50 ` ��LH�^X_Ffb_h_TypevJoyInterface.dll/0 1482597192 0 60 ` ��LH�^X(_GetNumberExistingVJDvJoyInterface.dll/0 1482597192 0 51 ` ��LH�^X_GetOwnerPidvJoyInterface.dll /0 1482597192 0 55 ` ��LH�^X#_GetVJDAxisExistvJoyInterface.dll /0 1482597192 0 53 ` ��LH�^X!_GetVJDAxisMaxvJoyInterface.dll /0 1482597192 0 53 ` ��LH�^X!_GetVJDAxisMinvJoyInterface.dll /0 1482597192 0 58 ` ��LH�^X&_GetVJDButtonNumbervJoyInterface.dll/0 1482597192 0 59 ` ��LH�^X'_GetVJDContPovNumbervJoyInterface.dll /0 1482597192 0 59 ` ��LH�^X'_GetVJDDiscPovNumbervJoyInterface.dll /0 1482597192 0 52 ` ��LH�^X _GetVJDStatusvJoyInterface.dll/0 1482597192 0 65 ` ��LH�^X-_GetvJoyManufacturerStringvJoyInterface.dll /0 1482597192 0 57 ` ��LH�^X%_GetvJoyMaxDevicesvJoyInterface.dll /0 1482597192 0 60 ` ��LH�^X(_GetvJoyProductStringvJoyInterface.dll/0 1482597192 0 65 ` ��LH�^X- _GetvJoySerialNumberStringvJoyInterface.dll /0 1482597192 0 54 ` ��LH�^X"!_GetvJoyVersionvJoyInterface.dll/0 1482597192 0 51 ` ��LH�^X"_IsDeviceFfbvJoyInterface.dll /0 1482597192 0 57 ` ��LH�^X%#_IsDeviceFfbEffectvJoyInterface.dll /0 1482597192 0 57 ` ��LH�^X%$_RegisterRemovalCBvJoyInterface.dll /0 1482597192 0 53 ` ��LH�^X!%_RelinquishVJDvJoyInterface.dll /0 1482597192 0 48 ` ��LH�^X&_ResetAllvJoyInterface.dll/0 1482597192 0 52 ` ��LH�^X '_ResetButtonsvJoyInterface.dll/0 1482597192 0 49 ` ��LH�^X(_ResetPovsvJoyInterface.dll /0 1482597192 0 48 ` ��LH�^X)_ResetVJDvJoyInterface.dll/0 1482597192 0 47 ` ��LH�^X*_SetAxisvJoyInterface.dll /0 1482597192 0 46 ` ��LH�^X+_SetBtnvJoyInterface.dll/0 1482597192 0 50 ` ��LH�^X,_SetContPovvJoyInterface.dll/0 1482597192 0 50 ` ��LH�^X-_SetDiscPovvJoyInterface.dll/0 1482597192 0 49 ` ��LH�^X._UpdateVJDvJoyInterface.dll /0 1482597192 0 51 ` ��LH�^X/_isVJDExistsvJoyInterface.dll /0 1482597192 0 49 ` ��LH�^X0_isVJDOpenvJoyInterface.dll /0 1482597192 0 51 ` ��LH�^X1_vJoyEnabledvJoyInterface.dll /0 1482597192 0 50 ` ��LH�^X2_vJoyFfbCapvJoyInterface.dll