Guerrilla War and Happ rotary Joystick

The place for all discussion on gaming hardware
yojo!
Posts: 964
Joined: Wed Jan 26, 2005 8:27 pm

Guerrilla War and Happ rotary Joystick

Post by yojo! »

I hooked up my Guerrilla War PCB with an Happ rotary joystick and I randomely get a "joystick error" when I quickly rotate the joystick while playing. I'm using the same joystick with other rotary type games (ikari Warrior, Bermuda Triangle, etc) with no problem. I looked around in MAME and Guerilla War actually has a software protection to "detect" that genuine SNK LS-30 sticks were installed in the cab.

Does anybody know of a way to bypass the protection ? I was thinking to replace the eproms with the bootleg version but it does not actually support rotary at all.
User avatar
system11
Posts: 6290
Joined: Tue Jan 25, 2005 10:17 pm
Location: UK
Contact:

Post by system11 »

Get some LS30s?

I know it sounds a bit obvious, but.. You can still get proper LS30s brand new.

http://www.arcadeshop.de/Joysticks-Rota ... K_538.html

The detection is probably something to do with the delay between contacts, but that's just a guess - it would probably be quite obvious if you took one of each and dismantled them.
System11's random blog, with things - and stuff!
http://blog.system11.org
User avatar
rolins
Posts: 575
Joined: Tue Feb 21, 2006 7:28 pm
Location: Nevada

Post by rolins »

You can also buy brandnew LS-30s from videoconnect.com for $79 each. They also have the LS-30 wrench too which is important for removing the handle/cover. They're way more expensive than Happ but if you're lucky you might find some on ebay. Not too long ago I won 2x brandnew LS-30 for $50 each, even came complete with 2 harness and the wrench.
yojo!
Posts: 964
Joined: Wed Jan 26, 2005 8:27 pm

Post by yojo! »

bloodflowers wrote:Get some LS30s?

I know it sounds a bit obvious, but.. You can still get proper LS30s brand new.

http://www.arcadeshop.de/Joysticks-Rota ... K_538.html

