Have to say, I'd be a bit concerned on the amount of options you've added (and the calibration help stuff in the input assignments), might be a bit much for the mame team to swallow.
Regarding Airborne, looking at the control inputs service menu, the steering range is fixed from 0x000 to 0x3FF, and there is no steering calibration menu section... Perhaps steering for this was just a potentiometer, not the free spinning dual encoder idea after all... If that is the case, I reckon removing the code that toggles the latch bit completely might help. Or having it toggle only at 0x200 maybe? Just guessing.
Hi geecab, you don't sound preachy at all mate i actually did submit options like that before for Airborne and street drivin' on mame's github and one of the devs just said he didn't think it was worth adding extra controller configs
.....so it was never merged. I do agree there should be a IPT_DIAL option and that is one of the things i was originally testing out and a guy who's been following what i was doing was willing to do beta testing since he has a spinner wheel and i think he's talking about making his own custom flight yoke for it using a cheap fixed position wheel and modifying it so that it can free spin but will have centring springs and a mouse wheel in the back that detects the motion of the wheel and going to make the wheel able to move back and forwards to control up and down motion in Airborne.
Now i know the differences with the machines i agree with you that IPT_DIAL should be the default option for the compact cabinets for use on a spinner wheel and then there should be a 2nd option for a normal wheel. I don't know what the most common wheel ranges would be but i have a 900 degree wheel and the steering was just a bit too sensitive so i lowered it and used a youtube video online that shows a guy doing a hard left at the start of Hard Drivin' to go onto the "secret" bit of road that takes you to that big post in the middle of a circle. I kept lowering it until the car didn't make the turn as sharp as i saw him do it in that video. It's probobly not 100% accurate but my guess would be it's got to be above 95% accurate at least.
That info in the options i know would never be accepted into the official branch i just put it here in case somebody wanted to incorporate it into their own version or something. I don't know how to make or change messages/warnings that pop up before the game starts otherwise i would have just added the info in there for those specific games.
The Airborne steering range used to be like all the others by default, 0x010 to 0xff0 , i made my own commit that was merged into the mamedev/master that changed it to 0x000 to 0x3FE to fix the steering for Street Drivin' and Airborne then one of the devs suggested it should be 0x000, 0x3FF and edited it and merged it into the master branch along with the brake calibration fix for street drivin'. Just waiting for the brake fix for race drivin' and hard drivin' compact to hopefully be merged into the master now.
The code i have made for the Airborne issues that utilizes EMA smoothing/buffering although it's not in anyway accurate or true to the arcade machine it does stop the steering from going out of alignment in almost all scenarios as long as you don't crash the car and have the wheel held to left or right lol. The only way I've been able to throw it off center is by doing really stupid fast movement with the wheel that would just never happen IRL. I can make that code run in mame on the condition that it detects the Airborne game being loaded up but in all other versions it would just use your modified code. It could be a kinda halfway fix/patch untill somebody like yourself who's way more qualified than me can look at what is going on. I remember when you posted the code to pull the wheel values from the game itself i was just looking at the popmessage box on the screen wondering wtf is going on
I had put my hacky steering fix for the compact version into a pull request on mame's gitbub but i think i should remove it now that you have actually fixed it properly. You know what's funny is i never realised there was a problem with those games because the only couple of times i tried the compact roms i had toggled that wheel centre edge button to be on all the time by accident and made it seem like it worked
I only realised that it had that problem when you mentioned it and i went back and had a look and realised it was messed up badly. You should put your fix for the steering into a pull request for the mame master branch i have been having a lot of fun playing the compact version because i don't have a analogue gear shifter so i was always playing with a automatic car in the cockpit version before you made that fix and the game does run way smoother than the other versions.
I was wondering why the compact versions use less CPU? Another thing i was told by the guy who's talking about making his own flight yoke for Airborne is that there are a few cabinets known in existence and a couple of them are cockpit versions and the others are compact.........i was wondering if the problem is maybe the rom dump available on the internet is maybe from the compact version? Maybe it had a different set of values for the steering so the 0xC00 thing might need tweaked to another value for that to work properly? I really don't know it's just a thought. I have thought about taking the roms from the earlier prototype and trying to mix and match them with the one that is working to maybe see if the steering code could be different in the earlier version.
When you mention disabling the latching code could i just "//" out that section and compile the game without it? I've not tried anything yet i was having too much fun on compact hard drivin' yesterday to be bothered about it and just woke up