Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: MAME - 4-way emulation  (Read 16543 times)

0 Members and 1 Guest are viewing this topic.

swindmiller

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 28
  • Last login:July 31, 2014, 08:23:51 pm
MAME - 4-way emulation
« on: October 12, 2012, 01:38:45 pm »
I am new to all of this but understand the difference between 4-way and 8-way. My tankstick lets me switch between the 2 but is a pain. I just read on their site: Note that newer versions of MAME seem to have a built-in software 4-way emulation automatically used for 4-way games.

Does anyone know what version this came out on and how it works? Do I have to set something in the options?


Thanks,
Scott

molton

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 73
  • Last login:April 05, 2018, 10:46:57 pm
Re: MAME - 4-way emulation
« Reply #1 on: October 12, 2012, 03:57:33 pm »
Thats just more pretty sounding bullsh*t from the folks at X-arcade, lol that's the first time I ever heard of anybody saying a piece of software seems  to have a feature it in fact does not have.

RandyT

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7014
  • Last login:Yesterday at 02:17:35 pm
  • Friends don't let friends hack keyboards.
    • GroovyGameGear.com
Re: MAME - 4-way emulation
« Reply #2 on: October 12, 2012, 04:05:35 pm »
They are probably getting confused by the mapping function available for analog and 49-way sticks.  Won't do a thing for the controls on those panels. :)

the_gamer

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 80
  • Last login:September 02, 2020, 03:44:06 pm
Re: MAME - 4-way emulation
« Reply #3 on: October 13, 2012, 11:33:47 am »
I don't think this will ever be implemented. Mame is not about playing the games in the most comfortable way. Being able to play the games is only sideeffect for the developers. It is about emulating the hardware.

paigeoliver

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 10994
  • Last login:July 06, 2024, 08:43:49 pm
  • Awesome face!
Re: MAME - 4-way emulation
« Reply #4 on: October 13, 2012, 04:04:09 pm »
An emulation driver isn't going to be able to decide at any given moment which direction would be best to send the game when you send it a diagonal. Something like that would have to be in the original software.

That is why Nes Pac-Man and Atari 2600 Pac-Man work with 8-way controls is because they were written with them in mind.

The whole bit about being able to play the games being a side effect and the mame project being about documentation is a retcon. You can still go back and read all of nicola's original usenet posts when he started mame, it was all about playing the games. The whole documentation thing was added in years later.
Acceptance of Zen philosophy is marred slightly by the nagging thought that if all things are interconnected, then all things must be in some way involved with Pauly Shore.

degenatrons

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 364
  • Last login:March 29, 2016, 05:53:23 pm
    • KADE
Re: MAME - 4-way emulation
« Reply #5 on: October 15, 2012, 09:42:47 am »
I've recently implemented virtual 4-way restriction on the KADE encoder (in the devices firmware).  I'm one of the developers on that project and am happy to run through with you how it was done. 
To get accurate 4-way restriction in firmware was not as easy as I had first expected.

paigeoliver - i appreciate your reservations on this one.  I will explain how it is done and feel free to comment.

To do it.  I take the current position and work out the most probable indended direction based on the movement.

e.g.
If you have stick in "up" position.
   If joystick move to down/right:  It is most likely that you intended to move down.  The stick has travelled further than the mid-point.
        If joystick move to up/right: It is most likely that you intend to move right because you are already "up" and a direction change was made.

The direction logic changes depending on the current direction.  I check both directions that make up the diagonal and take the first engaged direction i find,  using this logic:

If Up,  check: Down, Left then Right

If Down, check: Up, Left then Right

If Left, check: Right, Up then Down

If Right, check: Left, Up then Down

*Note that the order of 2nd and 3rd checks is not relevant as both directions cannot be engaged simultaneously.

I have this working in my arcade cabinet and it plays really really well on 4-way games.  It gives a significant improvement to my play on Rally-X and Ms Pacman and definitely has a better feel. 
Feedback has been good from our beta-testers.

The KADE device will support MAME and various consoles and will be out soon.
A little background information here - http://forum.arcadecontrols.com/index.php/topic,122023.msg1307414.html#msg1307414.  More info soon.

yotsuya

  • Trade Count: (+21)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19960
  • Last login:July 17, 2025, 10:00:30 pm
  • 2014 UCA Winner, 2014, 2015, 2016 ZapCon Winner
    • forum.arcadecontrols.com/index.php/topic,137636.msg1420628.html
Re: MAME - 4-way emulation
« Reply #6 on: October 15, 2012, 10:26:33 am »
Very cool. You've piqued my interest!
***Build what you dig, bro. Build what you dig.***

paigeoliver

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 10994
  • Last login:July 06, 2024, 08:43:49 pm
  • Awesome face!
Re: MAME - 4-way emulation
« Reply #7 on: October 15, 2012, 11:01:57 am »
Certainly that sort of logic is a huge improvement over just tossing an 8-way at the game but it still isn't a real replacement for having the game software handle the diagonals directly. If the game software was handling it then it could be much more refined than just using a basic set of rules (it would certainly be situational).

Of course the other problem is that a lot of 4-way games are difficult to play even with a 4-way stick if they don't have a diamond shaped restriction pattern.

I've recently implemented virtual 4-way restriction on the KADE encoder (in the devices firmware).  I'm one of the developers on that project and am happy to run through with you how it was done. 
To get accurate 4-way restriction in firmware was not as easy as I had first expected.

paigeoliver - i appreciate your reservations on this one.  I will explain how it is done and feel free to comment.

To do it.  I take the current position and work out the most probable indended direction based on the movement.

e.g.
If you have stick in "up" position.
   If joystick move to down/right:  It is most likely that you intended to move down.  The stick has travelled further than the mid-point.
        If joystick move to up/right: It is most likely that you intend to move right because you are already "up" and a direction change was made.

The direction logic changes depending on the current direction.  I check both directions that make up the diagonal and take the first engaged direction i find,  using this logic:

If Up,  check: Down, Left then Right

If Down, check: Up, Left then Right

If Left, check: Right, Up then Down

If Right, check: Left, Up then Down

*Note that the order of 2nd and 3rd checks is not relevant as both directions cannot be engaged simultaneously.

I have this working in my arcade cabinet and it plays really really well on 4-way games.  It gives a significant improvement to my play on Rally-X and Ms Pacman and definitely has a better feel. 
Feedback has been good from our beta-testers.

The KADE device will support MAME and various consoles and will be out soon.
A little background information here - http://forum.arcadecontrols.com/index.php/topic,122023.msg1307414.html#msg1307414.  More info soon.
Acceptance of Zen philosophy is marred slightly by the nagging thought that if all things are interconnected, then all things must be in some way involved with Pauly Shore.

swindmiller

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 28
  • Last login:July 31, 2014, 08:23:51 pm
Re: MAME - 4-way emulation
« Reply #8 on: October 15, 2012, 12:09:13 pm »
Thanks for all of the replies.

Can I replace the sticks with ones that are easier to switch to 4 way and back? Are there josticks that can switch with the flip of a switch mounted on the outside of the CP?

Thanks,
Scott

sharpfork

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 618
  • Last login:January 30, 2025, 08:21:36 am
    • KADE
Re: MAME - 4-way emulation
« Reply #9 on: October 15, 2012, 12:39:18 pm »
Thanks for all of the replies.

Can I replace the sticks with ones that are easier to switch to 4 way and back? Are there josticks that can switch with the flip of a switch mounted on the outside of the CP?
Ultimarc has a few:
Mag-Stik - http://www.ultimarc.com/controls.html
servostik - powered http://www.ultimarc.com/servostik.html

GGG has one:
http://groovygamegear.com/webstore/index.php?main_page=product_info&cPath=65&products_id=195
they have a below CP changing one too:
http://groovygamegear.com/webstore/index.php?main_page=product_info&products_id=383

There might be others out there.

Certainly that sort of logic is a huge improvement over just tossing an 8-way at the game but it still isn't a real replacement for having the game software handle the diagonals directly. If the game software was handling it then it could be much more refined than just using a basic set of rules (it would certainly be situational).