The detection is probably something to do with the delay between contacts, but that's just a guess - it would probably be quite obvious if you took one of each and dismantled them.
I looked at the source code in the Mame driver and apparently the SNK rotary stick is designed in such a way that the stick does not transition from pin 6 to 8 directly; The game expects to read an "invalid" position (the transition between 6 and 8 ) for a short period of time.
this might corespond to the place where the contact touches simultaneously trace 6 & 7 & 8 for a brief period of time during the rotation. (see PCB design here: http://wiki.arcadecontrols.com/wiki/LS- ... ch_Service)

If the stick goes directly from 6 to 8 w/o "noise" more than 8 times in a row then firmware declares the jostick invalid and goes into the "joystick error" tilt. Apparently Guerilla War is the only rotary game with such a protection. Lucky me... :?
Ex-Cyber
Posts: 1401
Joined: Thu Oct 25, 2007 12:43 am

Post by Ex-Cyber »

I could be misreading things, but it looks like the middle trace effectively makes that transition behave like a break-before-make switch whereas the others are make-before-break.

Is it active-high or active-low (IOW is pin 7 connected to 5V or ground on the board)?
yojo!
Posts: 964
Joined: Wed Jan 26, 2005 8:27 pm

Post by yojo! »

Ex-Cyber wrote:I could be misreading things, but it looks like the middle trace effectively makes that transition behave like a break-before-make switch whereas the others are make-before-break.

Is it active-high or active-low (IOW is pin 7 connected to 5V or ground on the board)?
I'l look at the voltage next time I plug it in.
Ex-Cyber
Posts: 1401
Joined: Thu Oct 25, 2007 12:43 am

Post by Ex-Cyber »

No rush. I have an idea (simulating the break with a basic TTL chip), but I'm not sure it'll work and I'll be pretty ridiculously busy for the next 2-3 days anyway.
User avatar
GaijinPunch
Posts: 15850
Joined: Mon Jan 31, 2005 11:22 pm
Location: San Fransicso

Post by GaijinPunch »

OT: Anyone ever tried using one of these w/ one of the Ultimarc devices so you can use it in Mame? I've got some extra sticks. Looking to add one to my monster so I can have PCB or Mame love.
RegalSin wrote:New PowerPuff Girls. They all have evil pornstart eyelashes.
User avatar
Domino
Posts: 1346
Joined: Sat Feb 16, 2008 11:35 pm
Location: Florida

Post by Domino »

I found one arcade place selling the board for $25. I played it before and didn't leave me that impressed.
User avatar
rolins
Posts: 575
Joined: Tue Feb 21, 2006 7:28 pm
Location: Nevada

Post by rolins »

GaijinPunch wrote:OT: Anyone ever tried using one of these w/ one of the Ultimarc devices so you can use it in Mame? I've got some extra sticks. Looking to add one to my monster so I can have PCB or Mame love.
I've thought about that too. There have been a couple of rotary encoders for Mame, the two main ones are Ulitmarcs and GGG's GP-Wiz40. Each have their own pros and cons, but neither one is 100% perfect. The GP-Wiz40 does have higher compatibility with other rotary type games.

I'm thinking about getting the GP-Wiz40 since it doubles as a joystick and rotary interface on a single pcb. Certainly cheaper compared to buying a I-Pac2 and rotary interface by Ultimarc. The one major drawback with the GP-Wiz40 is you have cut off the end of your rotary harness, which won't matter to me since I've got a couple extra connectors.
yojo!
Posts: 964
Joined: Wed Jan 26, 2005 8:27 pm

Post by yojo! »

Ex-Cyber wrote:I could be misreading things, but it looks like the middle trace effectively makes that transition behave like a break-before-make switch whereas the others are make-before-break.

Is it active-high or active-low (IOW is pin 7 connected to 5V or ground on the board)?
Just checked; it's ground based.
User avatar
Dave_K.
Posts: 4570
Joined: Wed Jan 26, 2005 5:43 am
Location: SF Bay Area
Contact:

Post by Dave_K. »

I know this was asked before, but is there any alternative to finding loop24 joysticks? I have LS30's but they won't work on Calibur 50.
User avatar
rolins
Posts: 575
Joined: Tue Feb 21, 2006 7:28 pm
Location: Nevada

Post by rolins »

Dave_K. wrote:I know this was asked before, but is there any alternative to finding loop24 joysticks? I have LS30's but they won't work on Calibur 50.
You can use Happ optical joystick as an alternative but they require about 5.5" of clearance.

I also need a Loop-24 stick to play my Cal 50 pcb. There's just no way I can fit a Happ optical in my KBM joystick that has 3.5" clearance.
PC Engine Fan X!
Posts: 9099
Joined: Wed Jan 26, 2005 10:32 pm

Post by PC Engine Fan X! »

bloodflowers wrote:Get some LS30s?

I know it sounds a bit obvious, but.. You can still get proper LS30s brand new.

http://www.arcadeshop.de/Joysticks-Rota ... K_538.html

The detection is probably something to do with the delay between contacts, but that's just a guess - it would probably be quite obvious if you took one of each and dismantled them.
I clicked on the $ sign on the above listed site and just one brand new official SNK produced LS-30 rotary joystick is priced at $83.61 USD. You do get what you pay for if you want them in new condition. I recall playing some of those SNK, Data East and Romstar rotary joystick based arcade games with either the tradiition octogonal or rounded rotary joystick base setup back in the day. ^_~

PC Engine Fan X! ^_~
Ex-Cyber
Posts: 1401
Joined: Thu Oct 25, 2007 12:43 am

Post by Ex-Cyber »

yojo! wrote:
Ex-Cyber wrote:I could be misreading things, but it looks like the middle trace effectively makes that transition behave like a break-before-make switch whereas the others are make-before-break.

Is it active-high or active-low (IOW is pin 7 connected to 5V or ground on the board)?
Just checked; it's ground based.
Are you prepared to chop up a cable (or build an adapter) and wire up an IC for this, or would that be too much? I don't think there's any electrically safe way to do it without physically disconnecting those signals...
User avatar
slap_fight
Posts: 64
Joined: Thu Sep 21, 2006 5:09 pm
Location: london

Post by slap_fight »

ah...so you managed to get a guerilla war locally then??

i thought videoconnect had closed down? i havent checked their website for a while, but when i did do it hadnt been updated for years. i was also told that the place in germany is out of stock on the ls-30.

here's my own stash.
Image
User avatar
Dave_K.
Posts: 4570
Joined: Wed Jan 26, 2005 5:43 am
Location: SF Bay Area
Contact:

Post by Dave_K. »

slap_fight wrote: here's my own stash.
While we're showing off and all...I'm willing to trade this bad ass panel for a pair of green Loop24 sticks.
Image
User avatar
emphatic
Posts: 7984
Joined: Mon Aug 18, 2008 3:47 pm
Location: Alingsås, Sweden
Contact:

Post by emphatic »

Dave_K. wrote:
slap_fight wrote: here's my own stash.
While we're showing off and all...I'm willing to trade this bad ass panel for a pair of green Loop24 sticks.
Image
That is rad.
Image | My games - http://www.emphatic.se
RegalSin wrote:Street Fighters. We need to aviod them when we activate time accellerator.
yojo!
Posts: 964
Joined: Wed Jan 26, 2005 8:27 pm

Post by yojo! »

Ex-Cyber wrote:
yojo! wrote:
Ex-Cyber wrote:I could be misreading things, but it looks like the middle trace effectively makes that transition behave like a break-before-make switch whereas the others are make-before-break.

Is it active-high or active-low (IOW is pin 7 connected to 5V or ground on the board)?
Just checked; it's ground based.
Are you prepared to chop up a cable (or build an adapter) and wire up an IC for this, or would that be too much? I don't think there's any electrically safe way to do it without physically disconnecting those signals...
Yep I can do that. I don't want to hack the harness itself; I'll get part to build an adapter between the PCB and the harness. What did you have in mind ?
Ex-Cyber
Posts: 1401
Joined: Thu Oct 25, 2007 12:43 am

Post by Ex-Cyber »

The basic idea is to disconnect pins 6 and 8 and run them through a circuit that passes the ground connection when one is grounded but isolates both if both are grounded (this is based on my guess that it's normally make-before-break, with the 6-8 transition acting as a break-before-make on the LS-30). There's not one correct way to build this; the major concern is probably which parts are easiest for you to obtain.

Basically, there's a logic stage and a buffer stage. Both could be served by a single 7401. Otherwise, the logic stage could be served by a 7400 or a 7402, and the buffer stage could be served by two NPN transistors (e.g. 2N3904), a 74125, a 74126, or a 74245. There are others I'm not thinking of here; it's pretty flexible.
yojo!
Posts: 964
Joined: Wed Jan 26, 2005 8:27 pm

Post by yojo! »

Ex-Cyber wrote:The basic idea is to disconnect pins 6 and 8 and run them through a circuit that passes the ground connection when one is grounded but isolates both if both are grounded
But, according to the Mame driver 6 & 8 appear grounded for a short period of time during the transition for the LS-30. The firmware detects this "glitch" to determine if the stick is genuine. So your solution would achieve the opposite wouldn't it (i.e. make the data "clean")?

The Mame code addresses the issue by making all 12 input grounded.

I did some test with my Happ using the Heavy barrel's test screen; which displays the state of all 12 inputs. I did not see any glich (i.e. 6 & 8 as '1') when I slowly rotate the stick. If anyone that owns Heavy Barrel and a LS-30 could try the same test and see if they both appear as '1' for a short period of time that would be handy.
yojo!
Posts: 964
Joined: Wed Jan 26, 2005 8:27 pm

Post by yojo! »

slap_fight wrote:here's my own stash.
are they brand new ? How much are they worth now ?.
User avatar
slap_fight
Posts: 64
Joined: Thu Sep 21, 2006 5:09 pm
Location: london

Post by slap_fight »

i bought the 1st set from videoconnect about 4 years ago? i think i paid 80 bucks for the pair. then i found 1 set second hand and because they have been "broken in" they felt better so i used those ever since, they were about 40 bucks? then recently i bought another set NOS for 50 pounds, bargain. that was a one off though.
Ex-Cyber
Posts: 1401
Joined: Thu Oct 25, 2007 12:43 am

Post by Ex-Cyber »

yojo! wrote:
Ex-Cyber wrote:The basic idea is to disconnect pins 6 and 8 and run them through a circuit that passes the ground connection when one is grounded but isolates both if both are grounded
But, according to the Mame driver 6 & 8 appear grounded for a short period of time during the transition for the LS-30.
Actually, a comment in the MAME driver says exactly the opposite:
src/mame/drivers/snk.c wrote:The rotary joystick is a mechanical 12-way positional switch, so what happens is that occasionally while rotating the stick none of the switches will be closed.
The Mame code addresses the issue by making all 12 input grounded.
MAME returns 0xf, which suggests no inputs grounded (unless hardware on the PCB is inverting the logic). This is also what it returns for the bootleg version when not using a rotary stick. Thanks to the MAME macro mess, though, I'm not sure whether this value represents an actual value read by the CPU or a position number.
I did some test with my Happ using the Heavy barrel's test screen; which displays the state of all 12 inputs. I did not see any glich (i.e. 6 & 8 as '1') when I slowly rotate the stick. If anyone that owns Heavy Barrel and a LS-30 could try the same test and see if they both appear as '1' for a short period of time that would be handy.
It probably is worth checking somehow to verify the transition behavior. The way to do it would probably be with an analog ohmmeter (so you can watch the needle bounce around in real time; digital meters usually have a considerable delay). I don't think the games can really be trusted to show you the raw values in real time.
yojo!
Posts: 964
Joined: Wed Jan 26, 2005 8:27 pm

Post by yojo! »

Ex-Cyber wrote:MAME returns 0xf, which suggests no inputs grounded (unless hardware on the PCB is inverting the logic). This is also what it returns for the bootleg version when not using a rotary stick. Thanks to the MAME macro mess, though, I'm not sure whether this value represents an actual value read by the CPU or a position number.
I think you're right; I was thinking about ' the 0xf' again last night after posting and this makes total sense now. (sorry, I'm kind of slow so forgive me ;) ) This means then when the LS-30 stick transitions toward the home position (i.e. pin 7) no inputs are goundred.

