Filtered of three down, then up, then four down, then up.
Then successively pressing several keys and remaining down, then all up.
Filtered to only data in.
http://cotmm.org/arcade/minipac_3then4.html
#1 3.282165 = 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00
#3 3.286148 = 00 00 14 1A 00 00 00 00 00 00 00 00 00 00 00 00
#5 3.290140 = 00 00 14 1A 00 00 00 00 00 00 00 00 00 00 00 00
#7 3.294151 = 00 00 14 1A 00 00 00 00 00 00 00 00 00 00 00 00
#9 3.298151 = 00 00 14 1A 16 00 00 00 00 00 00 00 00 00 00 00 <-5x4= 0.020s
#11 3.302147 = 00 00 14 1A 16 00 00 00 00 00 00 00 00 00 00 00
#13 3.306163 = 00 00 14 1A 16 00 00 00 00 00 00 00 00 00 00 00
#15 3.310146 = 00 00 14 1A 16 00 00 00 00 00 00 00 00 00 00 00
#17 3.314155 = 00 00 14 1A 16 00 00 00 00 00 00 00 00 00 00 00 - 9 / 5
...hold 6.181 seconds
3 keys per 0.020 seconds ~ 2 keys per frame @60fps
#19 9.494732 = 00 00 14 1A 00 00 00 00 00 00 00 00 00 00 00 00
#21 9.498698 = 00 00 14 1A 00 00 00 00 00 00 00 00 00 00 00 00
#23 9.502704 = 00 00 14 1A 00 00 00 00 00 00 00 00 00 00 00 00
#25 9.506708 = 00 00 14 1A 00 00 00 00 00 00 00 00 00 00 00 00
#27 9.510712 = 00 00 14 1A 00 00 00 00 00 00 00 00 00 00 00 00
#29 9.514709 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <-6x4= 0.024s
#31 9.518709 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
#33 9.522714 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
#35 9.526675 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
#37 9.530670 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 10 / 5
...all up, wait 8.661 seconds
3 keys per 0.024 seconds ~ 2 keys per frame @60fps
#39 18.191523 = 00 00 0E 00 00 00 00 00 00 00 00 00 00 00 00 00
#41 18.195496 = 00 00 0E 00 00 00 00 00 00 00 00 00 00 00 00 00
#43 18.199501 = 00 00 0E 00 00 00 00 00 00 00 00 00 00 00 00 00
#45 18.203496 = 00 00 0E 00 00 00 00 00 00 00 00 00 00 00 00 00
#47 18.207500 = 00 00 0E 0C 00 00 00 00 00 00 00 00 00 00 00 00
#49 18.211493 = 00 00 0E 0C 00 00 00 00 00 00 00 00 00 00 00 00
#51 18.215498 = 00 00 0E 0C 00 00 00 00 00 00 00 00 00 00 00 00
#53 18.219495 = 00 00 0E 0C 04 00 00 00 00 00 00 00 00 00 00 00 <-8x4= 0.032s
#55 18.223494 = 00 00 0E 0C 04 00 00 00 00 00 00 00 00 00 00 00
#57 18.227520 = 00 00 0E 0C 04 00 00 00 00 00 00 00 00 00 00 00
#59 18.231496 = 00 00 0E 0C 04 00 00 00 00 00 00 00 00 00 00 00
#61 18.235490 = 00 00 0E 0C 04 00 00 00 00 00 00 00 00 00 00 00 - 12 / 5
...hold 5.448 seconds
4 keys per 0.032 seconds ~ 2 keys per frame @60fps -- Information is only in 3 bytes, so if you did press 4 keys here, some of them were probably ctrl, alt and/or shift, they all can most likely be stored in one byte
#63 23.684058 = 00 00 0E 0C 00 00 00 00 00 00 00 00 00 00 00 00
#65 23.688012 = 00 00 0E 0C 00 00 00 00 00 00 00 00 00 00 00 00
#67 23.691993 = 00 00 0E 0C 00 00 00 00 00 00 00 00 00 00 00 00
#69 23.695997 = 00 00 0E 0C 00 00 00 00 00 00 00 00 00 00 00 00
#71 23.699996 = 00 00 0E 0C 00 00 00 00 00 00 00 00 00 00 00 00
#73 23.703991 = 00 00 00 0C 00 00 00 00 00 00 00 00 00 00 00 00
#75 23.707999 = 00 00 00 0C 00 00 00 00 00 00 00 00 00 00 00 00
#77 23.711987 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <-8x4= 0.032s
#79 23.715984 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
#81 23.720002 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
#83 23.723984 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
#85 23.728011 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 12 /5
...all up, wait 16.538 seconds
4 keys per 0.032 seconds ~ 2 keys per frame @60fps
=====================================================
CONCLUSION REACHED:
- With the current polling rate this device has maximum output of 2 keys per frame @60fps. This "bottleneck" is completely unrelated to how data is handled on arrival, from here on it can only get worse.
Driver-Man, I am curious as to why you seem to think that Mame only gets 1 key for each time a USB device gets polled even though as you have already seen, USB devices like the I-PAC transmit all their key presses in one data packet?
That's the least of your concerns actually, there are more important interrupts and lags before the data even comes to that point, look at the USB trace. Required information is simply not arriving at sufficient rate, nothing much MAME can do about it, except buffer and extrapolate/interpolate, just like with networking.
1- it gets locked
2- somehow Driver-Man's rights to post into it are revoked
There are, of course, those who do not want us to speak. I suspect even now orders are being shouted into telephones and men with guns will soon be on their way. Why? Because while the truncheon may be used in lieu of conversation, words will always retain their power. Words offer the means to meaning and for those who will listen, the enunciation of truth...
Cruelty and injustice, intolerance and oppression. And where once you had the freedom to object, to think and speak as you saw fit, you now have censors and systems of surveillance, coercing your conformity and soliciting your submission. How did this happen? Who's to blame? Well certainly there are those who are more responsible than others, and they will be held accountable. But again, truth be told... if you're looking for the guilty, you need only look into a mirror.Is the consensus that the good technical info in this thread has come to an end?
E pur si muove.