Of course the other problem is that a lot of 4-way games are difficult to play even with a 4-way stick if they don't have a diamond shaped restriction pattern.

I agree.
I tested the beta KADE against my JLW's in 4 way mode and I have to say that the emulated 4way on the KADE isn't as good as physically restricted 4 way but is much better than a standard 8 way.  This option is intended for that middle ground and I think it succeeds: improved 4 way gameplay for folks who only have 8 way sticks.

RandyT

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7014
  • Last login:Yesterday at 02:17:35 pm
  • Friends don't let friends hack keyboards.
    • GroovyGameGear.com
Re: MAME - 4-way emulation
« Reply #10 on: October 15, 2012, 01:22:36 pm »
To get accurate 4-way restriction in firmware was not as easy as I had first expected.

In all actuality, you still haven't.

Quote
To do it.  I take the current position and work out the most probable indended direction based on the movement.

Without knowing what is happening in the game, and analyzing it,  or having more information available from the stick itself (i.e. more than 4 pieces of information), there is no way to make a determination of what is the "probable intended" direction with an accuracy level higher than a "coin toss".  As this is pretty much the accuracy one gets by default, the actual net gain is zero.

Quote
e.g.
If you have stick in "up" position.
   If joystick move to down/right:  It is most likely that you intended to move down.  The stick has travelled further than the mid-point.

This sounds good in theory, but in practice, it doesn't deliver.  Picture a common situation where the player intends to move directly from the vertical to right, and goes too far, thus hitting the down-right diagonal.  Your assumption with the above logic will be that he intended to move down, which will screw the player up royally.

Quote
If joystick move to up/right: It is most likely that you intend to move right because you are already "up" and a direction change was made.

Again, this really doesn't deliver.  Another common issue with an 8-way stick is "user drift".  In the heat of the action, they may be vertical, but very close to actuating either the right or left switch.  A slight horizontal movement from their current position to either one of the horizontals, thereby making the diagonal, will then throw them to the horizontal cardinal of that diagonal, which is not the "probable intention" of the player when this scenario occurs. 

Another issue is "extended roll through".  If the user rolls from the vertical to right, and goes a little too far, the logic above will assume the desire to then go down, when in fact this isn't the case.

One more issue with this type of approach is that when you get it wrong, the following assumption tends to fall apart as well.

Quote
I have this working in my arcade cabinet and it plays really really well on 4-way games.  It gives a significant improvement to my play on Rally-X and Ms Pacman and definitely has a better feel. 
Feedback has been good from our beta-testers.

The same has been claimed from at least one other individual who basically was doing the same thing, but it proves in use to be not much better, if any at all, from the default condition.  I've experimented with the same algorithms in the past and the result was not a "significant improvement".  There is a bit of a placebo effect when testing something like this, which makes the player more aware of what they are doing when they know they are testing the hardware, and it sometimes results in a somewhat better performance.  However, once this wears off, and the player actually focuses on playing the games, they become less concerned about the controls and run into the same old problems.  The proper way to test the efficacy of something like this is a dual-blind test, with a number of different individuals, and comparing performance.  I think you will find, based on my experience,  that you are simply trading one set of problems for a different, but equal set.  Without physical restriction, or more information available from the control itself, there is no reliable way to determine the player's probable intentions.

RandyT
« Last Edit: October 15, 2012, 01:24:11 pm by RandyT »

CheffoJeffo

  • Cheffo's right! ---saint
  • Wiki Master
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7784
  • Last login:July 14, 2025, 12:11:49 pm
  • Worthless button pusher!
Re: MAME - 4-way emulation
« Reply #11 on: October 15, 2012, 01:34:27 pm »
Of course the other problem is that a lot of 4-way games are difficult to play even with a 4-way stick if they don't have a diamond shaped restriction pattern.

And let's not forget Donkey Kong, which is best with a clover-leaf restrictor. Fortunately for me, I'm not a huge DK fan, so I don't care.

Again, this really doesn't deliver.  Another common issue with an 8-way stick is "user drift".  In the heat of the action, they may be vertical, but very close to actuating either the right or left switch.  A slight horizontal movement from their current position to either one of the horizontals, thereby making the diagonal, will then throw them to the horizontal cardinal of that diagonal, which is not the "probable intention" of the player when this scenario occurs. 

Another issue is "extended roll through".  If the user rolls from the vertical to right, and goes a little too far, the logic above will assume the desire to then go down, when in fact this isn't the case.

One more issue with this type of approach is that when you get it wrong, the following assumption tends to fall apart as well.

Was thinking the same thing when I read his description.

Finally, for the OP, there are a sizable number of folks who don't mind just using an 8-way (I am not one of them, but they do exist).
Working: Not Enough
Projects: Too Many
Progress: None

LeedsFan

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1042
  • Last login:January 17, 2021, 06:14:23 am
Re: MAME - 4-way emulation
« Reply #12 on: October 15, 2012, 01:56:42 pm »
I think people try too hard with this issue. It's like they are trying to reinvent the wheel. For simple games that used 4-way or 8-way digital sticks the best way is to implement the correct restrictor. Whether it's done manually (as the OP says it can be a pain) or mechanically (like with Ultimarc's Versa stick) is up to you.  I actually built a panel with 2x sticks one in permanent 8-way and the other in 4-way. You just flicked a switch to select the one you wanted to use depending on the game. Not ideal and looks a little clunky, but it does work for those straight forward digital joystick games. I wouldn't go down this route now, I'd use something like the Versa Stik. No matter what software or firmware you're running if you play a classic 4-way game with an 8-way stick it's just not gonna feel right.

degenatrons

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 364
  • Last login:March 29, 2016, 05:53:23 pm
    • KADE
Re: MAME - 4-way emulation
« Reply #13 on: October 15, 2012, 02:31:21 pm »
To get accurate 4-way restriction in firmware was not as easy as I had first expected.

In all actuality, you still haven't.

Quote
To do it.  I take the current position and work out the most probable indended direction based on the movement.

Without knowing what is happening in the game, and analyzing it,  or having more information available from the stick itself (i.e. more than 4 pieces of information), there is no way to make a determination of what is the "probable intended" direction with an accuracy level higher than a "coin toss".  As this is pretty much the accuracy one gets by default, the actual net gain is zero.

Quote
e.g.
If you have stick in "up" position.
   If joystick move to down/right:  It is most likely that you intended to move down.  The stick has travelled further than the mid-point.

This sounds good in theory, but in practice, it doesn't deliver.  Picture a common situation where the player intends to move directly from the vertical to right, and goes too far, thus hitting the down-right diagonal.  Your assumption with the above logic will be that he intended to move down, which will screw the player up royally.

Quote
If joystick move to up/right: It is most likely that you intend to move right because you are already "up" and a direction change was made.

Again, this really doesn't deliver.  Another common issue with an 8-way stick is "user drift".  In the heat of the action, they may be vertical, but very close to actuating either the right or left switch.  A slight horizontal movement from their current position to either one of the horizontals, thereby making the diagonal, will then throw them to the horizontal cardinal of that diagonal, which is not the "probable intention" of the player when this scenario occurs. 

Another issue is "extended roll through".  If the user rolls from the vertical to right, and goes a little too far, the logic above will assume the desire to then go down, when in fact this isn't the case.

One more issue with this type of approach is that when you get it wrong, the following assumption tends to fall apart as well.

Quote
I have this working in my arcade cabinet and it plays really really well on 4-way games.  It gives a significant improvement to my play on Rally-X and Ms Pacman and definitely has a better feel. 
Feedback has been good from our beta-testers.

The same has been claimed from at least one other individual who basically was doing the same thing, but it proves in use to be not much better, if any at all, from the default condition.  I've experimented with the same algorithms in the past and the result was not a "significant improvement".  There is a bit of a placebo effect when testing something like this, which makes the player more aware of what they are doing when they know they are testing the hardware, and it sometimes results in a somewhat better performance.  However, once this wears off, and the player actually focuses on playing the games, they become less concerned about the controls and run into the same old problems.  The proper way to test the efficacy of something like this is a dual-blind test, with a number of different individuals, and comparing performance.  I think you will find, based on my experience,  that you are simply trading one set of problems for a different, but equal set.  Without physical restriction, or more information available from the control itself, there is no reliable way to determine the player's probable intentions.

RandyT

This is all good feedback thanks.

This is simulated 4-way restriction so I do have to make assumptions on the intended movement to make this feature possible in software.
I think it works well,  and hopefully not because of placebo effect.  I am quite thorough in my testing and reasoning.   

I do agree that there is no substitute for physical restriction.

This will be an optional feature when the KADE encoder is released.  The device is being developed for the community,  so it is important that we get these features right and hence why I am being open about the internal workings of virtual 4-way.

Looking forward to getting feedback from gamers on this one.  I am sure that the results will be more than slight improvement.  I don't want you to write this off just yet.

 



 

RandyT

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7014
  • Last login:Yesterday at 02:17:35 pm
  • Friends don't let friends hack keyboards.
    • GroovyGameGear.com
Re: MAME - 4-way emulation
« Reply #14 on: October 16, 2012, 01:15:33 pm »
This is simulated 4-way restriction so I do have to make assumptions on the intended movement to make this feature possible in software.

And, this is the root of the problem in this scenario.   The very first time you make any assumption, i.e. not a decision based on very high probability, which is impossible given the data set,  you are "flipping a coin".    Sometimes you will get it right, and sometimes you won't.  The times you don't, you simply create problems for the player that may not have existed prior.

The input handling in MAME has to make decisions about how to handle diagonals in games where 4-ways are expected, and it does.  If it didn't, when a diagonal is sent, the player movement simply would not register.  The unfortunate reality when using a 4-switch joystick is that there simply is not enough data present to make reliable assumptions, and whether you just use the default method in the app, or trade that for different set of problems, the end result will be the same.

Players who want to use an 8-way for 4-way games will fare much better with an 8-way stick which uses bladed micros, or leaf switches, which can be adjusted so that the diagonals are more difficult to hit, but can be if they are really intended to be.  This approach isn't perfect either, but a "one-size-fits-all" solution rarely is.

RandyT
« Last Edit: October 20, 2012, 11:46:10 am by RandyT »

paigeoliver

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 10994
  • Last login:July 06, 2024, 08:43:49 pm
  • Awesome face!
Re: MAME - 4-way emulation
« Reply #15 on: October 16, 2012, 06:48:09 pm »
If you really want both with the same stick then buy some of Randy's Omni-Stik Prodigy sticks. Your controls are not the place the cheap out on your cabinet.
Acceptance of Zen philosophy is marred slightly by the nagging thought that if all things are interconnected, then all things must be in some way involved with Pauly Shore.

rablack97

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2215
  • Last login:August 09, 2024, 08:49:57 pm
  • If you don't try, you have no chance at innovation
Re: MAME - 4-way emulation
« Reply #16 on: October 16, 2012, 11:49:18 pm »
Good grief the man said "virtual" and "accurate" not "perfected" and "spot on".

We are talking up, down, left, right....

There are tons of other things that affect 4 way gameplay as well, the switch, the throw, the length of the shaft, bat top, ball top, angle of CP, and the list goes on. 

Every player is different and the whole reason we do this is for a hobby, customization and the enjoyment of the build.

I'll be damned if I haven't kicked a ms. pacman game a few times cause she went right instead of up, and thats about as 4 way as you can get. So restricted or virtual, bottom line is, if you can get it go up, right, left, or down at least 98% or so of the time, then it's gravy.

Both are good in their own unique way, neither is or ever will be perfect.  Preference usually outweighs perfection anyway....
« Last Edit: October 16, 2012, 11:59:59 pm by rablack97 »

RandyT

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7014
  • Last login:Yesterday at 02:17:35 pm
  • Friends don't let friends hack keyboards.
    • GroovyGameGear.com
Re: MAME - 4-way emulation
« Reply #17 on: October 17, 2012, 01:11:17 am »
Good grief the man said "virtual" and "accurate" not "perfected" and "spot on".

"Virtual" is something which can be achieved with a 49-way or pure analog stick.  There is over 12 times (on the low end) more data being put out by these joysticks to base the decision upon.  If you think "accurate" can be achieved with a non-restricted 8-way, then you should take the time to read and understand what I, and many others on this forum have written on the subject over the last 10 years.  The gist of it, I included in this thread.  This isn't a new idea, and it has never worked.  The math and physics of the situation stand firmly in it's way.

Quote
I'll be damned if I haven't kicked a ms. pacman game a few times cause she went right instead of up, and thats about as 4 way as you can get. So restricted or virtual, bottom line is, if you can get it go up, right, left, or down at least 98% or so of the time, then it's gravy.

I agree.  The point is, this won't do that for you.  You might be able to train yourself to play within the confines of the algorithm, but if you can do that, then you can train yourself to play within the existing one in MAME.  The whole point is that it's no fun trying to play a 4-way game, while concentrating on precision handling of the control so as not to make errors.  The games are difficult enough without adding that to the equation.

Quote
Both are good in their own unique way, neither is or ever will be perfect.  Preference usually outweighs perfection anyway....

Are you are stating that 4-way restricted joysticks on a 4-way game have similar, but different drawbacks as the type of scheme being discussed?  I think I would like to hear how you believe this to be so.  Also, if there are flaws in the logic I used above to demonstrate the shortcomings of the approach, please be so kind as to share them as well.
« Last Edit: October 17, 2012, 01:15:14 am by RandyT »

molton

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 73
  • Last login:April 05, 2018, 10:46:57 pm
Re: MAME - 4-way emulation
« Reply #18 on: October 17, 2012, 07:18:01 am »
I have an idea for software 4-way emulation, software restriction, it doesn't register 2 switches at once, if you went straight to diagonal from the center it would not register a move until you further adjusted for either direction you actually wanted and it would stay in that direction until another single cardinal direction switch is pressed (or all switches released of course), so if you drift back into diagonal it wont affect the direction.  If you were in the up position, it won't register up right or up left, but registers left or right as soon as the up switch is released in an up left or up right scenario. This could be done with a software layer between mame and the control i do believe.  still not true 4-way, but 4-way emulation, maybe.  I think it would work.
« Last Edit: October 17, 2012, 07:27:56 am by molton »

RandyT

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7014
  • Last login:Yesterday at 02:17:35 pm
  • Friends don't let friends hack keyboards.
    • GroovyGameGear.com
Re: MAME - 4-way emulation
« Reply #19 on: October 17, 2012, 08:32:38 am »
I have an idea for software 4-way emulation, software restriction, it doesn't register 2 switches at once, if you went straight to diagonal from the center it would not register a move until you further adjusted for either direction you actually wanted and it would stay in that direction until another single cardinal direction switch is pressed (or all switches released of course), so if you drift back into diagonal it wont affect the direction.  If you were in the up position, it won't register up right or up left, but registers left or right as soon as the up switch is released in an up left or up right scenario. This could be done with a software layer between mame and the control i do believe.  still not true 4-way, but 4-way emulation, maybe.  I think it would work.

IIRC, this is what is known as "sticky mode".  (note the date of that post)  Some like, some don't.  If it's no longer available as an option in MAME, I believe it can be replicated through the standard input handling logic.
« Last Edit: October 17, 2012, 08:43:04 am by RandyT »

rablack97

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2215
  • Last login:August 09, 2024, 08:49:57 pm
  • If you don't try, you have no chance at innovation
Re: MAME - 4-way emulation
« Reply #20 on: October 17, 2012, 04:49:10 pm »
Randy,

I had a whole writeup arguing my point, but the forum timed me out before i could post, and i lost it all.

In short, I agree with your terminology, and your expertise does supercede mine in this area.

I think Degenetron was after a comparable way to play 4/8 way w/o buying an expensive stick and being able to do it with a shifted on the fly method.  It also keeps you from popping the CP hood to twist  screws for the restrictor plate.  To some this is a convenience.

There is no right or wrong here, and to your point 4 way has not been and never will be perfected.  So we will agree to disagree.





« Last Edit: October 17, 2012, 04:53:42 pm by rablack97 »

CheffoJeffo

  • Cheffo's right! ---saint
  • Wiki Master
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7784
  • Last login:July 14, 2025, 12:11:49 pm
  • Worthless button pusher!
Re: MAME - 4-way emulation
« Reply #21 on: October 17, 2012, 06:08:03 pm »
I think Degenetron was after a comparable way to play 4/8 way w/o buying an expensive stick and being able to do it with a shifted on the fly method.  It also keeps you from popping the CP hood to twist  screws for the restrictor plate.  To some this is a convenience.

There is no right or wrong here, and to your point 4 way has not been and never will be perfected.  So we will agree to disagree.

I think that the point that is often missed in these discussions is that people who care about 4-way play won't be satisfied with those "comparable" methods in any event.

There will be some who don't mind solutions like digital restriction (e.g. those expensive sticks) and they won't want those "comparable" methods.

The people who would be satisfied with "comparable" solutions to what Degenetron suggests aren't going to be people who care about 4-way functionality in the first place, so there is little point from a market perspective.

Having said that, it does make for a cool little experiment.
Working: Not Enough
Projects: Too Many
Progress: None

rablack97

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2215
  • Last login:August 09, 2024, 08:49:57 pm
  • If you don't try, you have no chance at innovation
Re: MAME - 4-way emulation
« Reply #22 on: October 17, 2012, 06:52:07 pm »
Right, which is why I said this stems from personal preference.

The ones who care will splurge on perfection, which Randy has stated isn't perfected yet..

So until somebody perfects ultra 4 way algorithms, i'll settle for the  convenient/comparable way to switch back and forth between 8/4 way. 

All i'm saying is it plays really well, but its all hearsay till you try it yourself....I do care if MS. Pac man goes the wrong direction. :)

Cynicaster

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 407
  • Last login:March 19, 2025, 09:31:43 pm
Re: MAME - 4-way emulation
« Reply #23 on: October 18, 2012, 01:23:35 pm »
The problem with trying to parse the player’s intentions with Boolean logic is that it only needs to be wrong once to suck.  My suggestion: give up the dream, implement a hardware solution, and enjoy a game of Frogger with something that actually works. 


paigeoliver

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 10994
  • Last login:July 06, 2024, 08:43:49 pm
  • Awesome face!
Re: MAME - 4-way emulation
« Reply #24 on: October 18, 2012, 01:52:55 pm »
Yep, getting it wrong one time will often mean a lost player in many titles. If I was say playing Pac-Man the logic would have to guess my intentions at least 80 or 90 times a board. If it gets it wrong even once then my pattern is ruined, even if I am playing freestyle it can still ruin the screen by sending me right towards the ghosts or making me eat a power pellet before all the ghosts are in position.

The problem with trying to parse the player’s intentions with Boolean logic is that it only needs to be wrong once to suck.  My suggestion: give up the dream, implement a hardware solution, and enjoy a game of Frogger with something that actually works.
Acceptance of Zen philosophy is marred slightly by the nagging thought that if all things are interconnected, then all things must be in some way involved with Pauly Shore.

RandyT

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7014
  • Last login:Yesterday at 02:17:35 pm
  • Friends don't let friends hack keyboards.
    • GroovyGameGear.com
Re: MAME - 4-way emulation
« Reply #25 on: October 18, 2012, 03:43:04 pm »
I think Degenetron was after a comparable way to play 4/8 way w/o buying an expensive stick and being able to do it with a shifted on the fly method.  It also keeps you from popping the CP hood to twist  screws for the restrictor plate.  To some this is a convenience.

There is no right or wrong here, and to your point 4 way has not been and never will be perfected.  So we will agree to disagree.

When I need to start repeating my earlier statements, either what I am trying to put across isn't getting through, or it's time for me to give up trying.

4-way "perfection" can be defined in only one way; and that is when the stick follows the intention of the player every time.  Not half the time, not three quarters, not even nine tenths.  A skilled player can compensate for a less than ideal solution, but it will eventually trip up even them, especially in later levels.

The ones who care will splurge on perfection, which Randy has stated isn't perfected yet..

So until somebody perfects ultra 4 way algorithms, i'll settle for the  convenient/comparable way to switch back and forth between 8/4 way. 

What isn't perfected yet?  And where did I state this?  The proposed approach is nowhere near "comparable" to a good 8/4 way stick with changeable physical restriction.  In fact, as I stated before, it's not even necessarily better than what MAME does by default.  A physically restricted 4-way joystick, which cannot physically actuate two switches simultaneously is perfection in this case, and they do exist.  With a little tuning, they also exist in the form which allows switching between 4 and 8 way operation.


rablack97

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2215
  • Last login:August 09, 2024, 08:49:57 pm
  • If you don't try, you have no chance at innovation
Re: MAME - 4-way emulation
« Reply #26 on: October 18, 2012, 11:59:58 pm »
OK, the Purists win.....

I've digested and heard everything you've said.......As stated before your expertise supercedes mine in this area.

I'm off to play some Rally X on an unrestricted 8-way joystick with hair trigger switches.....just to make the game more interesting...

 :notworthy: :notworthy: :notworthy:

MTPPC

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 535
  • Last login:November 26, 2021, 02:25:46 pm
Re: MAME - 4-way emulation
« Reply #27 on: October 19, 2012, 10:25:28 am »
RandyT said the most important thing when he said that the math and physics of an 8-way precludes the possibility of perfect 4-way play. I don't care if it's 10 times better, if the game throws you off in 1 out of a thousand directional changes, you will never be able to achieve a mastery level of any game. For me, this takes the fun out of the game because the game is hard enough without mechanical hurdles. I learned this when my cheap zippy joystick had a microleaf that didn't register about once out of 200 activations. It completely ruined the game play. Do you want the game to knock you out even when you are playing perfectly?
Pinball and Video Arcade Repair in Billings, MT USA
http://pinballmd.com/

rablack97

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2215
  • Last login:August 09, 2024, 08:49:57 pm
  • If you don't try, you have no chance at innovation
Re: MAME - 4-way emulation
« Reply #28 on: October 19, 2012, 11:38:43 am »
 :timebomb: :blowup:

If your trying to achieve mastery then you shouldn't be using a virtual 4 way anyway.  If RandyT says there are perfect 4-way Jstiks, i'm assuming you would cop one of those to give yourself an edge to achieve mastery.  I was talking on the lines of normal everyday gameplay, not top choice mastery.

I never said this method was going to replace anything, it's an option, just like everything else in this hobby.

So i get what everyone is saying, no big deal.......i'm bowing out gracefully :notworthy: :notworthy: :notworthy:

mgb

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3500
  • Last login:January 06, 2025, 09:39:00 pm
  • North East, US
Re: MAME - 4-way emulation
« Reply #29 on: October 19, 2012, 12:06:26 pm »
So I think what we all get out of this is that
1)physical 4way restriction is best. (Duh, haven't we all known that) but still to each his own.
2)Randy gets really pissed any time someone else offers any type of product or software that is not GGG.

I think pbj said it best
You guys get frothy over some really trivial stuff

 :lol

rablack97

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2215
  • Last login:August 09, 2024, 08:49:57 pm
  • If you don't try, you have no chance at innovation
Re: MAME - 4-way emulation
« Reply #30 on: October 19, 2012, 12:41:50 pm »
 :duckhunt :laugh2: :applaud: :applaud: :applaud: :applaud: :applaud: :applaud:

 :cheers:

That's all i have to say about that!!!!!!

CheffoJeffo

  • Cheffo's right! ---saint
  • Wiki Master
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7784
  • Last login:July 14, 2025, 12:11:49 pm
  • Worthless button pusher!
Re: MAME - 4-way emulation
« Reply #31 on: October 19, 2012, 01:05:28 pm »
So much for exiting gracefully ...  ::)

 ;D
Working: Not Enough
Projects: Too Many
Progress: None

brad808

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 818
  • Last login:May 22, 2023, 08:18:15 pm
Re: MAME - 4-way emulation
« Reply #32 on: October 19, 2012, 01:09:55 pm »

I think that the point that is often missed in these discussions is that people who care about 4-way play won't be satisfied with those "comparable" methods in any event.

There will be some who don't mind solutions like digital restriction (e.g. those expensive sticks) and they won't want those "comparable" methods.

The people who would be satisfied with "comparable" solutions to what Degenetron suggests aren't going to be people who care about 4-way functionality in the first place, so there is little point from a market perspective.

Having said that, it does make for a cool little experiment.

I think this is exactly it right here. People that want to play 4 way games need a 4 way joystick. For me, I play some 4 way games but really couldn't care less about how they play because it's close enough for me using an 8 way stick. I've never really noticed a difference to be honest and never had any problems with false directions (maybe thats just because I'm so precise with my joystickin and don't make mistakes :blah:).

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Online Online
  • Posts: 9672
  • Last login:Today at 05:29:45 am
  • Designated spam hunter
Re: MAME - 4-way emulation
« Reply #33 on: October 19, 2012, 01:12:07 pm »
I've been reading some posts this thread with no small amount of dismay/disgust.   :banghead:   :banghead:   :banghead:

To put this thread in gun terms:

Several people at the beginning say that you can't hit a 150 yard target very well with a cheap .22 cal rifle. (very true since most come with iron sights instead of a scope)

Degenatron mentions that you can pick off targets fairly well PLINKING with an inexpensive Ruger 10-22 and a decent scope.

Randy keeps saying that only a .308 rifle with a Leupold 50mm miil-dot scope or better is suitable for real sniper duty. (Randy owns Remington.  Andy owns Winchester.)

Several others agree that for sniper duty the .308 is the way to go.

Several people who have actually shot the Ruger in question make the point that for those of us who aren't snipers and would rather not spend $1400 on the .308, spending only $300 on the Ruger 10-22 FOR PLINKING works fine.   :dunno

At this point, Randy continues to put down the Ruger option and hammer on the need to use the flat-shooting, hard-hitting, bad-guy-stopping .308 round.   :hissy:

A cynical observer might conclude that Remington is nervous about the entry-level Ruger rifle cutting into his market share.   ;D

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

Randy - In all seriousness, I think your passion for your products is truly commendable and both your products and customer service are top-notch, but not every business fills every part of every niche. 

Like the argument about admin buttons, there is more than one answer -- the "correct" one depends on builder/user preferences.

I like having a range of choices.  Yay, capitalism!  We get to choose the best one that we're willing to pay for.


Scott

CheffoJeffo

  • Cheffo's right! ---saint
  • Wiki Master
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7784
  • Last login:July 14, 2025, 12:11:49 pm
  • Worthless button pusher!
Re: MAME - 4-way emulation
« Reply #34 on: October 19, 2012, 01:26:18 pm »
While RandyT certainly has some zeal that rubs people the wrong way, I don't think he has been off-point.

I remember a similarly-toned thread about the TOKN encoder where people who had actually tried it reported how great it was. RandyT was insistent as to what the underlying issues were and what the people who reported greatness needed to consider. There were a number of posts similar to the "RandyT doesn't like anybody who isn't GGG" posts here. Well, there is a reason that the TOKN isn't around anymore and it wasn't because Randy ran them out of town.

You should all be using Wico 4-ways for classics anyway! Except for Donkey Kong, which needs a Nintendo Strongtanium(tm) 4-Way. And Pac Man, which needs a Midway 4-Way.  ;)

 :oldman
Working: Not Enough
Projects: Too Many
Progress: None

rablack97

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2215
  • Last login:August 09, 2024, 08:49:57 pm
  • If you don't try, you have no chance at innovation
Re: MAME - 4-way emulation
« Reply #35 on: October 19, 2012, 01:32:06 pm »
Well now I'm just bowing out LMAO......

It's all in fun for me....I think I bought from like 8 different suppliers when building, including the Andy's and Randy's of the world.

All purchases were based on price point and the actual need of the feature.....

It's like I said before, there is no right or wrong here, its personal prefence....

The next time is feel the need to get into the Guiness Book of World Records for MS. Pacman gameplay....I'll be off to buy the Limited Edition Super 4 Way restricted left hand offset stubbed handled carbon ball handle topped short throw laser cut mame enhanced model....


yotsuya

  • Trade Count: (+21)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19960
  • Last login:July 17, 2025, 10:00:30 pm
  • 2014 UCA Winner, 2014, 2015, 2016 ZapCon Winner
    • forum.arcadecontrols.com/index.php/topic,137636.msg1420628.html
Re: MAME - 4-way emulation
« Reply #36 on: October 19, 2012, 01:38:11 pm »
Just googled TOKN for fun. Yikes!
***Build what you dig, bro. Build what you dig.***

LeedsFan

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1042
  • Last login:January 17, 2021, 06:14:23 am
Re: MAME - 4-way emulation
« Reply #37 on: October 19, 2012, 01:55:53 pm »
I'm surprised the thread went in this direction. I'm all for people trying different stuff. I appalud the OP for thinking of something that might suit some people in the community. There's absolutely nothing wrong with that.

For me... personally... it doesn't matter how good the software or firmware is. The Boolean logic could be 100% perfect or whatever.  But if I'm playing Frogger or Donkey Kong I simply DEMAND a physically restricted 4-way joystick. And nothing else will cut it for me.

Some people simply just aren't bothered (and I used to be like this when I first got into emulation). They will casually play with an 8-way and if they get chumpatized in the game they just go "Meh". They just want some Mame action and that's fair enough too

RandyT

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7014
  • Last login:Yesterday at 02:17:35 pm
  • Friends don't let friends hack keyboards.
    • GroovyGameGear.com
Re: MAME - 4-way emulation
« Reply #38 on: October 19, 2012, 02:00:54 pm »
1)physical 4way restriction is best. (Duh, haven't we all known that)....

Evidently, based on some of the responses, this is not the case.

Quote
2)Randy gets really pissed any time someone else offers any type of product or software that is not GGG.

Actually, it's just posts like this one which do that.  Not once in all of the accurate information I have offered here, have I mentioned a single one of my products, but there is someone else who is pushing a feature of one of theirs, which based on simple math and logic, cannot deliver what is being claimed.  You can witness the disappointment with this type of approach from an actual user right here.  And when questioning the company as how to get the device to deliver the promised performance, they were told (paraphrased) "when playing, don't do something which screws up the algorithm".    The same advice can be given when using the default 4-way handling algorithm already present in the applications.  If one enjoys conforming their playing style to an algorithm, then you can do that without the extra time and expense.

My concerns are for the folks who don't understand how all of this works, and design a setup around the notion that such a thing is possible, when it is not.  It doesn't do the community, or individual's pocketbooks, any favors to lead members down "dead-end" roads, which cause them to need to turn back and start again once they find themselves there. 

To put this thread in gun terms:

<apples and oranges gun analogy removed>

Randy - In all seriousness, I think your passion for your products is truly commendable and both your products and customer service are top-notch, but not every business fills every part of every niche. 

Like the argument about admin buttons, there is more than one answer -- the "correct" one depends on builder/user preferences.

And that last statement is the one I am attempting to clarify for folks.  This isn't a "preference" issue, as a few folks here are insisting.  That is, unless your preference is poor 4-way gameplay that is equal to the default poor gameplay that is already present.  Calling this a "preference issue" is tantamount to calling an encoder which has ghosting/blocking problems just as good as one which doesn't.  That poorly designed encoder will still play games, as long as you don't do certain things while playing.  But I think few here would want one.

As I stated earlier, if something like this had any merit whatsoever, you would already see it on my products, Andy's products, and on those of any other encoder producer out there.  Anyone who thinks that we haven't tested this for ourselves is giving in to fantasy.

