Jump to content
SpesoftPinballXConvert-It
Tempest

[RELEASE] CFG Magician 1.60

Recommended Posts

What kind of insane game would require a person to use 14 buttons!? :o

Well, other than Mahjong of course...

Share this post


Link to post
Share on other sites

I think I know the answer to this one.

Brasil 89

Buena Suerte (spanish, set 1)

Golden Poker Double Up (Big Boy)

Good Luck

Jack Potten's Poker (set 1)

Maverik

Poker 91

Super Loco 93 (spanish, set 1)

Witch Card (Video Klein)

King Pin

King Pin Multi-Game

They appear to be poker Games...

I looked at mahjong (dondenmj), it has 26 buttons. Romlister shows it as buttons=0, so I tried to look it up in controls.xml, but I didn't find a listing for dondenmj. I assume that's where the problem is...

Two Questions:

1. Did you really want an answer?

2. Did you notice that I use "I think", "appear", and "assume" alot? I've protected myself so much, that I don't "believe" that anybody can say I'm wrong. <_<

Edit: I think the question should have been:

"What kind of insane person would play a game that uses 14 buttons!?" (Sorry for correcting you! :( )

BTW: I have no answer to that question...

:P

Share this post


Link to post
Share on other sites

I didn't realize there were 14 actions in poker. Perhaps these are like the touch screen style games (perhaps without the touch screen) where you can hold any of the 5 cards. That would mean you need 5 + a few others for betting and such. Still seems like a lot, but I guess these are probably dedicated machines that didn't look like standard arcades with a joystick and such. Hmmm, are they really arcade games if they don't have a control panel?!

Anyway, all I can say is....SMART ARSE! ;)

Share this post


Link to post
Share on other sites

I'm a little bit bored, and thought I would provide some insight as to why the empty cfg files that I provide are necessary for use with CFG Magician.

If you look at one of the mame\cfg\tempest.cfg file, you may see something like this:

        <input>
<port tag="BUTTONSP1" type="P1_BUTTON2" mask="1" defvalue="1">
<newseq type="standard">
KEYCODE_2
</newseq>
</port>
<port tag="BUTTONSP1" type="P1_BUTTON1" mask="2" defvalue="2">
<newseq type="standard">
KEYCODE_1
</newseq>
</port>
<port tag="BUTTONSP2" type="P2_BUTTON2" mask="1" defvalue="1">
<newseq type="standard">
KEYCODE_2_2_SWITCH
</newseq>
</port>
<port tag="BUTTONSP2" type="P2_BUTTON1" mask="2" defvalue="2">
<newseq type="standard">
KEYCODE_2_1_SWITCH
</newseq>
</port>
</input>

As stated throughout this thread, Mame will not recognize inputs without the mask, and defvalue information, and the information is different for each game. As I was writing the code to parse the drivers for the mask, and defvalue information, it became clear to me why this information is needed. The important thing to remember, is that Mame is emulating thousands of individual arcade machines, and that for the most part, every machine had completely different PCBs (printed circuit boards), and wiring configurations.

We need to know a little bit about computers, binary, and 'bitwise and' to understand what is going on.

The only thing that we need to know about computers is that at the processor level they only know 2 things. On, and Off. That is why we use binary numbers with them. Binary numbers are a series of 0s (zeros) and 1s that represent 'bits' or digits in a binary number.

Looking at an input port on a PCB, When no buttons are pressed, it might look like this:

00000000

And If the third button was pressed, it might look like:

00000100

Let's think about how one machine would handle it's inputs from a programming point of view. Each control on a machine would be wired to to an input port on the PCB, and the programmer would need to have a way to find out if a certain button was pressed. To do this, he would use a 'Mask', and a 'Bitwise And' to determine if the bit in question was 0, or 1. Think of a 'mask' as a strip of paper with a hole in it that would lay over the input port to isolate one bit. A 'bitwise and' would take 2 binary numbers, and if both bits in each number are 1, the resulting bit would be 1. If either bit is 0, then the resulting bit would be a 0.

Example:

10100100 Input Port (3 buttons down)

00000100 Mask for the 3rd bit (decimal 4)

________

00000100 Yes, third bit is 1

So, the 'mask' value in the config is used to isolate each control, just as it would be on the original arcade machine. Pretty cool...

Whew! I'm glad I got that off of my chest. Thanks for reading. smile.gif

Share this post


Link to post
Share on other sites

