Main > Main Forum
Software setup and moduler CPs
(1/2) > >>
Lilwolf:
Ok, I love to see all the moduler control panels people are showing.  the are pretty sweet!

but for my question.  How do you setup mame and other emulators to work with each orientation?

How do you setup your cabling and encoders to work with all possiblities? 

I currently have hotswap (actually... I did... but I'm rewiring and playing with a tacswitch no-plugings and haven't converted all my control panels over yet... so only 2 control panels at the moment... but I degress)... 

So for my software, I wrote my frontend to have each emulator with each game seperate for a given control panel (so only trackball games and dial games show up when playing with my trackball). 

But with a moduler control panel.  Wouldn't this be completely impossible to really setup?

It just seems like a configuration nightmare. 

I'm curious because I'm getting closer and closer to building a new mame machine... and now considering going with moduler control panels instead of full control panels. 
Samstag:
Are you seeing any potential problems other than how to handle the combinations in the FE?  Most of the emulators I can think of would use the same 8-way and button controls.  When you add spinners and trackballs it's more of a mame issue as I see it.  Maybe my perspective is a bit narrow since I'll probably only emulate NES in addition to mame.

As for hardware switching, I'm going with the ethernet port idea several other people have had success with.  I went a little overboard, though, since I'm using a 24-port jack panel.  I get a little crazy when it comes to designing flexibility.  For example, not only did I wire two player 1 button jacks (so I can have a single stick with righty-lefty buttons), but I also used the 3 spare conductors in my joystick ports to allow buttons 1, 2, and 3 to be part of the joystick connector.

If you want a user-friendly FE for modular panels, I can think of a couple of ideas that might be worth doing:

1) Put a tamper switch on the hinge or panel that locks the modulars in place (if any).  When the FE sees the panel open then close again, trigger a question and answer session to determine the current config.  Then present the new list of playable games.

2) Separate your available game list into "currently playable" and "playable with a swap".  Then when they select a game from the "swappable" list, show the recommended panel configuration.

I was thinking about putting together a color binder filled with the best and most popular games.  It would have a screenshot, a short blurb explaining the game, and a diagram showing the optimum control configuration.  To make it even more user-friendly I was thinking I'd color-code each of the different panels so all a casual visitor would need to do is match the colors with the diagram.
tetsujin:
If you want your front-end to automatically switch your game list according to what controls are installed, here are a couple ways you might approach the problem.

First, there's the basic problem of letting your computer know what controls are installed.  You could do this if each control were a separate USB device with its own encoder, but that gets expensive.  A simpler way would be to use a few of your encoder's inputs to flag what controls are being connected.

One way to do that would be to give each individual control you might connect its own set of inputs on the encoder, along with one extra one to signal that the control is attached.  Another way would be to separate the available inputs into banks, and use three or four of the inputs in each bank to signal what type of control is attached to the bank (joystick, buttons, etc.)  I would probably go for the second approach, and have the banks correspond to "left-to-right" positions on the console.

I think it'd also be possible to do this with a single, specialized USB joystick encoder - set up such that any time a set of controls is attached or removed, it would signal to the computer that the USB joystick was removed, then re-connected with a new configuration.  But that's a complicated solution, since (as far as I know) there is no such pre-made encoder for modular controls available.

The front-end would then have to check the available controls, determine whether there's a reasonable mapping from the connected control configuration to the games on the list, and if so, create the mapping.  It would have to look at each game, trying to fit: like if it had two joysticks with six buttons each, it could trivially map out controls for Neo Geo games and Street Fighter variants - and it would have a few options for dual-stick games like Smash TV (either use both sticks for a single player, or use the buttons as the "second stick" for each player) One of the reasons I suggested having the banks go left-to-right is so the front-end would have an easier time mapping the controls, determining how many players can be supported, etc.

Of course, the next problem is letting the user know what the control mapping is.  A simple way to do that would be to pop up a screen when loading a game.  Ideally the screen would provide a very good representation of the control panel configuration (another reason for having the input banks be positional) with each control labeled.

Personally, if I were building a modular panel I would want it to be easy for me to change the configuration (including the control mappings for games), but I wouldn't want it to be something that the front-end would prompt the player to do.  If I had people over who weren't familiar with my system (pretty much anybody who doesn't help build it) there are two factors:

1: I wouldn't want them fiddling with my machine's innards.
2: I wouldn't want to complicate the game-playing experience for them by having a dialogue pop up saying "Open the storage door and replace this module with that module..."

For those reasons, I'd treat control swapping as strictly an administrative task.  Maybe I'd even key-lock the controls in place.  (If you approach the problem from this angle, you can use a much simpler solution: something like what Samstag suggested.  :)  But I'd make the non-playable games completely invisible from the front-end.)
Lilwolf:
I was really talking in game also.  But I have my frontend handle a items (like makesure that joysticks are turned off when I'm not using them... Even though there is a joystick plugged in... this allows my aki to be plugged in without any joysticks... )

I guess here is the question... Lets say you have an 8way tron flight stick and a trackball.... You want to plug the tron stick on the right for tron... But the left side for most other flight games.   Don't you have to change the configuration of each game for that?

Or, lets say you want your 8way + 6 buttons centered when playing 1 player... But you want to move it off to the left to give room on the right for 2 player games... Or you want it far far left for 4 player games.  But in each case.. you want it to be player 1 without touching mame.

The frontend references was basically stating that I've solved the problem for hotswap in my frontend... but I don't see a good solution for moduler control panels.
Samstag:

--- Quote from: Lilwolf on January 31, 2005, 02:16:57 pm ---I was really talking in game also.
--- End quote ---
Navigation
Message Index
Next page

Go to full version