Build Your Own Arcade Controls Forum
Main => Main Forum => Topic started by: shmokes on April 17, 2003, 09:48:54 pm
-
This question is pretty much for U_rebelscum, but I figure others will benefit from the answer so rather than p/m...
Do you know yet how Act-Labs is planning to support dual lightguns with the TV-out flavor?
Will we need to run Mame analog+? Will it be possible to get dual gun support in Windows XP?
-
Yes,No,Yes
try reading the annoucnments about the gun at www.act-labs.com (http://www.act-labs.com) :)
-
;D I think you may have read my first question slightly off, or at least I was hoping to get an elaboration rather than just a yes. It says do you know how, not do you know if. I knew the if answer and have two preordered.
But since they are acting like a couple of mice I figured that we might have to use analog+, or at the least the problem with both triggers being pulled at once could possibly be alleviated with analog+
-
First, sorry for the late reply: wasn't home for this weekend.
AFAIK (from the actlab forum, mostly), actlabs is making an assumption that is not true in mame in their dual lightgun design.
How the gun will get hardware "dual" support:
The tv lighguns will have a switch. That switch changes the button numbers from 1-trigger, 2-side button, to 3-trigger, 4-side button. So for dual lightguns, one tv lightgun has the switch on, the other off. This is fine as far as buttons go, because directX supports 4 buttons on mice, and mame (AFAIK) can do four button already (not in ctrlr/ini file, though, sort of like joybuttons7+).
But both guns will still effect one mouse location.
Act-lab has said that if both buttons are pressed close to the same time, the events sent to the computer will be gun 1 button (1/2) press, screen location, gun 2 button (3/4) press, screen location in that order. (There is a timing limit of the USB data rate.) This is fine if the app uses event based, buffered mouse input reading.
Mame, however, is not event-based, and is non-buffered, for mouse, joystick, and keyboard inputs. By switching to buffered mouse input, mame can cover some of the problems of not switching to event-based input, but IMO it will be a hack that removes some of the OS/core emulation accuracy.
Quote from actlabs forum: Grant - ACT LABS AdministratorTwo TV guns can be used simultaneously independantly. This gun will report as a 4 button device, but the gun will only use two of them. The first gun will only use button 1 & 2 and the second gun will only use button 3 & 4. The game will associate button 3/4 for the second gun and button 1/2 for the first gun. When both guns fire at similar times, the first gun will register button 1 first and then its x/y position in sequence; the second gun will register button 3 and then its x/y position in sequence. Button 2 & 4 will be used for a reload even. The only time the application will miss the first x/y position event is if the two players fire each trigger at once within 10 milliseconds (limitation of the USB Full-Speed pipeline). The chances of this occuring is very rare, unless you can trigger the gun 100 times per second.
http://www.act-labs.com/ubbcgi/ultimatebb.cgi?ubb=get_topic&f=13&t=000145
It even sounds like dual tv guns might report to windows as the same mouse (maybe by both plugging into the same VGA dongle box). If this is true, then even analog+ wouldn't work. The USB optipac, however, can report as two mice through the one USB cable, so this could be used by actlabs, too, and then this alarm would be a false one.
my $0.02, AFAIK. Remember, I'm not on the inside, so I could all wrong (which I hope).
-
Wow...great answer. Even if you're wrong (which I also hope), you're theory is sound and extremely informative.
-
Yes, I actually suggested this method in a thread with one of the act labs guys. Apparently he listened.
-
Wow...for knowing all of that your response to my post kind of sucked, howard. :P
-
Yes, I actually suggested this method in a thread with one of the act labs guys. Apparently he listened.
If you can't tell, I am very skeptical about this idea.
My skepticism based on test results using two lightguns (with analog+), set so each gun's buttons can be distinguished from the other gun's, but the mouse possition only distinguished by timing. I didn't test adding suppport for event-based inputs; mame should not be event based. Front ends in windowing OS's do very well with event-based inputs, flash based games do great, but time critical (ie: emulation --> ie: mame) apps don't. I didn't try adding buffered mouse location input, either; just buffering the inputs probably'll be okay, but it will make mame do a lot of work windows already does & add the problem of buffer overruns.
If mame makes zero changes and my as$umptions* of how the TV lightsgun will work are true, I bet the current mame will work as well as analog+ ver. 0.64 did with two lightguns: "sort of" to "not very".
Heck, if you have two lightgun (or even any 2 USB mice), winME/98, and any recent analog+, you can see the results by playing any working lighgun game with the "-lightgun -nolightgun2a -nolightgun2b" options, and setting player 1 & 2 button inputs to lightgun 1 & 2, respectively. (the LG 2a & LG 2b being the non-buffered, non-event-based, multiple lightgun support listed as still in alpha testing but works great on my system, so need to be disabled or else you'll get good results ;) ).
*"a s s u m p t i o n s" mis-spelled because of the auto censoring of this forum, not because there's any money involved.