RandyT
« Last Edit: October 19, 2012, 02:12:53 pm by RandyT »

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Online Online
  • Posts: 9672
  • Last login:Today at 05:29:45 am
  • Designated spam hunter
Re: MAME - 4-way emulation
« Reply #39 on: October 19, 2012, 02:09:20 pm »
Just googled TOKN for fun. Yikes!

Roger that!

If Degenatron's AVR is a Kia compared to Andy and Randy's Mercedes and Cadillac, would that make the TOKN a Trabant?   :laugh2:


Scott

Le Chuck

  • Saint, make a poll!
  • Wiki Contributor
  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5509
  • Last login:June 14, 2025, 06:26:06 pm
  • <insert personal text here>
Re: MAME - 4-way emulation
« Reply #40 on: October 19, 2012, 03:52:31 pm »
With the ability to implement an auto switching solution rapidly approaching plug and play and prices on such modifications dropping equally rapidly software solutions as currently being discussed are becoming unnecessary stop gaps for a shrinking and soon to be non existent problem.  If folks want to play classics they buy dedicated 4 way sticks that provide authentic performance.  Ditto 8 way.  Now you can have both in one package and have the game play be authentic for both for a marginal price hike.  Analogies about cars and guns seem to be out of place in my thinking but I'll add my own to the mix.  Screw drivers.  I don't screw phillips with a standard driver.  I could, but it's a PITA and the results are sub par.  I have both kinds of driver in my drawer but the one I use most is the little bit with philips on one side and standard on the other.  It has a nifty little chuck that allows me to flip around to the one I need.  It just works to use the right bit for the right head.  I wish I had one that knew what screw I was using and changed automatically. 

The stick currently on the market closest to doing this out of the box isn't even Randy's so I don't know why anybody would be all up in his grill about this issue.  I have high hopes that Randy will release a product with similar (not identical) automation and when he does I'm likely to be one of the first to sing its praises however that isn't the case as of right now. 

Kudos to Randy for taking the time to dispel myth and to share knowledge  :cheers:


rablack97

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2215
  • Last login:August 09, 2024, 08:49:57 pm
  • If you don't try, you have no chance at innovation
Re: MAME - 4-way emulation
« Reply #41 on: October 19, 2012, 04:12:34 pm »
I thought this was a innovation forum, so technically bottom line is don't try anything else new, it's all been tested by 2 people on this Earth.  So case closed?

I'll use a different word now instead of preference....It's a different option, to some people if it get the job done and your having fun then that's enough....

Now there is a Elite group of folks that won't settle for less than perfect, and that's fine.  His idea might be poor compared to the Lamborghini's of the world, but guess what there's a piece of s**t kia out there that will get me to point a to point b, and for a majority of the population out there that's enough.....

Poor is a strong word though, cause i use said 4 way logic today, and don't see a real problem with.  Will it revolutionize 4-way probably not, but will it get me through a game with pretty good high score, for sure. 

It's no different than business, you guys advertise multiple types of sticks, buttons, switches, etc. to give the population options. If we all looked at the logistics of perfecting one thing then there would be no other options, cause they would be considered too poor to even bother with.

So commend the man for trying instead of blowing his attempt out of the water with science and math, or telling him to give up.....

You know they laughed at Noah  too, and told him not to build the ARK.   Science, math, and testing didn't see the rain coming did it?

Don't hate participate, people....who know what will come of it... :soapbox:  going to timeout now...
« Last Edit: October 19, 2012, 04:16:51 pm by rablack97 »

Le Chuck

  • Saint, make a poll!
  • Wiki Contributor
  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5509
  • Last login:June 14, 2025, 06:26:06 pm
  • <insert personal text here>
Re: MAME - 4-way emulation
« Reply #42 on: October 19, 2012, 04:36:40 pm »
I thought this was a innovation forum, so technically bottom line is don't try anything else new, it's all been tested by 2 people on this Earth.  So case closed?

I'll use a different word now instead of preference....It's a different option, to some people if it get the job done and your having fun then that's enough....

Now there is a Elite group of folks that won't settle for less than perfect, and that's fine.  His idea might be poor compared to the Lamborghini's of the world, but guess what there's a piece of s**t kia out there that will get me to point a to point b, and for a majority of the population out there that's enough.....

Poor is a strong word though, cause i use said 4 way logic today, and don't see a real problem with.  Will it revolutionize 4-way probably not, but will it get me through a game with pretty good high score, for sure. 

It's no different than business, you guys advertise multiple types of sticks, buttons, switches, etc. to give the population options. If we all looked at the logistics of perfecting one thing then there would be no other options, cause they would be considered too poor to even bother with.

So commend the man for trying instead of blowing his attempt out of the water with science and math, or telling him to give up.....

You know they laughed at Noah  too, and told him not to build the ARK.   Science, math, and testing didn't see the rain coming did it?

Don't hate participate, people....who know what will come of it... :soapbox:  going to timeout now...

I'm sorry that my form of participation is stating my opinion and trying to add to the discussion rather than announcing that my trousers are messed.  The Noah analogy is a nice touch tho.  Next time I'm reading the epic of Gilgamesh I'll be sure and think of this.  I was trying to discuss that the effort may be late as controller choices are quickly adapting to negate the very necessity thereof and was not stating an evaluation of the software performance itself. I am of the opinion that a physical solution will always be superior to an emulated solution but I don't think that point of view is under fire here. 

I also wasn't aware that the current technique being attempted was new... and I'm not entirely sure that's an accurate assessment.  Please don't smite me.   

RandyT

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7014
  • Last login:Yesterday at 02:17:35 pm
  • Friends don't let friends hack keyboards.
    • GroovyGameGear.com
Re: MAME - 4-way emulation
« Reply #43 on: October 19, 2012, 04:39:47 pm »
I'll use a different word now instead of preference....It's a different option, to some people if it get the job done and your having fun then that's enough....

Finally a statement I can agree with.  If the default 8-way translation methodology in the apps is one which a player is having an awful time with, and they want to try an alternative which isn't already available through customizing the input handling logic (i.e. the AND, OR and NOT combinations) then there's no harm in giving something else a shot.  Most here would recommend foregoing the effort involved and just using the right tool for the job, but it's understandable that some may not have the money or space to do that, or just like tinkering for the sake of tinkering.

There is nothing wrong with presenting options, but presenting them in such a way as to indicate that they solve a problem which they don't really, and cannot possibly solve, is a different situation.

CheffoJeffo

  • Cheffo's right! ---saint
  • Wiki Master
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7784
  • Last login:July 14, 2025, 12:11:49 pm
  • Worthless button pusher!
Re: MAME - 4-way emulation
« Reply #44 on: October 19, 2012, 04:46:41 pm »
I thought he left ... or was being graceful ... or summat like that ...  ::)

I'll use a different word now instead of preference....It's a different option, to some people if it get the job done and your having fun then that's enough....

The bottom line is that, in order to make a decision about options, people need enough facts to make it an informed decision. Just saying an option is available and works for you, without any mention of the potential downfalls, does a disservice, to the option and to the community.

We all get that you think that Degen's solution is good enough. What has been posted are reasons why it may not be the case. I can think of a number of games, just off the top of my head, where his algorithm will be totally wrong, like, say, any game where you can't just switch directions to the cardinal opposite.

What may be more interesting is to have a number of algorithms that can be selected by the user as appropriate to the game being played.

RandyT has just been providing facts that should be considered in making an assessment.

We aren't telling you that you must use the same solution that we chose (or that you are a loser if you don't), but we are telling people what the potential downfalls of the proposed methods are. As RandyT says, this isn't exactly a new problem and I'm not seeing anything here that hasn't been tried before.

 :whap
« Last Edit: October 19, 2012, 04:48:27 pm by CheffoJeffo »
Working: Not Enough
Projects: Too Many
Progress: None

Le Chuck

  • Saint, make a poll!
  • Wiki Contributor
  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5509
  • Last login:June 14, 2025, 06:26:06 pm
  • <insert personal text here>
