Main > Main Forum
Reading MAME as technical reference and historical document: 720 controller
BadMouth:
--- Quote from: abaraba on January 13, 2011, 10:50:08 am ---So, what's the story with those shifters? Links will do...
--- End quote ---
It's not so much the shifters themselves.
There are older and custom compiled versions of mame that address the issue and make the games function as they should with the original shifter.
It probably wouldn't be that hard to modify the current drivers and make it work, but that is just kicking the can down the road.
What is needed for them as well as the 720 controller, is an option in either the controls menu or ini file to choose between original or "playability"(what you call fake, the perfect term escapes me) control schemes.
I can't code ---steaming pile of meadow muffin---
But I can tell you, for it to ever have a chance of making it into the main build:
It has to adhere to all current mame coding conventions, whatever they may be.
It has to be systematic, so the options are implemeneted the same way in every affected driver and people who write new drivers in the future know how to use the option.
It can't break anything.
They shouldn't be bothered with it until it's compleete and worthy of inclusion.
That much I understand.
And people, including the mamedevs, have free will.
They can do whatever they want, including rejecting it for any or no reason.
Given all the grief they've been given over the issue,
the only way to get it into the main build is to present them with something that there is no absolutely no reason to reject.
That's one tall order.
Derrick Renaud:
--- Quote from: BadMouth on January 13, 2011, 11:26:17 am ---I can't code ---steaming pile of meadow muffin---
But I can tell you, for it to ever have a chance of making it into the main build:
It has to adhere to all current mame coding conventions, whatever they may be.
It has to be systematic, so the options are implemeneted the same way in every affected driver and people who write new drivers in the future know how to use the option.
It can't break anything.
They shouldn't be bothered with it until it's compleete and worthy of inclusion.
That much I understand.
And people, including the mamedevs, have free will.
They can do whatever they want, including rejecting it for any or no reason.
Given all the grief they've been given over the issue,
the only way to get it into the main build is to present them with something that there is no absolutely no reason to reject.
That's one tall order.
--- End quote ---
:applaud:
Wow, someone does understand.
Thanks.
D.
Hoopz:
--- Quote from: Derrick Renaud on January 13, 2011, 11:38:31 am ---
--- Quote from: BadMouth on January 13, 2011, 11:26:17 am ---I can't code ---steaming pile of meadow muffin---
But I can tell you, for it to ever have a chance of making it into the main build:
It has to adhere to all current mame coding conventions, whatever they may be.
It has to be systematic, so the options are implemeneted the same way in every affected driver and people who write new drivers in the future know how to use the option.
It can't break anything.
They shouldn't be bothered with it until it's compleete and worthy of inclusion.
That much I understand.
And people, including the mamedevs, have free will.
They can do whatever they want, including rejecting it for any or no reason.
Given all the grief they've been given over the issue,
the only way to get it into the main build is to present them with something that there is no absolutely no reason to reject.
That's one tall order.
--- End quote ---
:applaud:
Wow, someone does understand.
Thanks.
D.
--- End quote ---
To be fair, I think the vast majority here (and elsewhere) do fully understand and accept Mame as it is. It's a few bad apples that spoil the bunch.
My analogy (as opposed to the crazy analogies from others) is that the Mame users are probably split along the bell curve. You have a few that understand all of the ins and outs of the code and are willing to help make changes, a few that ---smurfette--- because they can't understand the code and demand changes, and the vast majority simply accept it the way it is and don't raise a ruckus.
Unfortunately, it's the small percentage that act like 4 year olds that get all the attention.
Derrick Renaud:
--- Quote from: Hoopz on January 13, 2011, 11:50:26 am ---To be fair, I think the vast majority here (and elsewhere) do fully understand and accept Mame as it is. It's a few bad apples that spoil the bunch.
My analogy (as opposed to the crazy analogies from others) is that the Mame users are probably split along the bell curve. You have a few that understand all of the ins and outs of the code and are willing to help make changes, a few that ---smurfette--- because they can't understand the code and demand changes, and the vast majority simply accept it the way it is and don't raise a ruckus.
Unfortunately, it's the small percentage that act like 4 year olds that get all the attention.
--- End quote ---
Thanks.
Personally I don't mind discussions based on facts. They lead to progress. But when they rant on and on using only untested guesses, all the while telling others they are wrong. That is what I have a problem with and would like to clarify for others, lest they mistakenly believe the garbage put forth.
I have even said repeatedly, that a better input system would be accepted if it was properly coded based on MAME coding standards and, well, the points BadMouth made. I even provided guidelines for adding true shifter support. It was what I planned on doing before all the negativity in the past year.
But this is always ignored in favour of rants and demands. Where there time would be better spent on finding someone willing to write the code.
Derrick Renaud:
Let's make things easier. I'll try to walk you folks through it so you can learn to write the code.
Goal: make the current fake control and real control exist in parallel with the minimal amount of clean code possible.
Known: current controls are absolute (IPT_AD_STICK_X) and are converted to relative. This was done in ver 85u1.
Step 1. modify the "INPUT_PORTS_START( 720 )" section to add the relative controls from pre 85u1 back in to exist with the current controls.
Step 2. modify the "READ8_HANDLER( leta_r )" section to check if the new relative ports have changed. If so return that data. If not, then return the fake data if it changed.
Step 3. clean up code and add comments as needed.
Step 4. buy stock in 720 controls for the thousands of cabs that will now use them.
Let's see the code.
:cheers: