Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. Thank you for your support. Tom Speirs

Patreon

[RELEASE] CFG Magician 1.60


Tempest

Recommended Posts

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

Link to comment
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! ;)

Link to comment
Share on other sites

  • 5 months later...

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

Link to comment
Share on other sites

  • 1 month later...

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.

Link to comment
Share on other sites

  • 8 months later...

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...

Link to comment
Share on other sites

  • 1 month later...

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

Link to comment
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.

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

Link to comment
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!

Link to comment
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.
Link to comment
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.

Link to comment
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!

Link to comment
Share on other sites

  • 7 years later...
  • 1 month later...

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?

Link to comment
Share on other sites

  • 4 years later...

Hi guys.

Same question for me : where could I find the method to create new data file for CFG Magician ?

It seems there was a topic in the forum for that, but the page doesn't exist anymore...

Could it be possible that an admin would post a copy of the old content of this post with the indications on how to create data files for most recent mame romsets ?

This software seems to be a real magic software for our arcade cabinets, so it would be REALLY USEFUL !!!!

Thank's, if someone could do this, please...

Link to comment
Share on other sites

Hate to break it to ya, fellas, but Tempest hasn't been with us for a while and active development of this tool ceased in 2010. Although he makes occasionaly drops in to see what's up, his days of working on retro-gaming related apps are over.

Unfortunately, unless the data and other files were stored in the GameEx downloads section or FTP site, the are lost to obscurity unless through some sort of Christmas miracle some reading this says "I think I have those around here somewhere.." and they appear.

Link to comment
Share on other sites

On 12/17/2022 at 10:51 AM, zakvilneuv said:

Hi guys.

Same question for me : where could I find the method to create new data file for CFG Magician ?

It seems there was a topic in the forum for that, but the page doesn't exist anymore...

Could it be possible that an admin would post a copy of the old content of this post with the indications on how to create data files for most recent mame romsets ?

This software seems to be a real magic software for our arcade cabinets, so it would be REALLY USEFUL !!!!

Thank's, if someone could do this, please...

Have you tried contacting @Circo directly? He's the owner of EmuMovies (the site that that old link is hosted on). If you're a member of EmuMovies you could manually browse the EmuMovies FTP yourself first to see if you can find it yourself...

Link to comment
Share on other sites

On 12/17/2022 at 6:55 AM, Draco1962 said:

Hate to break it to ya, fellas, but Tempest hasn't been with us for a while and active development of this tool ceased in 2010. Although he makes occasionaly drops in to see what's up, his days of working on retro-gaming related apps are over.

Unfortunately, unless the data and other files were stored in the GameEx downloads section or FTP site, the are lost to obscurity unless through some sort of Christmas miracle some reading this says "I think I have those around here somewhere.." and they appear.

It's a Christmas (Eve) Miracle! I am posting the source code for the script that I used to create the Blank files in the past. I can tell you from a quick glance that it will not work with the latest version of Mame. At the very least, the path to the src files would need to be scanned recursively, and extensions would need to be specified, as include files (.h) were scanned in separately from the .c files. There's no way to know what else may have changed without giving it a go, and modifying the code accordingly. The script does have comments for each section, and also data type examples of which the code was attempting to handle. If someone wants to take the reins, I will try to be helpful, but I am not willing to dedicate my life to it.

Merry Christmas to all my old friends at GameEx!

Edit: If someone were going to tackle this, they should consider using the data in the mame####lx.zip file.

Scan Source 7.1.ahk

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...