To make it work with my Happ I would have to have pin 6 & 8 grounded for a short period during the transiton so we can detect the condition and report no input like you suggested ? It would have to be long enought the firmware to sample it ?

I'll run some test tonight; I only have a digital ohmeter at home; I'll see If I can track down an analogic one if I'm unsucessfull. Thanks for your help !
Ex-Cyber
Posts: 1401
Joined: Thu Oct 25, 2007 12:43 am

Post by Ex-Cyber »

yojo! wrote:To make it work with my Happ I would have to have pin 6 & 8 grounded for a short period during the transiton so we can detect the condition and report no input like you suggested ? It would have to be long enought the firmware to sample it ?
That's the idea. If there's not a long enough transition it should still be possible to do something, but the logic stage becomes more complicated.
yojo! wrote:I'll run some test tonight; I only have a digital ohmeter at home; I'll see If I can track down an analogic one if I'm unsucessfull.
It's worth a shot; a digital one might be good enough depending on the stick behavior.
yojo!
Posts: 964
Joined: Wed Jan 26, 2005 8:27 pm

Post by yojo! »

Ex-Cyber wrote:
yojo! wrote:I'll run some test tonight; I only have a digital ohmeter at home; I'll see If I can track down an analogic one if I'm unsucessfull.
It's worth a shot; a digital one might be good enough depending on the stick behavior.
Pin 6 & 8 make contact when I rotate the stick in the intermediate position. I had to use an analogic ohmeter to detect this. What's the easiest way to implement your idea ?
Ex-Cyber
Posts: 1401
Joined: Thu Oct 25, 2007 12:43 am

