You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -71,6 +73,8 @@ Standard arcade mapping for 1L6B in 1L8B fightsticks:
71
73
| L2 (LT/ZL) | B6 / K3 |
72
74
| R2 (RT/ZR) | B5 / K2 / Select |
73
75
76
+

77
+
74
78
### Type B Profile
75
79
76
80
Neo Geo MVS 1L4B layout:
@@ -86,6 +90,8 @@ Neo Geo MVS 1L4B layout:
86
90
| L2 (LT/ZL) | (disabled) |
87
91
| R2 (RT/ZR) | B6 / K3 |
88
92
93
+

94
+
89
95
### Type C Profile
90
96
91
97
Neo Geo MVS Big Red layout:
@@ -101,6 +107,8 @@ Neo Geo MVS Big Red layout:
101
107
| L2 (LT/ZL) | (disabled) |
102
108
| R2 (RT/ZR) | B6 / K3 |
103
109
110
+

111
+
104
112
### Type D Profile
105
113
106
114
Neo Geo MVS U4 layout:
@@ -116,6 +124,8 @@ Neo Geo MVS U4 layout:
116
124
| L2 (LT/ZL) | (disabled) |
117
125
| R2 (RT/ZR) | (disabled) |
118
126
127
+

128
+
119
129
### Pad A Profile
120
130
121
131
AES pad, classic diamond (A/B/C/D on face buttons):
@@ -131,6 +141,8 @@ AES pad, classic diamond (A/B/C/D on face buttons):
131
141
| L2 (LT/ZL) | (disabled) |
132
142
| R2 (RT/ZR) | (disabled) |
133
143
144
+

145
+
134
146
### Pad B Profile
135
147
136
148
AES pad, KOF/fighting style:
@@ -146,6 +158,8 @@ AES pad, KOF/fighting style:
146
158
| L2 (LT/ZL) | (disabled) |
147
159
| R2 (RT/ZR) | (disabled) |
148
160
161
+

162
+
149
163
## Runtime Button Mapping
150
164
151
165
In addition to the 7 compiled profiles above, buttons can be remapped on fly. The runtime mapping overlays the active profile and persists until cleared.
@@ -214,16 +228,6 @@ Auto fire overlays the current button mapping without erasing it.
214
228
215
229
From idle: hold **SELECT** for **2 seconds**, then press **START**. The runtime mapping is erased and the active profile resumes (LED flashes twice).
@@ -275,8 +279,25 @@ This implementation uses open-drain logic to prevent voltage collisions between
275
279
276
280
### Latency Testing
277
281
282
+
Input latency is tested using the [MiSTer FPGA Input Latency](https://github.com/misteraddons/inputlatency) methodology, but adapted for usb2neogeo use. While the original methodology measures input lag from USB gamepads on a MiSTer FPGA, this setup replaces the MiSTer with the adapter itself.
283
+
284
+
The process uses an Arduino script that triggers an input on the gamepad via PIN 5. In the original MiSTer setup, the core catches the input and sends a response back to the Arduino via the User Port to PIN 2, triggering an interrupt to calculate the elapsed time.
285
+
286
+
With this usb2neogeo, the MiSTer is not required. The adapter receives the USB gamepad inputs and routes them directly to the NEOGEO port. This output is then used as the interrupt signal for the Arduino to measure the precise delay between the physical button "press" and the adapter's output.
287
+
278
288

279
289
290
+
291
+
### Test Results
292
+
*Note: Outliers filtered using 0.02 lower and 0.995 upper quantiles to ensure statistical accuracy.*
293
+
294
+
| Setup (Input > Output) | Min (ms) | Avg (ms) | Max (ms) | Std Dev |
0 commit comments