I edited my first post, and added the (source) cfg files that CFG Magician needs to create mame\cfg files for Mame0.135. Included in the .7z file, are two text files, Not Working.txt, and No Controls.txt. The No Controls.txt contains a list of games that are working, but have no controls that I use in CFG Magician.

The control types that I do use are : IPT_BUTTON,IPT_JOYSTICK,IPT_AD_STICK,IPT_DIAL,IPT_LIGHTGUN,IPT_MOUSE,IPT_PADDLE,IPT_PEDAL,IPT_POSITIONAL,IPT_TRACKBALL,IPT_PADDLE

A quick check of games in the No Controls list would show that most of the games are poker, mahjong, and slot? machines.

I intend to keep adding an additional download for each version of Mame, as they are released.

Share this post


Link to post
Share on other sites

I don't understand the question. CFG Magician will help you set up your games' inputs the way you want them based on lists of games you want to set up. It really doesn't have anything to do with the version of MAME (well, REALLY old versions used a different format for the cfg file).

So, if you want to generate a special config for all 6 button fighting games, you can just make a list of the rom names (I think one is already included with this software, but you can easily make your own with RomLister). Then, feed that file into CFG Magician and define your keys interactively. The software will generate cfg files for each game in the list all at once. You just need to then copy those files into your MAME/cfg folder.

That's all been elaborated on earlier in the thread, I'm just reiterating it here...

Share this post


Link to post
Share on other sites

hey tempest,

I've been looking at this util for a long time and finally tried it tonight. WOW what a great thing! saved me a lot of time re-doing my controls. One thing i would like to know though... Is there anyway to set up spinner and trackball sensitivity and speed on all games? that would be awesome! Please let me know. would make my life a lot easier (i use USB trackball and spinner so i need to crank up the sensitivity for every game)

Thanks in advance

~ThumB

Share this post


Link to post
Share on other sites

Short answer: Not with this utility.

Long answer: No, and you wouldn't want to anyway. The sensitivity and speed settings are highly dependent on the game's original hardware. The settings allow you to tweak the controls so as to match the original game with different hardware. Since each game started out with different hardware from the next game, having a globally set speed and sensitivity not only would be technically wrong, but wouldn't play right either. I have a driving cab with 360° steering wheels in it. I had to tweak pretty much every game to get the steering to feel correct. I don't know what the original hardware should feel like in the vast majority of cases, but I know what feels right to me.

Also, be aware that you might need to reverse the direction of certain axis for some games. This is more needed for driving games where the pedal is reversed, but it's possible that the spinner/wheel could need switching around too.

Share this post


Link to post
Share on other sites

Another fine answer BK.

Thumb - a Topic was started at BYOAC regarding this issue. The idea was for people to upload their settings for various games. I posted in that thread as Morpheus. If you want to take the time to set all analog games, and post your cfg files, I would add the info to CFG Magician.

http://forum.arcadecontrols.com/index.php?topic=77375.0

Maybe all of the work has been done? I don't think this could possibly be a complete list:

http://wiki.arcadecontrols.com/wiki/Spinner_Turn_Count

Share this post


Link to post
Share on other sites

I'm sure you are aware since you followed the thread at BYOAC, but that site won't give a complete input into CFG Magician. Also, for the same reason, I don't think you should include Thumb's settings into the main CFG Magician pack of cfg files.

Here's the problem. Everyone uses different hardware. If everyone's hardware had the same "gear count" (number of divisions per turn), then a universal setting could be used. BUT, since some people have high resolution spinners (like the new ones from GGG and Ultimarc) and others are using low resolution original arcade spinners, this is just not possible.

I'm really not the best one to talk on the technical side here. If you want a real answer, read the thread and focus on u_rebelscum's details. He's the man when it comes to analog inputs!

Share this post


Link to post
Share on other sites

Yeah, this was my post at BYOAC:

If someone has already adjusted all of the values in all of the games, and would upload their cfg files, I could make this an option in CFG Magician. It would be possible to click on a button, and have all of the analog information added to your existing cfg files. I would need to know what controls (IE Turbo Twist 2) that the settings are intended for.

I could also turn "reverse" on or off for all games. If anyone would find that useful.

An alternative to having someone upload their cfg files, would be if anyone knew How many spokes each original game had on their spinner, and the math required to convert to a control. (IE Turbo Twist 2)

