Ah that's good stuff then Yolo! I think we are bang on the same page. I just didn't want to come over all preachy and put you off doing what you are doing, experimenting with the code because that's the key to understanding and finding things out. Also, if it wasn't for your efforts and recent interest in this, I doubt the mystery of the latching bit would have ever been solved!!
Cool, lets get IPT_DIAL and IPT_PADDLE options working then. I know what you mean about the secret road to the left. I'm not sure if its possible to do doughnuts around the pole at the end of the track (I remember trying this once on my mame cab but couldn't keep the backend out consistently). Its cool these hidden features are there though!
I know what you mean about placing it the messages/warnings things that pop up at the start. I'm not sure how you change that either. I agree though, a description of how to calibrate would be helpful.
Ok I understand now thanks. It does seem like 0x000 to 0x3FF is the correct range.
The "as long as you don't crash the car and have the wheel held to left or right" does really make it sound like an encoder latching issue like we've been seeing doesn't it. I'm now back to think its dual encoders in airborne and not potentiometers lol!
lol! It might appear like I know what I'm talking about, but trust me I'm completely winging / guessing at everything all the time!!
Yes I know what you mean. Its interesting the compact versions use less CPU, atari must have simplified things, made things more efficient with boards used in the compact cabs (and cheaper probably). I had a thought, I might try and read those nvram binary files that get saved after you finish calibrating controls in hard drivin. If we know where to fish out the CNTSPTRN and PATCEN stuff that gets saved, maybe it'll be the same for the airborne nvrams... Knowing what airborne's steering wheels settings are we can modify the code to suit (Or even edit the nvrams and force them to our favoured CNTSPTRN 1024 PATCEN 0 settings). Bit of a long short but you never know...
Yes that's it, just comment out the lines that do the "result ^= 0x4000" thing (In hdc68k_port1_r() and hda68k_port1_r()) I reckon.
I've honestly not messed around with airborne much at all yet, but I hopefully will do over the weekend.
Quote
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.
Cool, lets get IPT_DIAL and IPT_PADDLE options working then. I know what you mean about the secret road to the left. I'm not sure if its possible to do doughnuts around the pole at the end of the track (I remember trying this once on my mame cab but couldn't keep the backend out consistently). Its cool these hidden features are there though!
Quote
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.
I know what you mean about placing it the messages/warnings things that pop up at the start. I'm not sure how you change that either. I agree though, a description of how to calibrate would be helpful.
Quote
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.
Ok I understand now thanks. It does seem like 0x000 to 0x3FF is the correct range.
Quote
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.
The "as long as you don't crash the car and have the wheel held to left or right" does really make it sound like an encoder latching issue like we've been seeing doesn't it. I'm now back to think its dual encoders in airborne and not potentiometers lol!
Quote
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
lol! It might appear like I know what I'm talking about, but trust me I'm completely winging / guessing at everything all the time!!
Quote
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.
Yes I know what you mean. Its interesting the compact versions use less CPU, atari must have simplified things, made things more efficient with boards used in the compact cabs (and cheaper probably). I had a thought, I might try and read those nvram binary files that get saved after you finish calibrating controls in hard drivin. If we know where to fish out the CNTSPTRN and PATCEN stuff that gets saved, maybe it'll be the same for the airborne nvrams... Knowing what airborne's steering wheels settings are we can modify the code to suit (Or even edit the nvrams and force them to our favoured CNTSPTRN 1024 PATCEN 0 settings). Bit of a long short but you never know...
Quote
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
Yes that's it, just comment out the lines that do the "result ^= 0x4000" thing (In hdc68k_port1_r() and hda68k_port1_r()) I reckon.
I've honestly not messed around with airborne much at all yet, but I hopefully will do over the weekend.