Re: MAME - 4-way emulation
« Reply #45 on: October 19, 2012, 05:34:53 pm »
If you want arcade authentic, you need a rusted joystick that barely works when you push left and a sticky button.

Preferably one that smells like a brewery and is covered in cig burns right?

degenatrons

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 364
  • Last login:March 29, 2016, 05:53:23 pm
    • KADE
Re: MAME - 4-way emulation
« Reply #46 on: October 19, 2012, 05:39:40 pm »
We all get that you think that Degen's solution is good enough. What has been posted are reasons why it may not be the case. I can think of a number of games, just off the top of my head, where his algorithm will be totally wrong, like, say, any game where you can't just switch directions to the cardinal opposite.

What may be more interesting is to have a number of algorithms that can be selected by the user as appropriate to the game being played.

RandyT has just been providing facts that should be considered in making an assessment.

Thanks for your summary.

Exactly what I'm trying to achieve by talking to the arcade community.   If the algorithm doesn't work then it will be dropped from the device.  If it can be improved then it will be improved. 
I have some other ideas,  but for now,  I hardly dare raise them!

I take on board your idea to have algorithms that suit the users play style.  Considered and noted.  Thanks.   

RandyT

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7014
  • Last login:Yesterday at 02:17:35 pm
  • Friends don't let friends hack keyboards.
    • GroovyGameGear.com
Re: MAME - 4-way emulation
« Reply #47 on: October 19, 2012, 06:05:03 pm »
I have some other ideas,  but for now,  I hardly dare raise them!

There's no reason to feel the need to be reticent.  You could save yourself a lot of time and effort by presenting some of those other ideas to the community for feedback.  This seems to be some new territory for you, and at least a few active members have been wrangling these issues for over a decade.  I think you'll know pretty quickly whether they warrant development, or whether it's something which has been tried and didn't fare so well.

RandyT

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Online Online
  • Posts: 9672
  • Last login:Today at 05:29:45 am
  • Designated spam hunter
Re: MAME - 4-way emulation
« Reply #48 on: October 19, 2012, 06:11:59 pm »
I'm all for getting the best known info and ideas out there.  Thanks to those who have been around the block many times and still take the time to set us whippersnappers straight when we start to head down a dead end path.   :cheers: 

I threw my 2 cents in with the "gun" and "car" posts because it seemed that there was some excessive negativity toward Degenatron's encoder, including apparently comparing it with the TOKN encoder -- a matrix encoder designed without the diodes needed to prevent "ghosting" IIRC -- which was clearly proved to be bad despite misleading reviews. (Paraphrasing.  Let me know if I'm off on this.  :dunno)



Just trying to keep things positive so prospective innovators don't become gun-shy.  We never know what "crazy" idea will inspire the next amazing development.  ;D

EDIT: D'oh! Deleted misremembered TOKN thread reference.  Sorry, Cheffo.  Time to go pull the plank out of my own eye.  :banghead:


Scott
« Last Edit: October 19, 2012, 07:20:26 pm by PL1 »

CheffoJeffo

  • Cheffo's right! ---saint
  • Wiki Master
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7784
  • Last login:July 14, 2025, 12:11:49 pm
  • Worthless button pusher!
Re: MAME - 4-way emulation
« Reply #49 on: October 19, 2012, 06:49:18 pm »
I threw my 2 cents in with the "gun" and "car" posts because it seemed that there was some excessive negativity toward Degenatron's encoder, including apparently comparing it with the TOKN encoder -- a matrix encoder designed without the diodes needed to prevent "ghosting" IIRC -- which was clearly proved to be bad despite misleading reviews. (Paraphrasing.  Let me know if I'm off on this.  :dunno)

To be clear, I was NOT comparing the two encoders in any way or shape (although I now see that the example I used may create that impression).

I was highlighting the similarities between the threads, where Randy posted facts (and things to consider in an encoder) and people took it to be just him attacking a competitor. The same thing happened here -- people took a completely valid list of facts and things to consider and interpreted it as an attack against a new product.

Consider that *I* have no dog in this fight -- I don't sell arcade components and I have never bought anything from Randy (although I keep meaning to grab up a couple of spinners). I agree with pretty much everything Randy said because he is right and because I would hope that, by my chiming in, we could avoid people misconstruing things and see it as a fair and complete representation of the situation.

The more I think about it, the more fun I think it would be to come up with multiple algorithms (despite the fact that I will always go for the best physical option). Something like, say, a dedicated algorithm for  games where movement consists mostly of "rolling" the stick around. If the last position was Up and the current is any of Up/Left, Left, Down/Left, then use Left. I'd need to think about it a bit more, but that strikes me as a better algorithm for maze games, since I would think that 180 degree shifts are less likely to hit the diagonals when you are normally moving in a circle.



Working: Not Enough
Projects: Too Many
Progress: None

RandyT

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7014
  • Last login:Yesterday at 02:17:35 pm
  • Friends don't let friends hack keyboards.
    • GroovyGameGear.com
Re: MAME - 4-way emulation
« Reply #50 on: October 19, 2012, 07:06:03 pm »
The more I think about it, the more fun I think it would be to come up with multiple algorithms (despite the fact that I will always go for the best physical option). Something like, say, a dedicated algorithm for  games where movement consists mostly of "rolling" the stick around. If the last position was Up and the current is any of Up/Left, Left, Down/Left, then use Left. I'd need to think about it a bit more, but that strikes me as a better algorithm for maze games, since I would think that 180 degree shifts are less likely to hit the diagonals when you are normally moving in a circle.

I'm not sure there are any games where this would help.  The above still has the issue which would send the player right if they drifted off the exact vertical by mistake, something that's all too easy to do without the "notch" to hold the stick.

I've thought about this dilemma for a long time, and I've never been able to find a case where it provides a benefit, without adding an equally unattractive negative impact.  It's like trying to get more than 2 possibilities out of a binary number.  It doesn't work. ;)

Hoopz

  • Don't brand me a troublemaker!
  • Trade Count: (+8)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5285
  • Last login:June 13, 2025, 09:18:32 pm
  • Intellivision Rocks!
Re: MAME - 4-way emulation
« Reply #51 on: October 19, 2012, 07:09:50 pm »
Just ask X for the right answer. He will have the definitive solution.  I do miss MattP though.  Too bad he deleted his account.

rablack97

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2215
  • Last login:August 09, 2024, 08:49:57 pm
  • If you don't try, you have no chance at innovation
Re: MAME - 4-way emulation
« Reply #52 on: October 19, 2012, 10:55:17 pm »

I'm sorry that my form of participation is stating my opinion and trying to add to the discussion rather than announcing that my trousers are messed.  The Noah analogy is a nice touch tho.  Next time I'm reading the epic of Gilgamesh I'll be sure and think of this.  I was trying to discuss that the effort may be late as controller choices are quickly adapting to negate the very necessity thereof and was not stating an evaluation of the software performance itself. I am of the opinion that a physical solution will always be superior to an emulated solution but I don't think that point of view is under fire here. 

I also wasn't aware that the current technique being attempted was new... and I'm not entirely sure that's an accurate assessment.  Please don't smite me.   


Nobody is smiting you, i was writing my comment before you even posted yours, you just hit post faster than i did.

Why are you stuck on the messed comment....different thread now man, this thread merits some seriousness.

Anywho, i never said he was the innovator of 4-way, RandyT has mentioned this has been tried time and time again throughout the years.

Everyone on this thread has valid points, including yourself.  I'm just saying we shouldn't blow folks attempts out of the water due to our own personal failures or research.

This hobby would be sh*t if everyone listened to the why's or what stuff wont work.  Otherwise as you see earlier people will say F you and take their toys and go home.  The forum then doesn't benefit either way.

We all agree physical restriction is superior, no one has said different....


mgb

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3500
  • Last login:January 06, 2025, 09:39:00 pm
  • North East, US