Post by Ex-Cyber »

I think the easiest combo in terms of components that would be easy to find would be

1x 7400 (HC/HCT)
1x 74244 or 74245 (HC/HCT)
1x resistor (anything in the 10K to 100K range should be fine)
yojo!
Posts: 964
Joined: Wed Jan 26, 2005 8:27 pm

Post by yojo! »

Ex-Cyber wrote:I think the easiest combo in terms of components that would be easy to find would be

1x 7400 (HC/HCT)
1x 74244 or 74245 (HC/HCT)
1x resistor (anything in the 10K to 100K range should be fine)
I already started working on the electronic last week with :

1 74HCT00 and 2 pull up resistors. with the following logic:

(' == not)
(. == and)
Xin == pin from rotary stick connected to a pull up resistor
Xout == pin out going to the arcade PCB

6out = (6in' . 8in)'
8out = (8in' . 6in)'

Why would I need the 74244/74245 ?
Ex-Cyber
Posts: 1401
Joined: Thu Oct 25, 2007 12:43 am

Post by Ex-Cyber »

yojo! wrote:6out = (6in' . 8in)'
8out = (8in' . 6in)'
Looks right.
yojo! wrote:Why would I need the 74244/74245 ?
Hooking up a 7400 directly means that the stick inputs have a (relatively) low-impedance path to Vcc, which they probably don't have in normal operation. It's unlikely that this would actually cause a problem, but I felt somewhat obligated to play it safe since it's not my PCB.
Post Reply