Main > Driving & Racing Cabinets

Has anyone ever worked out Force Feedback for San Fran Rush/MAME?

<< < (3/3)

isamu:
Very interesting info Twisted.

Sky25es:

--- Quote from: Howard_Casto on January 24, 2014, 12:42:11 pm ---Aside from me, there isn't a whole lot of interest in the MAME dev community in terms of hooking up outputs that do anything complex.  It worked so much on it over a period of 1 year that I burnt myself out on it and haven't returned to work since.

--- End quote ---

First of all, thanks Howard for this indispensable piece of software.  :applaud:
It was the main reason for me to buy a pair of namco light guns and I still have hopes about seeing the outputs for games like time crisis hooked up sooner or later.
It's really a pity that there are so few devs interested in this Project but I'm pretty sure that a big part of the MAME community (me included)  is really grateful about what you have done.
So please, since you have come so far, don't give up now.

Howard_Casto:

--- Quote from: twistedsymphony on February 04, 2014, 10:05:54 am ---So over the weekend I spent a lot of time reading through documentation on how FFB works at an electrical level... specifically the Happ equipment used in SF Rush and other games.

I always assumed that it was a complex system that used a stepper motor and took into consideration wheel position etc. but it's nothing like that.

For anyone that's curious it's really pretty simple...

there are 2 values, direction and intensity.

on the Happ driver board this is delivered as 5 bits: bit 1 signifies left or right, bits 2-5 is just a binary number signifying the intensity in that direction. the actual game hardware itself is responsible for reading the wheel position and then calculating how that factors into the FFB output.

Other systems, (like the FFB used on the Gamecube) have a single numb value 0-255 that signifies both direction AND intensity so 0 is full power left, decreasing with each number until 127 which would be neutral/no force and then increasing with each number until 255 would be full power right.

-----------------

I would suspect that most FFB motors are some variation of this... so looking for FFB output in memory is just a matter if finding values for direction and intensity.

Maybe this is old news to some of you but I'd never seen it explained out anywhere. Now that I actually understand how FFB works it seems like it will be less of a challenge to get it working.

--- End quote ---

Yeah that's pretty standard stuff.  Although they don't get any credit for it, Sega kind of invented FF. The GC stuff you are describing is their method.  It's actually an interleaved byte... with an intensity of 0-9 (sometimes more resolution, sometimes less) and a directional bit.  When I see these in mame I split them into directional outputs and power outputs.

But that's if you have access to the unmolested byte(s) in memory.  This isn't always the case (see my old mame output wip on the software forum and the nightmare to hook up stuff like terminator 2). 

If I remember correctly, the correct bytes to tell SFrush that the FF board is installed aren't even there, so there isn't any way to get to the byte.  That's usually the roadblock we run into btw.  Most arcade games with add-on boards do various checks to determine if the board exists.  If mame has the bootup sequence faked, the output memory addresses are written to and we can hook up outputs.  If they aren't there isn't anything we can do unless we can find documentation on the bootup sequence.

twistedsymphony:

--- Quote from: Howard_Casto on February 05, 2014, 01:02:16 am ---Yeah that's pretty standard stuff.  Although they don't get any credit for it, Sega kind of invented FF. The GC stuff you are describing is their method.  It's actually an interleaved byte... with an intensity of 0-9 (sometimes more resolution, sometimes less) and a directional bit.  When I see these in mame I split them into directional outputs and power outputs.

But that's if you have access to the unmolested byte(s) in memory.  This isn't always the case (see my old mame output wip on the software forum and the nightmare to hook up stuff like terminator 2). 

If I remember correctly, the correct bytes to tell SFrush that the FF board is installed aren't even there, so there isn't any way to get to the byte.  That's usually the roadblock we run into btw.  Most arcade games with add-on boards do various checks to determine if the board exists.  If mame has the bootup sequence faked, the output memory addresses are written to and we can hook up outputs.  If they aren't there isn't anything we can do unless we can find documentation on the bootup sequence.

--- End quote ---

Thanks for the insight! I'll check out that thread on Software forum.

I have 3 full SF Rush machines, I'm looking to pickup a logic analyzer in the near future so maybe once I get that in I can see what's going in and out of the FFB PCB during the boot sequence.

It really doesn't seem like anything special. It's just an off-the-shelf Happ Force feedback board. It's got one cable with the pins for intensity and direction, the 2-pin 24V power input and the 2-pin motor output. There is a couple of additional pins on the data cable that could be acting as a signal back to the PCB.

I'll have to see if i can find any more documentation on the Happ PCB, I would suspect that if they have a hand-shake protocol they'd be more likely to have it publicly documented than Atari would from their end.

FWIW this is the same FFB PCB used in Maximum Speed, which is an Atomiswave game (I also have a complete PCB and harness setup for this game) so that might be another avenue to understanding how it works.

Navigation

[0] Message Index

[*] Previous page

Go to full version