Re: MAME - 4-way emulation
« Reply #53 on: October 19, 2012, 11:34:41 pm »
Just ask X for the right answer. He will have the definitive solution.  I do miss MattP though.  Too bad he deleted his account.

 please don't send that invitation  :D

RandyT

  • Trade Count: (+14)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 7014
  • Last login:Yesterday at 02:17:35 pm
  • Friends don't let friends hack keyboards.
    • GroovyGameGear.com
Re: MAME - 4-way emulation
« Reply #54 on: October 20, 2012, 02:19:53 am »
....different thread now man, this thread merits some seriousness.

Ok, in the spirit of being "serious", we should probably take a look at what MAME does in it's code to handle the 8-way to 4-way problem.

Here's the section which is responsible for this;

Code: [Select]
910  void digital_joystick::frame_update()
  911  {
  912      // remember previous state and reset current state
  913      m_previous = m_current;
  914      m_current = 0;
  915 
  916      // read all the associated ports
  917      running_machine *machine = NULL;
  918      for (direction_t direction = JOYDIR_UP; direction < JOYDIR_COUNT; direction++)
  919          if (m_field[direction] != NULL)
  920          {
  921              machine = &m_field[direction]->machine();
  922              if (machine->input().seq_pressed(m_field[direction]->seq(SEQ_TYPE_STANDARD)))
  923                  m_current |= 1 << direction;
  924          }
  925 
  926      // lock out opposing directions (left + right or up + down)
  927      if ((m_current & (UP_BIT | DOWN_BIT)) == (UP_BIT | DOWN_BIT))
  928          m_current &= ~(UP_BIT | DOWN_BIT);
  929      if ((m_current & (LEFT_BIT | RIGHT_BIT)) == (LEFT_BIT | RIGHT_BIT))
  930          m_current &= ~(LEFT_BIT | RIGHT_BIT);
  931 
  932      // only update 4-way case if joystick has moved
  933      if (m_current != m_previous)
  934      {
  935          m_current4way = m_current;
  936 
  937          //
  938          //  If joystick is pointing at a diagonal, acknowledge that the player moved
  939          //  the joystick by favoring a direction change.  This minimizes frustration
  940          //  when using a keyboard for input, and maximizes responsiveness.
  941          //
  942          //  For example, if you are holding "left" then switch to "up" (where both left
  943          //  and up are briefly pressed at the same time), we'll transition immediately
  944          //  to "up."
  945          //
  946          //  Zero any switches that didn't change from the previous to current state.
  947          //
  948          if ((m_current4way & (UP_BIT | DOWN_BIT)) &&
  949              (m_current4way & (LEFT_BIT | RIGHT_BIT)))
  950          {
  951              m_current4way ^= m_current4way & m_previous;
  952          }
  953 
  954          //
  955          //  If we are still pointing at a diagonal, we are in an indeterminant state.
  956          //
  957          //  This could happen if the player moved the joystick from the idle position directly
  958          //  to a diagonal, or from one diagonal directly to an extreme diagonal.
  959          //
  960          //  The chances of this happening with a keyboard are slim, but we still need to
  961          //  constrain this case.
  962          //
  963          //  For now, just resolve randomly.
  964          //
  965          if ((m_current4way & (UP_BIT | DOWN_BIT)) &&
  966              (m_current4way & (LEFT_BIT | RIGHT_BIT)))
  967          {
  968              if (machine->rand() & 1)
  969                  m_current4way &= ~(LEFT_BIT | RIGHT_BIT);
  970              else
  971                  m_current4way &= ~(UP_BIT | DOWN_BIT);
  972          }
  973      }
  974  }

Looking at the comments, you will find that diagonals are already handled very similarly to what is proposed.  Transitions are favored, meaning that if the stick is in the UP position and an adjacent diagonal is made, MAME transitions immediately to the cardinal direction which differs from the current one.  From what was described earlier, no difference here between the two methods, which leave both susceptible to the "user drift" and "extended roll" issues.

If the stick is UP, and goes directly to DOWN-RIGHT, this means that it must necessarily pass through the "idle" position (CENTER.)  In MAME, this creates an "indeterminate state", as the authors understood that there was no way to ascertain what the player's intention was.  The way it is handled by default is to "flip a coin" (randomize) to decide whether to go RIGHT or DOWN.  Passing through CENTER always allows for an indeterminate state, so crossing CENTER directly to a diagonal (meaning closing the contacts on both switches within the 1/60th of a second time frame) causes the "coin flip" decision.

What looks to be the difference in the proposed method is that, instead of the "coin flip", the opposite cardinal is always favored.  This would indicate that the proposed method would necessarily store the last cardinal direction, even when the stick is resting at CENTER, as it must necessarily pass through this state.  In other words, if the current position is LEFT, and the stick returns to CENTER awaiting the next movement, RIGHT becomes heavily weighted, meaning that an UP-RIGHT or DOWN-RIGHT condition will always favor RIGHT.  The problem which arises in this case is that when moving from CENTER to either of those diagonals, there is equal likelihood that the player intended to go DOWN or UP, but will always end up going RIGHT.  This is not an improvement.

The only possible advantage in doing this is tied directly to play style, but it comes at a cost.  A game like Pac-Man or Rally-X has the player in constant motion regardless whether the stick is returned to CENTER or held in a direction.  If the player releases the stick to center after making the movements, the chance of "user drift" is heavily reduced, but no clear advantage can be had from the heavily weighted opposite cardinal.  If the player holds the stick in a direction at all times, there is a possible advantage in the heavily weighted opposite cardinal, but the chance of "user drift" is greatly increased.  This does not indicate a net gain. 

If anyone has anything to add to this, or sees a failing on my part, please chime in.
« Last Edit: October 20, 2012, 02:24:05 am by RandyT »

rablack97

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2215
  • Last login:August 09, 2024, 08:49:57 pm
  • If you don't try, you have no chance at innovation
Re: MAME - 4-way emulation
« Reply #55 on: October 20, 2012, 02:58:29 am »
ok now that is a kick ass post.....I see your concern with said logic, now somebody with ninja skills might be able to turn this into something useful for the forum....


Thanks for taking the time to write this up RandyT... :applaud: :applaud: :applaud: :applaud:

 :cheers:

MTPPC

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 535
  • Last login:November 26, 2021, 02:25:46 pm
Re: MAME - 4-way emulation
« Reply #56 on: October 20, 2012, 02:45:09 pm »
Even the most casual of game players cannot be satisfied with a non-responsive or wrong-responsive controller. As far as I am concerned, I have two mame cabinets: one with an 8-way 6-button and one with a 4-way, 3-button, trackball. When I play pac-man on the 8-way, it always ends in frustration with the machine. When I play pac-man on the 4-way, it always ends with frustration in the player. This will not change based on a slightly more accurate 8-way. I use degentron's encoders for both an 8-way mame and a pinball. I love them, but I can't see how a slight improvement will make that much difference. I think this goes equally for the novice and expert and should in no way be considered an admonishment of the attempt. It is more sadly an admission that the attempt was begun in error.

The truth that matters in this case is the physical/logical limitation of the problem being solved. This problem does not provide enough inputs to get an acceptable output. In fact, the algorithmic estimation of the solution precludes the development of the actual skill that eliminates the problem. IOW, in this case, no solution is the best solution. So yes, people should not waste further time attempting to find an algorithmic solution to this problem. The inputs do not provide enough information to provide an accurate output. And any calculated output reduces the feedback required to learn to run the joystick with the accuracy required to prevent the problem in the first place.
Pinball and Video Arcade Repair in Billings, MT USA
http://pinballmd.com/

paigeoliver

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 10994
  • Last login:July 06, 2024, 08:43:49 pm
  • Awesome face!
Re: MAME - 4-way emulation
« Reply #57 on: October 20, 2012, 05:45:53 pm »
I wonder when that code went into mame? It wasn't all that long ago that mame was plain wrong about which games had 4-ways and which one had 8-ways for a huge number of games.
Acceptance of Zen philosophy is marred slightly by the nagging thought that if all things are interconnected, then all things must be in some way involved with Pauly Shore.