Author |
Topic: Encoder Comparison Pages Back
Online (Read 396 times) |
|
|
RandyT
Full Member
Offline
Posts: 772
Friends don't let friends hack keyboards.
View
Profile | WWW | E-Mail |
|
Re:Encoder Comparison Pages Back Online
« Reply #3 on: August 12, 2004, 11:35:33 PM » |
Reply
with quote |
Heh, I see you still believe the performance of PS/2 is better
|
|
And I see you still haven't done any research to support your rolly eyed posts.
Really, someone should clock that sometime to get this out of the way. I'd put
my money on USB (since the bandwith is vastly superior and a few interrrupts are not gonna kill
that lead) On the other hand, who cares. With games running at 60Hz (max) the computer has ages to
wait on your keypresses. Still, it would be nice to know.
|
|
Yes, someone should. But there is more at play than raw bandwidth when comparing
these things. 1.5mbs is a theoretical maximum of a "low-speed USB
device". How close any device, especially a keyboard device, comes to this
speed depends greatly on the capabilities of the microprocessor used in the device, the
efficiency of the code inside and the software support of the host system. Try using
USB with the rudimentary support included in the BIOS of most motherboards if you don't
believe this to be true. It might work, but you wouldn't want to use it for
anything. On the other hand, the BIOS support for PS/2 works very well.
This reminds me of the Commodore 64 days and the push to attach high-speed modems to
it. In theory, you can use every available processor cycle to pump a data byte out
of the port at 9600bps. The problem was (and maybe still is, I haven't looked at the
64 scene for while;)) that even though technically the 64 was speaking at 9600 baud, it
could only assemble the data prior to transmission at a rate similar to that of a 2400 or
4800 baud modem.
In other words, bandwidth does not necessarily equal throughput. And
this is just one of a number of possible variables that can affect performance.
You might also wish to ask the question why, when given the choice of using either
interface on an encoder that supports both, PS/2 is usually the one used. There must
be a reason, no?
Nice overview though. You sure take a lot of time to research all these things.
very impressive work.
|
|
Absolutely. the dedication to those pages impresses me every time I look at them.
Nice job TH!
RandyT
*edit*
spelling....
|
http://www.groovygamegear.com/
- Home of the KeyWiz Programmable Keyboard Interface, Panel-top Switchable 4 and 8-way
Joysticks, Arcade Buttons, Quick Disconnects, and much more cool stuff! |
|
|
RandyT
Full Member
Offline
Posts: 772
Friends don't let friends hack keyboards.
View
Profile | WWW | E-Mail |
|
Re:Encoder Comparison Pages Back Online
« Reply #4 on: August 13, 2004, 05:34:54 PM » |
Reply
with quote |
Ha, ha, Randy. You always know to find some out of the way example ("a very
crappy USB device might be slower than a non crappy PS/2 device" or "many many years ago
there was a computer whith a really slow CPU that was unable to completely use up all the
bandwidth") to "prove" your point. Again I wonder why you claim I didn't research
the issue. Of course if you attach a crappy USB encoder it will not work, but the i-PAC is a fine
encoder and it does work. What 's the point of such statements?
|
|
The point is, it was a real world parallel of the difference between the "marketing
hype" and what is actually the case in a lot of instances with USB devices. I'm
sorry it was lost on you, I'll try harder next time.
And for the record, you just attempted to turn this into "yet another KeyWiz VS
IPAC" debate, which I am not going to get into again. The statements I am
responding to regard your general "USB is always better" rhetoric, nothing more.
If you want some point actually relating to the discussion at hand then think
about this; 1.5Mbps is the theoretical maximum bandwidth for USB. For PS/2 it's something like
10kbps. I'm pretty sure that factor 150 will matter much more in delays than any potential
interrupt conflicts.
|
|
And this is what shows your lack of research or real understanding of the topic at
hand. Your statement is along the same lines as this one:
"A car travels at 400 miles per hour, therefore a car is faster than a plane."
While this isn't necessarily a false statement, it is pretty far from being
accurate. Yes, a car has traveled at 400 miles per hour. Does your car?
Does mine? Does any production model? Can it turn a corner? Can it
maintain that speed long enough to be useful? Which plane?
Your statements use theoretical maximums as though they were the norm, and therefore are
misleading and not entirely factual.
Actually PS/2 is so slow that it cannot even be used in some applications (for
instance high res tablets). PS/2 doesn't offer enough bandwidth for the necessary information
stream.
|
|
And you wouldn't want to use it for transferring data from an external Hard-drive either,
but what bearing does that have on the point? Until well after USB was introduced,
artists tablets produced by WACOM and others used normal RS-232 serial. Not much of
a speed demand there I guess, as these functioned easily at 9600 baud (slower than the
PS/2 bus.)
A byte of data sent over the PS/2 keyboard port is framed at 11-bits. The max quoted
frequency of the clock is around 16.5khz, or 16500 bits per second. Drop that back
some to 15000 bits per second for compatibility purposes, divide it by 11 and you have
roughly 1363 bytes of data per second. Normal keys on a keyboard generate 3 bytes of
data, 1 at depress and 2 at release. So even if it were possible to press and
release 454 buttons within the time frame of 1 second, the PS/2 bus should still be able
to handle the traffic.
I'm not so sure 4 players pounding many buttons and wielding 4 joysticks
wouldn't give much more problems on a PS/2 encoder than the possibility of say a printer needing
an occasional USB interrupt delaying your USB encoder. I'm pretty sure bandwidth issues give a
much bigger delay problem than any possible USB interrupts blocking the USB encoder might.
|
|
If you aren't sure, why make statements like these? I can tell you that I am sure
that there would be no issues with PS/2 in this instance, at least not caused by a
limitation in the interface.
If you would like to conduct a test, wire your encoder up so that a single button
activates all inputs and use a program like Ghostkey to monitor the results while clicking
the button a few times in rapid succession. Hold the last press and record what you
see on the screen.
Do this with both USB and PS/2 and then tell me which one you think will have the greatest
possibility of a problem in the scenario you presented. I await your results.
For more normal use I wonder if any performance benefit (be it for PS/2 or USB)
will actually matter? Will you even notice a couple of ms delay?
|
|
Some people notice the absence of certain frequencies in their music, even though most
can't hear them to start with. Some are annoyed by 60hz flicker in fluorescent
lighting although millions don't even notice. You tell me. But one thing is
certain, if it doesn't feel right to you, it probably isn't. Before I designed the
KeyWiz, I was using a PS/2 keyboard hack. I used to think it worked pretty well,
until I made the switch. Turns out that the keyboard had an inferior processor and I
didn't know the difference until I actually had a frame of reference.
So yes, a few ms of delay can be noticed if present.
I guess it's habit and it's cheaper (initially). For me it was mostly caused by
people spreading misinformation. When I bought my i-PAC the 6 button myth was still alive. In the
meantime Andy Warner explained the 6 button restriction is nonsense and that speed wise there is
no difference. That is much more important to me than people quoting reference manuals. Andy
really does know how it works since he build the thing.
|
|
What goes on between you and your mentor is not for me to comment on. However,
"habit" as a reason to use PS/2 over USB is just plain silly There actually are valid reasons
and that isn't one of them.
...I don't want to rewire my controller when I switch to a new computer and so I
don't want to depend on PS/2 alone. In fact my current PC has no PS/2 port.
|
|
I'm sorry your salesman was able to convince you that less options was actually a
"feature" on the system you bought. Better luck next time.
Meanwhile, 90%+ of current systems still have the full complement of ports.
- It's much easier to connect control panels to the PC. You put the hole stuff
in the CP box and one wire comes out. For instance, rotating panels aren't gonna happen without
USB.
|
|
More misinformation. Ever hear of switching connections at the input side of the
encoder rather than the output side?
[rhetoric about "everyone is changing to USB" snipped...they said it would have
happened already, they tried, it still hasn't and isn't going to soon. We did this
one before}
Are all gamers who use USB joysticks, steering wheels, trackballs, game pads and
such suffering from poor gameplay? In fact, how many people insisting on PS/2 for their keyboard
encoders have a USB trackball or USB spinner in their CP?
|
|
Well, the true arcade trackballs from Betson use PS/2, as well as the one on my
cabinet. I engineered replacement encoder wheels for the Betsons with 4x the
resolution and it doesn't skip a beat. USB gamepads, steering wheels and joysticks
don't pretend to be keyboards, so not an apt comparison. But I'm sure they work
fine. Better? Not necessarily.
The only reason to go for PS/2 is if you use an older computer or older OS and
USB doesn't work really well in it yet (or maybe even not at all). In all other situations USB
just makes much more sense when you think about it (especially in the long run). I guess it just
hasn't gotten through to people yet.
|
|
I guess it's a good thing we have you here to get it through our thick skulls. Sheesh!
It's not that big of a deal so why bother thinking about it? Well, at first I
didn't think things through either so I went for PS/2, but in the end I got bitten and after I
researched things I now understand that USB is the better option. I'm really happy my encoder was
ready for USB.
|
|
Err.. how were you "bitten" again? Anyway, you have your opinion, I have
mine and everyone else has theirs. I'm glad you are as happy with USB as the
thousands of others are with PS/2. Isn't that what it's really all about in the end?
RandyT
*edit*
spelling.......
|
http://www.groovygamegear.com/
- Home of the KeyWiz Programmable Keyboard Interface, Panel-top Switchable 4 and 8-way
Joysticks, Arcade Buttons, Quick Disconnects, and much more cool stuff! |
|
|
|
|
|
RandyT
Full Member
Offline
Posts: 772
Friends don't let friends hack keyboards.
View
Profile | WWW | E-Mail |
|
Re:Encoder Comparison Pages Back Online
« Reply #8 on: August 13, 2004, 07:44:23 PM » |
Reply
with quote |
Randy,
I'm not trying to prove USB is better for gaming (although I do feel having USB at least as an
option is a must in an encoder which is supposed to last at least a decade). However, I am out to
refute the vague claims that PS/2 is the only way to go. Unless there is some actual proof to the
contrary, Andy Warners explanation that there is no discernable difference is valid (at least in
the case of the I-PAC).
|
|
I won't argue with someone vicariously through another. I only want you to think
about the scenario you gave me and conduct the test as I outlined it. You can then
give me your own conclusions. I have no interest in what you were told or by whom.
For me the demise of PS/2 was the deciding factor, for others it's a rotating
control panel needing a single cable to connect all controllers, again others don't have enough
connectors of a certain type and then there are some who worry about vague claims that there might
be a problem. I just hope the latter category understands that that's just pure nonsense so they
can base their choice on more important matters.
|
|
Err...before you call them nonsense again, do the test I mentioned. Be sure to look
through the posts of all the individuals experiencing problems with connecting their
encoders via USB and pay careful attention to the solution provided to them by other
readers (I'll save you the trouble, they are told to use the PS/2 port.) Sorry Patrick,
but there is nothing vague there. This is not to say that it happens to all or even
a majority, but the issues are real and seen all the time.
RandyT
(P.S. do the test )
|
http://www.groovygamegear.com/
- Home of the KeyWiz Programmable Keyboard Interface, Panel-top Switchable 4 and 8-way
Joysticks, Arcade Buttons, Quick Disconnects, and much more cool stuff! |
|
|
|
RandyT
Full Member
Offline
Posts: 772
Friends don't let friends hack keyboards.
View
Profile | WWW | E-Mail |
|
Re:Encoder Comparison Pages Back Online
« Reply #10 on: August 13, 2004, 11:44:39 PM » |
Reply
with quote |
there is no need for legacy ports anymore. I mean if you need legacy ports you
probably have a computer that supports them anyways . But if you are buying a new one there is really no point, (USB keyboards are cheap)
|
|
If this were true, the legacy ports would already be history. Evidently, the MB
manufacturers see it otherwise .
But seriously, this has been discussed in the past on here and a search will bring up more
than you probably want to hear on the topic.
RandyT
|
http://www.groovygamegear.com/
- Home of the KeyWiz Programmable Keyboard Interface, Panel-top Switchable 4 and 8-way
Joysticks, Arcade Buttons, Quick Disconnects, and much more cool stuff! |
|
|
Tiger-Heli
Full Member
Offline
Posts: 2249
Ron Howard? . . . er, I mean . . . Run, Coward!!!
View
Profile | WWW |
|
Re:Encoder Comparison Pages Back Online
« Reply #11 on: August 14, 2004, 08:53:04 AM » |
Reply
with quote |
Heh, I see you still believe the performance of PS/2 is better
Really, someone should clock that sometime to get this out of the way. I'd put my money on USB
(since the bandwith is vastly superior and a few interrrupts are not gonna kill that lead) On the
other hand, who cares. With games running at 60Hz (max) the computer has ages to wait on your
keypresses. Still, it would be nice to know.
Nice overview though. You sure take a lot of time to research all these things. very impressive
work.
|
|
Man, oh man, I leave my computer for a day and look what happens . . .
Okay, this has been discussed before, and I don't want to belabor the point or fan the
flame war. . .
PatrickL: I found it interesting that in the post I am replying to you said
"Really, someone should clock that sometime to get this out of the way."
Then when RandyT asks you to test it you post "Maybe if you tell me what would it
prove I would be interested. Right now I just don't see the point. I wasted enough time on
this already."
Obviously it's important to you or you wouldn't harp on it so much.
For the record, to me, it's not that much about speed or performance as capability.
1) There IS a limitation to the I-PAC in USB mode. It's more like 14 or 16
keys instead of six, but it's there. You can make the argument that this is similar
to the Japanese speedbikes being limited to 185 Mph - it doesn't make a difference in most
circumstances, but it's there.
2) I personnally experienced slowdowns with a pair of cheapo PC USB trackballs in
MAME. These were sharing a hub and I haven't seen issues with my keyboard with a USB
connection as opposed to a PS/2 connection.
3) I fully expect that 90% (probably more) of MAME users could use either USB or
PS/2 mode with no noticeable difference in performance. That said, if you search the
threads on here, you will find dozens of posts of users having trouble with USB mode with
their encoder. Since almost all USB encoders (I-PAC/2, I-PAC/4) also supported PS/2,
it was simple enough for most people to switch to PS/2 mode if they couldn't solve the
problems. However, I can only remember maybe one example of a person having a
problem with an I-PAC in PS/2 mode that was fixed by using it in USB.
4) I would like to see a speed/performance comparison between USB and PS/2 also,
just to put it to bed, but you also need the following conditions -
Should use the same encoder for both tests, same keys and same programs, and should test
multiple simultaneous keypresses.
Also, the tests should be done under both Win98SE and WinXP, and for that matter, on
entry, mid-level, and high-end systems to get accurate benchmarks. |
The WISE gazelle knows he only has to outrun the SLOWEST member of the
herd to avoid being eaten by the lion. |
|
|
patrickl
Full Member
Online
Posts: 865
Why am I a llama?
View
Profile | WWW |
|
Re:Encoder Comparison Pages Back Online
« Reply #16 on: August 14, 2004, 10:08:38 AM » |
Reply
with quote |
Heh, I see you still believe the performance of PS/2 is better
Really, someone should clock that sometime to get this out of the way. I'd put my money on USB (since the
bandwith is vastly superior and a few interrrupts are not gonna kill that lead) On the other hand, who
cares. With games running at 60Hz (max) the computer has ages to wait on your keypresses. Still, it would
be nice to know.
Nice overview though. You sure take a lot of time to research all these things. very impressive work.
|
|
Man, oh man, I leave my computer for a day and look what happens . . .
Okay, this has been discussed before, and I don't want to belabor the point or fan the flame war.
. .
PatrickL: I found it interesting that in the post I am replying to you said "Really,
someone should clock that sometime to get this out of the way." Then when RandyT asks
you to test it you post "Maybe if you tell me what would it prove I would be interested.
Right now I just don't see the point. I wasted enough time on this already."
Obviously it's important to you or you wouldn't harp on it so much.
|
|
I care about the performance USB vs PS/2 (in the sense of timing). I have no idea what
Randy's test would prove and he won't explain either. I don't feel like taking my CP apart
just to do some useless test.
In fact I feel rather ashamed I responded to his weird posts. I can't say I saw a on-topic
argument in any of them. I'll just remove my replies, do the silly test and summarize the
whole thing. Sorry for cluttering up your thread. I do realy like your site, but I also
think you should rethink the USB vs PS/2 issue (even if it really is a non issue).
BTW I'm not arguing compatibility issues or specific scenario's where either USB or PS/
are preferred. I'm saying USB vs PS/2 performance is either a non-issue and maybe even it
has a winner for USB. |
|
|
|
patrickl
Full Member
Online
Posts: 865
Why am I a llama?
View
Profile | WWW |
|
Re:Encoder Comparison Pages Back Online
« Reply #17 on: August 14, 2004, 03:11:17 PM » |
Reply
with quote |
OK, sorry for the delay, but I just can't seem to find my USB cable. The workshop has
been cleaned up by the missus and now I can't find the cable.
I'll just recap my (deleted) posts:
Comparing PS/2 vs USB; performance issues:
- USB will suffer in response time because it's lower in priority, needs more handling in
BIOS and OS and it shares the bus with other devices. Only other interrupts can effect bus
delays though, so USB harddisks and printers etc (if people would even have those
connected to their cab) are of no influence. I'm hard pressed to see the whole extra
overhead caused by these issues lasting longer than 1ms. For instance the max interrupt
can be 40 bytes on a 1.5Mbps connection (i.e. something like a .3ms delay)
- According to PS/2 protocol, each key press takes 1.1ms to be transmitted and a key
release takes 2.2ms (PS/2 rated by design at 10kbps and 11bit's used per byte transmitted)
At a frame rate of 60Hz there are 17ms per frame. Now imagine 4 players moving sticks and
pressing buttons franticly. So with PS/2 you could release at max 8 keys within a frame
before you actually start suffering more than a whole frame delay due to transmission
speeds. Even with fewer keys pressed (for instance during one player games) it's easy to
see these delays will have a similar (if not worse) impact on response times compared to
the USB delays mentioned above.
- A large number of keys pressed/released is not so much a cause for delay with a USB
encoder since the transmission is so much faster.
- The fixed limitation on the maximum number of 6 keys pressed simultaneously only exists
in standard keyboard encoders. An encoder like the I-PAC (in USB mode) will have a limit
on something like 14 to 22 keys simultaneously.
There are a few situations where circumstances basically force you to use either PS/2 or
USB:
- If you have a pre USB computer or use an OS without (mature) USB support you go for PS/2
- If for instance you use a Mac, you are building a rotating control panel (where you will
need to have only one "flexible" wire coming from the CP) or you have one of the
newer PC's without PS/2 ports then you go for USB
I might add some considerations:
- For 4 player fighter cabs, performance issues with PS/2 might be a consideration, USB
functions better here.
- If you think you are goinf to be in situations where something like 14 to 22 keys are
pressed simultaneously, an USB I-PAC will not work. Although if you are in that situation
PS/2 will suffer severly from performance issues too. You would actually need to find a
completely different alternative or live with of the problems in either USb or PS/2.
- Futureproofing; If you keep in mind the time frame you will be using your cab for then
it's wise to consider that USB seems to be pushing out PS/2 slowly but surely. Legacy free
PC's have been coming out already and so you might end up with one as a replacement in the
future. Maybe not tomorrow but what about in 5 or 10 years when your current PC breaks
down? Remember how quickly the old big AT keyboard connectors went out the door after the
new ATX motherboards were introduced.
So basically if there is no pressing reason to force you on either PS/2 or USB, it simply
doesn't matter which you choose. Both will work fine and other factors should decide which
encoder to pick. In hindsight I'm very glad my controller has both PS/2 and USB.
|
|
|
|
|
|
|
|
Tiger-Heli
Full Member
Offline
Posts: 2249
Ron Howard? . . . er, I mean . . . Run, Coward!!!
View
Profile | WWW |
|
Re:Encoder Comparison Pages Back Online
« Reply #22 on: August 14, 2004, 05:56:52 PM » |
Reply
with quote |
[quote author=patrickl link=board=1;threadid=23148;start=0#msg189573 That's just the
point I'm trying to make. You normally won't even notice the difference between USB and PS/2. What I
object to is claims that USB cannot be used (especially since there is no real proof to back them).
Who ever claimed that USB could not be used
|
|
Randy does (or at least he keeps summing up reasons why PS/2 is virtually always the way to
go).
|
|
And you keep saying that USB has a performance advantage with NOTHING to back that up,
besides the raw absolute bandwidth numbers.
I don't know the real answers, but it's not like you're posting "My I-PAC sucked in
PS/2 mode, and I connected it to the USB port and it really flies now."
I actually agree with your points. It's just that I think you put a bit too much
emphasis on USB performance issues where PS/2 could have similar problems. In effect you even
mention that, but the underlying tone I got was still that PS/2 is generally faster than USB.
|
|
Again, I didn't really mean to imply that PS/2 was faster than USB - it might be, but
that wasn't the intent. I did mean to imply that for most users, PS/2 will give less
problems and better overall performance than USB, not that USB is always a poor choice or
that it won't work fine for most users. If my pages imply a speed rather than an
overall performance issue between the two, I may need to revisit that.
I'd say it varies which is faster. That's why I basically only replied with a
smiley. It's probably like IDE and SCSI. Both are faster in certain situations. I guess I'm
a sucker for senseless debates.
|
|
Agreed - and it may well come down to whether you are using USB trackballs and spinners
along with the encoder or not (again, not saying that you can't do this, or that it's a
terrible idea, but it wouldn't surprise me if it had an effect.)
BTW I didn't understand why you thought hotswapping was important (I thought you
were talking about swappable panels), but for desktop panels then yeah USB will probably work
better too. I actually had some PS/2 problems when I was hotswapping my standalone panel with
(PS/2 cable). A couple of times I had to reset my computer to get the keyboard working again.
|
|
Yep, I have a home PC that I'm adding desktop controllers too. A little different
situation than a MAME cab. OTOH, about every 10th re-boot on that PC (Win98SE), I
have to unplug the USB mouse and plug it back in so Windows can find it again, so who
knows . . . |
The WISE gazelle knows he only has to outrun the SLOWEST member of the
herd to avoid being eaten by the lion. |
|
|
RandyT
Full Member
Offline
Posts: 772
Friends don't let friends hack keyboards.
View
Profile | WWW | E-Mail |
|
Re:Encoder Comparison Pages Back Online
« Reply #23 on: August 14, 2004, 06:27:48 PM » |
Reply
with quote |
I'll just recap my (deleted) posts:
|
|
I think you mean "re-write history". See the quotes in my posts for what
was deleted (I knew there was a reason I do that all the time.)
Comparing PS/2 vs USB; performance issues:
- USB will suffer in response time because it's lower in priority, needs more handling in BIOS and
OS and it shares the bus with other devices. Only other interrupts can effect bus delays though,
so USB harddisks and printers etc (if people would even have those connected to their cab) are of
no influence. I'm hard pressed to see the whole extra overhead caused by these issues lasting
longer than 1ms. For instance the max interrupt can be 40 bytes on a 1.5Mbps connection (i.e.
something like a .3ms delay)
|
|
Don't forget to mention the limited number of endpoints on the USB controller, which
account for the simultaneous keypress limitation, and then there's the whole processor
needing to take time to assemble and possibly pad the packets and the need to send more
data down the bus than PS/2 to do the same job.
- According to PS/2 protocol, each key press takes 1.1ms to be transmitted and a
key release takes 2.2ms (PS/2 rated by design at 10kbps and 11bit's used per byte transmitted) At
a frame rate of 60Hz there are 17ms per frame. Now imagine 4 players moving sticks and pressing
buttons franticly. So with PS/2 you could release at max 8 keys within a frame before you actually
start suffering more than a whole frame delay due to transmission speeds. Even with fewer keys
pressed (for instance during one player games) it's easy to see these delays will have a similar
(if not worse) impact on response times compared to the USB delays mentioned above.
|
|
Nice regurgitation, but this is so far out of the realm of your expertise (based on every
other post by you,) one has to wonder if you've aquired a "puppet master", not
that they appear to know more about this than you already do.
In any case, just about everything you wrote is based on bad information or is just
outright rubbish. Your 10kz number is flawed. This might be the case with the
slowest of the slow PS/2 controller chips, but not in the last 5-7 years. The
average is roughly (by my own estimates and experience) 50% faster than what you are
stating. If it wasn't, the KeyWiz wouldn't work. I can't comment on other
encoders though.
And the rest of the info is bogus as well. Ever hear of a keyboard buffer?
With PS/2, the BIOS is responsible for receiving data from the keyboard (encoder) and
stuffing the keyboard buffer on the host system. This happens almost in real-time,
as long as the Host isn't holding off the keyboard (encoder) from sending more data (which
happens very rarely, unless there is a severe problem with the system or a nasty piece of
software, which would cause problems for any interface.) This ensures that the
keyboard buffer is always ready to supply data the moment the application is ready for
it. At that time, there are no speed limitations because the code retrieves data
from the buffer at the speed the host system/OS allows. How much data it retrieves
at any given time will depend on the way the currently running software is written.
Just because the game doesn't look for keys but every 17ms doesn't mean that the PS/2
encoder is sitting there "dumb" waiting for it to be called on. It happily
(and constantly) chucks data out unitil the host buffer is full and then it continues to
load it's own buffers until it becomes full. Again, unless there is some severe
problem, it would be an extreme rarity for it to ever come to that.
- A large number of keys pressed/released is not so much a cause for delay with
a USB encoder since the transmission is so much faster.
|
|
If you look at what I just typed, you would see just how little a role the speed between
the encoder and the PC plays. What does play a role, is the ability of the encoder's
processor to handle the extra "packetizing" steps required by the USB
protocol and the PC to process the data to decide what it's for and where to put it, both
of which aren't required by PS/2.
- The fixed limitation on the maximum number of 6 keys pressed simultaneously
only exists in standard keyboard encoders. An encoder like the I-PAC (in USB mode) will have a
limit on something like 14 to 22 keys simultaneously.
|
|
I see this "fuzzy" number tossed around, but never actually hear a good
explanation, so I'm going to take a guess based on what I know.
The processor in question has 3 endpoints, 1 of which is reserved for modifier/system keys
like LSHIFT, RSHIFT, RALT, LALT, RCTRL, LCTRL, and the Windows keys.
The other 2 endpoints are set up to carry 7 keys each. A normal USB keyboard would
only use 1 endpoint for key data and one for a modifier which would allow for 6 or 7
pieces of key data and up to 8 modifier keys. But a normal USB keyboard uses a
matrix, so it blocks and keeps you from pressing all those at once.
So, with a USB encoder based on that same CPU, I would think that if you were pressing all
non-modifiers, you would get only 14 simultaneous keystrokes. But if modifiers were
pressed at the same time, you could get up to 22. This would mean you would be
forced to use the modifier keys in your button map if you were looking for that maximum 22
number.
Am I getting warm? (check
with your source if you don't know)
There are a few situations where circumstances basically force you to use either
PS/2 or USB:
- If you have a pre USB computer or use an OS without (mature) USB support you go for PS/2
- If for instance you use a Mac, you are building a rotating control panel (where you will need to
have only one "flexible" wire coming from the CP) or you have one of the newer PC's
without PS/2 ports then you go for USB
|
|
*cough* sorry, I just choked on my coffee. I actually agree with this
statement
Well, mostly. They do make multi-conductor cables and connectors with enough lines
for 33 connections, not that most (or any) panels would use that many in a rotating
situation. And yes, the cable is plenty "flexible", just not as thin
I might add some considerations:
- For 4 player fighter cabs, performance issues with PS/2 might be a consideration, USB functions
better here.
|
|
Whoops! There you go again. More rubbish and uninformed opinion being
delivered as fact. How about a detailed explanation to back this up? Surely
you have one or you wouldn't make such statements, would you?
Oh, and be sure to ask what protocol that second chip is using to speak to the other one
on those 4-player USB encoders. It wouldn't be PS/2, would it?
- If you think you are going to be in situations where something like 14 to 22
keys are pressed simultaneously, an USB I-PAC will not work. Although if you are in that situation
PS/2 will suffer severly from performance issues too. You would actually need to find a completely
different alternative or live with of the problems in either USb or PS/2.
|
|
This is just getting comical now. Your conclusion about PS/2 struggling is based on
the faulty conclusion you made above. The PS/2 encoder will happily deal with as
many keypresses as you need to use and will not suffer anywhere near the problems you say
are on par with blocked or missed keys on the USB counterpart. You should really
stop now. No, really
- Futureproofing; If you keep in mind the time frame you will be using your cab
for then it's wise to consider that USB seems to be pushing out PS/2 slowly but surely. Legacy
free PC's have been coming out already and so you might end up with one as a replacement in the
future. Maybe not tomorrow but what about in 5 or 10 years when your current PC breaks down?
Remember how quickly the old big AT keyboard connectors went out the door after the new ATX
motherboards were introduced.
|
|
Ummm...I still use one of those systems with a big ol' AT to PS/2 keyboard adapter as part
of my development system
Anyway, at the risk of sounding flippant (like I haven't already) if you can't find
a system with a PS/2 port capable of doing what you want 5-10 years down the road, or
afford another $35 bucks for the next latest and greatest (it won't be what you see on the
market today, that's for sure), then you really need to find a different hobby. It's
either too expensive or too complex for you.
If I'm able to stand in front of an arcade machine without a walker in 10 years, I'll be
happy
So basically if there is no pressing reason to force you on either PS/2 or USB,
it simply doesn't matter which you choose. Both will work fine and other factors should decide
which encoder to pick. In hindsight I'm very glad my controller has both PS/2 and USB.
|
|
Again, a true statement, but for some there are reasons, and they do press...hard.
The two are not created equal in all respects so it is important to use the one that will
cause the least amount of grief, whatever the grief is defined as for that individual.
And again, I'm happy you are happy .
RandyT
*edit*
formatting......
|
http://www.groovygamegear.com/
- Home of the KeyWiz Programmable Keyboard Interface, Panel-top Switchable 4 and 8-way
Joysticks, Arcade Buttons, Quick Disconnects, and much more cool stuff! |
|
|
|
|
|
RandyT
Full Member
Offline
Posts: 772
Friends don't let friends hack keyboards.
View
Profile | WWW | E-Mail |
|
Re:Encoder Comparison Pages Back Online
« Reply #27 on: August 14, 2004, 11:18:25 PM » |
Reply
with quote |
Again you completely misinterpret my post (buffers have nothing to do with
transmission times and I don't say keystrokes are lost, but that they arrive late), then you make
fun of your own idiotic interpretation and to top it all off you try to sidetrack the discussion
with subjects that have nothing to do with the discussion at hand.
|
|
Well that was one part of the two+ pager I just wrote. How about the rest?
Everything I wrote has something to do with this topic.
I did misunderstand the point of that statement, but what I said is still true and the
buffer is still important there. Let's look again just for fun.
So with PS/2 you could release at max 8 keys within a frame before you actually
start suffering more than a whole frame delay due to transmission speeds.
|
|
The software is responsible for retrieving the keyboard data from the buffer.
It might do it every 17ms, as you stated, or every 35ms or ? ? ?. It's up to the
software and has nothing to do with the interface.
But let's use your 17ms as though it were somehow set in stone (keeping in mind that it is
certainly not). But before I go on, and for the sake of others who might not
have a feel for the time frame of 17ms, do the following:
Speak the words "one mississippi". Did you do it? Ok, in the time it
took you to do that, 17ms went by 60 times and was far less time than it took you
to make the "wuh" sound in "one". Now let's continue...
Based on the maximum speed specifications of the PS/2 port, which is in reality about 1/2
millisecond per 11-bit frame, it would be possible to send 34 button presses or 17
releases or a combination of the two with the appropriate number differences.
Now, in order for any button "event" to be delayed by an entire
"frame", umm... 17/1000ths of a second, it would need to occur at the precise
instant the software was finished emptying the buffer and went on to the rest of it's
business. If it occured 6ms afterward, it would be delayed by only 11/1000ths of a
second, 12ms afterward it would be delayed by 5/1000ths of a second and so on. In
order to be more than 1 frame late, you would need to have, on average, more than 24
button transitions that occur in 17/1000ths of a second. If you tried with every bit
of determination you could muster, you, as an individual, would have virtually no chance
of making 5 transitions occur in that amount of time, let alone 25.
4 players could be hitting or releasing 2 buttons each with all of them hitting or
releasing diagonals (not just holding a direction), in a window of 17/1000ths of a second,
and delivery of the data via PS/2 still would not exceed a 17ms frame. Again,
exceeding the maximums merely by chance, even with 4 players banging like mad, is a
virtual impossibility.
There have been encoders on the market (long fixed by now and certainly not mine!) that
had problems with games requiring only 3 presses within a "frame". This
was due to poor firmware, questionable hardware design or both. But as I said, the
culprit has been fixed as far as I know.
The question is, what makes you think that the extra data and processing steps required by
USB aren't going to give you similar or possibly worse performance?
But here's something that I found interesting during my research, and someone please
correct me if I'm wrong, but I'm pretty sure it was from the HID white paper or something
of similar reliability (MS?)
The USB keyboard data is delivered to the host in packet form, meaning that is a
collection of bytes with header and data information. The packet is sent serially
(one bit after another) and then "re-assembled" into a packet again at the
host. The host then identifies the packet as being one from a keyboard, pulls out
the keystroke data and puts it into a virtualized keyboard buffer. But here's the
interesting part...as the host deals with the data as a "packet" there is no
particular order in which it is placed into the virtualized buffer.
This would mean, if I'm not mistaken here, that if you and your competitor were in a
situation where the first one to press the button were to win, and you both pressed close
enough together that your keystrokes ended up in the same packet, the winner is pretty
much picked at random
So it's quite possible that the FIFO system of PS/2 is superior in this regard.
Until you examine the full workings of a device, meaning all internal protocols used in
communication with other components and the methods used in the microcode, you won't ever
get a clear picture as to the real performance capabilities the device can offer.
Regardless of whether the final output is USB or PS/2. Remember, the output of
anything can only be as fast as the slowest part coming in or the slowest part of the
process as a whole.
RandyT
|
http://www.groovygamegear.com/
- Home of the KeyWiz Programmable Keyboard Interface, Panel-top Switchable 4 and 8-way
Joysticks, Arcade Buttons, Quick Disconnects, and much more cool stuff! |
|
|
|
|
|
|
|