Main > Software Forum
My official MAME output wip thread.
Howard_Casto:
the sega y board is actually fairly logical compared to the segas32!
Although I'll have to research deeper to get some of the outputs (particularly the motors) working, i've figured out pretty much all the outputs already.
Also note that with the exceptions of rail chase and galaxy force II, all the motor outputs still work even though they error out, so yes, we will get force feedback on those games!!
The output scheme is very similar to segas32 which is good as I know exactly how to write the functions. :)
here are my prelimenary notes:
=============================
*edit* Removed to save space
========================================================================
Howard_Casto:
Well I THINK i've got powerdrift figured out.
I'm having trouble because I can't find a manual for the deluxe version though. Maybe one of you guys know?
I've got two outputs created.... vibration_motor and bank_motor. Vibration simply is the feedback (on the wheel??) and the bottom three bits are used to create the values 0-7 for a variable vibration setting.
Bank is more complicated. It's the single motor that leans the entire cabinet left or right.
After EXTENSIVE data manipulation i get the values -3 to 3 depending upon the intensity of the lean, with 0 being center, -3 full left and 3 full right. Does this make sense? Did the bank motor have different power levels??
Howard_Casto:
I've gone as far as I can go with power drift, so I'm moving on to g-loc and strike fighter.
The games seem to stobe/multiplex between four values on their output byte. It was my understanding that there were only two pistons, but I guess there are four?? I've discovered that there is a direction bit for each ram (4 is down and 8 is up... both off is rest) and I'm guessing the rest is speed/ power levels?? The problem I'm having is there doesn't seem to be any way to determine which piston I'm getting data from at any one time. I might have to setup some crazy counting variables to figure this out.
Howard_Casto:
Good news everyone! I finally got everything hooked up. The question though is what to do with the data.
You see the main sega pcb sends data to a secondary board, which then analyzes the data and sends it to individual boards for each piston. Then these boards finally send the fully filtered data to the various outputs of each piston.
Because mame only handles the primary pcb, the outputs I've got hooked up only send the raw data, before it gets sent along. Go into the debug menu for g-loc and you'll see what I mean. The bit offsets for the left and right piston is apparent right there on the screen, it isn't even normalized for the debug menu!
What I'm thinking is to setup an extra set of normalized outputs for generic used along with the real outputs. Without this extra step only those who happen to have a g-loc cab and just happen to have every working pcb except the main one would be able to take advantage of the output.
I'm not going to bother posting my revised notes, because they are too complex and they keep changing hourly. ;)
Anyway, it looks like I might have the sega y board licked. Also keep in mind that the board's evil step brother, the x-board uses a similar output system and it is what more popular games like afterburner run on. ; ;D
bdam:
Thanks for the explanation; I played around with src\mame\machine\harddriv.c and I'm fairly sure the wheel's force feed back value is coming from the WRITE16_HANDLER( hd68k_wr2_write ) function but I can't make sense of the data. There's a test menu in the service mode (Special Functions > Main Board Controls > Steering Wheel) that will let you send power to the motor. Using this I get data that seems to be related but I can't figure out how to interpret it. I realize you have other priorities but if you get a chance to take a look or give some guidance I'd be most grateful.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version