So I realized what you are saying above. I would think that if I had a set of configs for one control EG:Turbo Twist, then it might be as simple as the option to increase, or decrease the values by a certain percentage. I wasn't planning on using Thumbs cfgs raw, just as a benchmark to work from. I was more familiar with it while I was still working on the project, but not so much now. It is all a moot point if I don't have any data (cfgs) to work with. ;)

Note to self: Maybe I should look at it again.

Edited by Tempest
Looked at.

Share this post


Link to post
Share on other sites

I pulled this from tempest.c

PORT_BIT( 0x0f, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_PLAYER(1) PORT_FULL_TURN_COUNT(72)

I will have to do some more investigating.

Share this post


Link to post
Share on other sites

A list of all drivers that have the IPT_DIAL input type. Unfortunately, tempest.c is the only driver that lists the PORT_FULL_TURN_COUNT on the original control.

src\mame\drivers\

2mindril.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(20)

alpha68k.c - PORT_BIT( 0x0f, 0, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(20)

amspdwy.c - PORT_BIT( 0xffff, 0x0000, IPT_DIAL ) PORT_SENSITIVITY(15) PORT_KEYDELTA(20) PORT_CODE_DEC(KEYCODE_LEFT) PORT_CODE_INC(KEYCODE_RIGHT) PORT_PLAYER(1)

arkanoid.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(15)

atarisy1.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_REVERSE

atarisy2.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_PLAYER(1)

ataxx.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_PLAYER(1)

aztarac.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_REVERSE

badlands.c - PORT_BIT( 0x00ff, 0, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_PLAYER(1)

bagman.c - PORT_BIT( 0xff, 0, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(5)

balsente.c - PORT_BIT( 0xff, 0, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_REVERSE PORT_PLAYER(1)

berzerk.c - PORT_BIT( 0xff, 0x0, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(4) PORT_RESET

blstroid.c - PORT_BIT( 0x00ff, 0, IPT_DIAL ) PORT_SENSITIVITY(60) PORT_KEYDELTA(10) PORT_PLAYER(1)

buggychl.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(15) PORT_REVERSE

carpolo.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE PORT_PLAYER(1)

cchasm.c - PORT_BIT( 0xff, 0, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)

changela.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(50) PORT_KEYDELTA(8)

cinemat.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_RESET

cischeat.c - PORT_BIT( 0x7fff, 0x0000, IPT_DIAL_V ) PORT_SENSITIVITY(50) PORT_KEYDELTA(50)

cps1.c - PORT_BIT( 0x0fff, 0x0000, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_PLAYER(1)

cps2.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(15) PORT_PLAYER(1)

dcheese.c - PORT_BIT( 0x00ff, 0x0000, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_REVERSE

djmain.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(15) PORT_PLAYER(1)

dkong.c - PORT_BIT( 0x03, 0x00, IPT_DIAL ) PORT_SENSITIVITY(40) PORT_KEYDELTA(10) PORT_REVERSE

dominob.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(15)

dragrace.c - PORT_BIT( 0xff, 0x00, IPT_DIAL_V ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_PLAYER(1)

embargo.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(8) PORT_PLAYER(1)

exidy.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(5) PORT_KEYDELTA(30) PORT_REVERSE

exidy440.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE

exterm.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE PORT_PLAYER(1) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X)

fantland.c - PORT_BIT( 0xff, 0, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_RESET PORT_REVERSE PORT_PLAYER(1)

firetrk.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_PLAYER(1)

freekick.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(15) PORT_REVERSE

galdrvr.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(4) PORT_REVERSE PORT_RESET PORT_CONDITION("IN2", 0x08, PORTCOND_EQUALS, 0x08) // cocktail: dial is reversed

goindol.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(40) PORT_KEYDELTA(10)

gottlieb.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(5) PORT_KEYDELTA(10) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X)

grchamp.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(5) PORT_REVERSE

imolagp.c - PORT_BIT( 0x0f, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(1) PORT_PLAYER(1)

itech8.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(75) PORT_KEYDELTA(10) PORT_PLAYER(1)

kaneko16.c - PORT_BIT ( 0x00ff, 0x0000, IPT_DIAL ) PORT_SENSITIVITY(70) PORT_KEYDELTA(25) PORT_PLAYER(1)

leland.c - PORT_BIT( 0xff, 0, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_PLAYER(1)

mcr.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(3) PORT_KEYDELTA(50) PORT_REVERSE

mcr3.c - PORT_BIT( 0x3f, 0x00, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE PORT_PLAYER(1)

mcr68.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_REVERSE

mgolf.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(25)

mhavoc.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(40) PORT_REVERSE

mitchell.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(20)

namcos1.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(15)

neodrvr.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(20)

nitedrvr.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)

offtwall.c - PORT_BIT( 0xff, 0, IPT_DIAL_V ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_PLAYER(1)

omegrace.c - PORT_BIT( 0x3f, 0x00, IPT_DIAL ) PORT_SENSITIVITY(12) PORT_KEYDELTA(10)

polepos.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(4)

scobra.c - PORT_BIT( 0xfc, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) /* scrambled dial */

segac2.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(15) PORT_PLAYER(1)

segae.c - PORT_BIT( 0x0fff, 0x0000, IPT_DIAL ) PORT_SENSITIVITY(60) PORT_KEYDELTA(125)

segag80v.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(3) PORT_RESET

segas16a.c - PORT_BIT( 0x0f, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(15)

segas16b.c - PORT_BIT( 0x0f, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(15)

segas24.c - PORT_BIT( 0xfff, 0x000, IPT_DIAL ) PORT_MINMAX(0x000,0xfff) PORT_SENSITIVITY(25) PORT_KEYDELTA(15) PORT_PLAYER(1)

seta.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_PLAYER(_n_) PORT_SENSITIVITY(15) PORT_KEYDELTA(15) PORT_CODE_DEC(KEYCODE_##_left_) PORT_CODE_INC(KEYCODE_##_right_)

sfkick.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(-20)

snk.c - PORT_BIT( 0x7f, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_PLAYER(1)

sprint2.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_PLAYER(1)

sprint4.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(16) PORT_PLAYER(1)

sprint8.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_PLAYER(1)

ssrj.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(4) PORT_REVERSE

subs.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_PLAYER(2)

superqix.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(20) PORT_KEYDELTA(10)

suprgolf.c - PORT_BIT( 0x0f, 0x00, IPT_DIAL ) PORT_SENSITIVITY(5) PORT_KEYDELTA(5) PORT_PLAYER(1)

suprnova.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(15) PORT_REVERSE PORT_PLAYER(1)

system1.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(60) PORT_KEYDELTA(15) PORT_REVERSE

taito_f2.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_PLAYER(1)

taito_f3.c - PORT_BIT( 0xfff, 0x000, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(25) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_PLAYER(1)

taito_z.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_PLAYER(1)

tempest.c - PORT_BIT( 0x0f, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_PLAYER(1) PORT_FULL_TURN_COUNT(72)

tnzs.c - PORT_BIT( 0xffff, 0x0000, IPT_DIAL ) PORT_SENSITIVITY(70) PORT_KEYDELTA(15) PORT_PLAYER(1)

toaplan2.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(15) PORT_PLAYER(1)

turbo.c - PORT_BIT( 0xff, 0, IPT_DIAL ) PORT_SENSITIVITY(10) PORT_KEYDELTA(30)

tx1.c - PORT_BIT( 0x0f, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10)

victory.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_REVERSE

wallc.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(3) PORT_REVERSE PORT_PLAYER(1)

wink.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(3) PORT_REVERSE

wolfpack.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(5)

wrally.c - PORT_BIT( 0xff00, 0x0000, IPT_DIAL ) PORT_SENSITIVITY(70) PORT_KEYDELTA(10) PORT_CODE_DEC(KEYCODE_RIGHT) PORT_CODE_INC(KEYCODE_LEFT) PORT_REVERSE

zaxxon.c - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(15) PORT_RESET PORT_PLAYER(1)

I still believe that if a complete list of games were on the Wiki, then it would be easy to have CFG Magician set the Sensitivity for all games, either by having the user enter the resolution of their device, or better yet, having the user select their device from a list. Of course I would need a list of the resolutions for various devices.

Share this post


Link to post
Share on other sites

Actually, if you could just scale the value based on whatever input you were using, that would be pretty sweet! I hadn't considered that since I wasn't sure if things were linear like that...or perhaps have some offset of some kind. But, if you do see a trend where that would work, I think that would be a really great addition to the community!

Share this post


Link to post
Share on other sites

hey guys! I would love to still use this software for mame 0.195

where can I find the data files for it? I know it was possible to create them somehow, but the last time I used mame was 0.140

Share this post


Link to post
Share on other sites

I have seen around many forums talking about a utility that can create the data files for CFG Magician, but the link at emumovies for the tool doesn't exist anymore.

Any know how to create the Data files for CFG Magician?

Share this post


Link to post
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

×