Jump to content

3 sided cocktail project build

Recommended Posts

Hi all,


So I have a 3 sided cocktail table that I pretty much scored for free. It currently has one of the blue Game king style xxxx in 1 boards in it that does work but the hard drive is cooked. have installed a test image onto a hdd and am able to play games on it using the existing Jamma board and pc combo.


I am happy to ditch the board and go proper PC Mame but I am looking for the best solution to the 4 player 3 sided cocktail setup.


How can I set my machine up to rotate the video feed from vertical to horizontal on the monitor with the press of a button like I hear about in all the 3 sided cocktail machine ads around.??


I get that the games have dip switches but Im talking 2 games lists. 1 for verti and 1 for horizontal. Similar to the 1033/1166/3500 in 1 boards.


Will the ctrl + alt + directional key allow me to rotate screen and if so can I map that to a single press and hold of one of my control panel buttons?? are there better options? what are people doing to make this possible to use mame on a 3 sided machine???


Really trying to figure out how these 3 sided cocktails work. Any help will be much appreciated.


Cheers Legends!!!

Link to comment
Share on other sites

I have no idea about your questions, esp in a mame build. I would imagine that you will need to wire the buttons in series at the very least. As in 2 player one buttons linked on the long and short side etc etc...

Post a photo of the cabinet, anyway and hopefully someone will be of more help :)

Link to comment
Share on other sites

  • Administrators

You can set every game in Mame to rotate positions based on a value in a custom game ini. MAme will use the default mame.ini for all games where an individual game ini does not exist. You could potentially use that on a per game basis but I suspect thats not what you want.


Many Emulator Front-Ends support game lists. You can map a button to that function say in MalaFE and it will load that list. You would still need to have the games rotated appropriately in separate ini files.


PC's also have rotate display options, you could use buttons mapped to software that would trigger this.


A solution will depend on more details of what you're trying to achieve



  • Like 1
Link to comment
Share on other sites

I'll be blunt here.


I personally dislike 3 sided cabs. They seem like a great idea at the time - kill 2 birds with 1 stone, all that kind of thing.


As always the devil is in the detail, because the further you look into it the more complex and unforgiving the software setup appears to be. Even more so if you don't appreciate that some compromises are NECESSARY for this thing to work.


After being asked about 3 sided cabs as often as I have, I've developed an approach that has been suggested to a number of people. Whether they've taken it on board AND executed it successfully I have no idea, as I hardly ever get contacted by customers to share their experiences, but that's a story for another day.


What you need to do is keep thinking of it as two separate cabs:

- a vertical cocktail cabinet where the screen flips for each player.

- a horizontal cabinet where 2 players sit side by side and play simultaneously, anything from Bubble Bobble to Street Fighter.


There are two main considerations here:

1 - How do you wire up the controls so everything works properly with no conflicts?

The easiest way is to use two separate interfaces/encoders then wire the cocktail controls up to one and the horizontal controls to the other. Make sure they are detected differently from the PC so your software can identify which controls are which. Then move on to the second consideration.


2 - How do you configure the software so the screens rotate and flip correctly AND work with their appropriate controls

Find a frontend that you like that supports multiple game lists, or "wheels" if you like.

Get your MAME setup and DUPLICATE it so you have a Vertical version and a Horizontal version.

Rename one of them to C:\HMAME and HMAME.EXE and the other to C:\VMAME and VMAME.EXE

Now for the tedious part - split all your ROMs between vertical and horizontal and drop them into the relevantROMS directory. There's a few really good programs out there that will help you to do that so I won't go into detail.

Do the same with any themes, media etc that you have and drop those into their relevant directories for either MAME or the frontend.

Now generate a vertical game list and a horizontal game list and set up your frontend so they appear as separate entries when the frontend is running.

Lastly, configure the controls so they work as required in both the frontend and the relevant instance of MAME.



By doing it that way you won't have to worry about screen rotation or flipping as your 2 instances of MAME will handle that. The most complex thing that will be left to worry about is how to orient the frontend itself. I've seen someone have a 2 frontends as well (one vertical, the other horizontal) and use a simple program that loads up when you boot the system and prompts you whether you want to play vertical or horizontal games, which then loads up the appropriate frontend. To swap over, just quit the frontend and that program will run again so you can choose the other front end.


If you want a true 4 player layout then in HMAME, you need to configure the vertical P1 controls as P3 and the vertical P2 controls as P4. You can then take into consideration to orientation of their joysticks and how you map their directions doe to those players viewing the screen sideways.


That's pretty much it. Yes, the are a few other considerations, but the above covers nearly all of what most "3 siders" seem to struggle with. If you need to know anythign more then call me as I only give away so much for free......😎

  • Like 2
Link to comment
Share on other sites

  • 3 months later...

I have a 3 sided cocktail table that I wired up myself (more than a few times now) and have solved most of these problems.

with respect to wiring up the controls it is a bit tricky to explain but really easy once you get it.


this was all done about 10 years ago now so please forgive me if my memory is not great. But feel free to ask questions I will use it now and it sill works so I can dig into the cabinet and see how I did certain things.


I wired up all the buttons back to an ipac (the big one with 60 inputs/outputs), the ones that were doubled up had two entries back int the relevant port at the ipac.

but the magic is in the ground cables.


I daisy chained up the vertical panels as normal grounding and separately I daisy chained up the side by side panels as if the verticals didn't even exist then I joine dthe two of them back to the ipac through a special switch , i think the correct term is a SPDT, single pole double throw switch. which means it either grounds up one set of panels or the other.

it works good and is pretty simple. now you push in the button and either the two vertical panels work or the two side by side panels work.


I will write a separate post on how to manage the software side, re rotating screen and controls but in short I have a few pieces of software that rotate the screen and keep a wireless keyboard on hand to repatch the butons when I want to play a new game.

FYI i am running windows 98 on a little mini msi wind netbook.


I have only got it set up for 2 players at a time.

Link to comment
Share on other sites

I have converted my3 sided xxxx in one and put in a pc many years ago.

As it's at moms for the Kids i don't have full access to it now.

I recall from memory it was a lot of work.

Made a folder with vertical games and change the settings to display vertical flip via the mame Tab .

This is where i also set the vertical buttons and joysticks as new unused keys different to the horizontal buttons.

So in the Front End ( Maximus) i could select Horizontal games - and only the horizontal games would appear for the side to side play.

If i chose vertical games list they would be vertical opposite flip games.

I used the existing jamma harness wiring to the buttons & joysticks and just soldered a finger board wires to the Ipac .

I did also add extra 4 small buttons for the the Maximus front end menu and exits and pauses and shutdowns.. etc.

Wish i could help more but that's all i can remember as it was 5+ years ago.


Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...