| Main > Main Forum |
| USB "Gamepad" encoder questions |
| << < (5/9) > >> |
| krick:
--- Quote from: tetsujin on January 28, 2005, 01:08:58 am ---I guess If my USB controller were on IRQ 10 or 11, and some interrupty device on IRQ 9 took a hell of a lot of the CPU's attention, then maybe it would have a measurable impact... --- End quote --- I don't know what the real world diffence is but keep in mind that in every motherboard I've seen in the last 2 years, the USB controllers share IRQs with PCI slots and/or other onboard devices. Either of these could be something that is very needy like a sound card. Then add to that the fact that each controller can have a device in each of its two ports, both competing for attention. And then throw USB hubs into the equation. Though, In the end, like you said, it might not make any noticable difference at all. |
| tetsujin:
--- Quote from: krick on January 28, 2005, 10:21:52 am --- --- Quote from: tetsujin on January 28, 2005, 01:08:58 am ---I guess If my USB controller were on IRQ 10 or 11, and some interrupty device on IRQ 9 took a hell of a lot of the CPU's attention, then maybe it would have a measurable impact... --- End quote --- I don't know what the real world diffence is but keep in mind that in every motherboard I've seen in the last 2 years, the USB controllers share IRQs with PCI slots and/or other onboard devices. Either of these could be something that is very needy like a sound card. Then add to that the fact that each controller can have a device in each of its two ports, both competing for attention. And then throw USB hubs into the equation. --- End quote --- Yeah, I mean I'm thinking out loud in the forum about what I expect to see in terms of USB performance, but I don't know how much of it is true from a practical standpoint, or what the real implications are. The "IRQ 1" argument does have some merit, I'll admit... I just don't know how much. IRQ conflict issues I can negotiate through the BIOS - I can put devices where I want them. But probably I really won't have a real answer about performance until I've built my devices, unless someone really knowledgable about PC hardware wants to chime in. I need to read up more on USB, too. |
| NoOne=NBA=:
The one caution I can think of is that any STATIC controls are going to need hardwired ID's, like what is included on Dave's boards. You don't want a beautifully designed panel loading up the controllers in whatever order it feels like THIS time. |
| tetsujin:
--- Quote from: NoOne=NBA= on January 28, 2005, 02:30:40 pm ---The one caution I can think of is that any STATIC controls are going to need hardwired ID's, like what is included on Dave's boards. You don't want a beautifully designed panel loading up the controllers in whatever order it feels like THIS time. --- End quote --- Yeah, I read his FAQs. Thanks for the heads-up though. I'm interested in looking at other possible solutions to that. One that did occur to me is that, if the boards need to have distinct IDs to control how they're assigned by the system, it'd be possible to multiplex some of the control I/O lines to a BCD rotary dial or a set of DIP switches so the ID could be changed. It'd be possible to add that feature by using one additional I/O line without any impact on the performance of the controls: the additional I/O line (let's call it "DIP Enable") could be an output, set "high" when the controls are in use, and "low" when the controller wants to check the DIP switches. All the control inputs would be pulled-high, and each switch would connect to an input line and also to the output on a NOT gate attached to "DIP Enable" - so when DIP Enable is high, closed control switches can pull the inputs low, and when DIP enable is low, only the DIP switches can pull the inputs low. Another option would be to connect all my controls to a single microcontroller. For my current panel design this is certainly possible. (two 8-ways, sixteen action buttons and maybe another 8 administrative buttons = 32 inputs. The planned future four-player panel could pose a problem for this approach, though: four 8-ways, as few as twelve action buttons, 8 admin = 36 inputs, where the 18F4550 only has 34 available I/O lines if I don't multiplex.) Putting both controllers on a single USB device would give me control over the order in which they're enumerated, which is the main factor determining how they are recognized by the system. Really, though, I'd like a better software solution to this. I don't know if it's possible to address a USB device according to where it is connected - like on X-Box where there are four USB ports for the controllers, but it knows which port is which. If I could get that kind of control at the hub-level, that could do the trick. Of course, I want my front-end to have some intelligence when it comes to USB device IDs, too: I'd like to be able to use USB device IDs to enable the front-end to enable and disable games according to whether the controller is compatible, and assign mappings in a sensible way. That brings me back to hard-coding device IDs for the controllers, but for the purpose of identifying a control panel rather than simply establishing an ordinality. That could prove a very flexible solution, as if I chose to supplement the main panel with some off-the-shelf gamepads, I could create layouts based on those IDs, too. (But to really work nicely that would still need to rely on being able to determine where the device was plugged in...) I know all this is possible with keyboard encoders. I've seen (online) some fine examples of this, using various types of high-density connectors to connect a whole group of controls to an encoder in a modular fashion. And certainly such setups would be able to use an input or two to identify which CP is connected, allowing the front-end to adapt its behavior accordingly... I'll more likely give each control panel its own built-in controller so a swapped-out control panel could also be used on a computer, and only require one USB connection and one power connection. There's also something called a "physical descriptor" that a USB game device can define... I'm very curious about that, and what it could do for me. |
| NoOne=NBA=:
Can you give a quick rundown of what you are envisioning the end product to be here? Is it a cabinet, with a fixed two player panel on it, that may or may not support add-on gamepads in the future? A cabinet with swappable control panels? Separate control boxes that will plug directly into the computer--like gamepads? You have mentioned several possibilities, so I'm trying to pin it down a bit. |
| Navigation |
| Message Index |
| Next page |
| Previous page |