Main > Main Forum
VMMaker shows only 1 analog output for 5450 where Calamity Guide says 2?
Duffy:
--- Quote --- To see your sent PMs, click on "My Messages -- Read Your Messages" then above the list of messages click on "Messages -- Sent Items". :cheers:
--- End quote ---
Oh cool, thanks Scott! Cheers man
--- Quote --- Here's an idea. You have multiple controllers. If you look in mame.ini under "CORE INPUT OPTIONS", there is an option to enable multiple keyboards. Try enabling that:
-multikeyboard 1
--- End quote ---
Ok I’ll try that when I get home, thanks again!
PL1:
--- Quote from: Zebidee on July 19, 2024, 05:45:39 am ----multikeyboard 1
--- End quote ---
Actually, that setting can cause the problem that Duffy described.
You shouldn't use this option unless you need to differentiate between two or more keyboard encoders with overlapping keystrokes -- it can cause problems due to the Windows device renumbering issue.
"-multikeyboard 1" will only accept the keystroke from one specific keyboard number.
"-multikeyboard 0" will accept the keystroke from any keyboard.
If you change it from disabled (0) to enabled (1), ESC and TAB will stop working in the game
- Enabled multikeyboard in mame.ini. Launched dkong3 in MAME 0.262. Had to Alt-TAB to exit the game. Disabled multikeyboard in mame.ini. Relaunched MAME. Everything was working again.
If disabling it doesn't fix the problem, you may need to delete or edit the associated .cfg (configuration) file(s) in the "\mame\cfg\" folder.
Worst case, do a fresh reinstall of GroovyMAME.
Scott
Duffy:
--- Quote --- If disabling it doesn't fix the problem, you may need to delete or edit the associated .cfg (configuration) file(s) in the "\mame\cfg\" folder.
--- End quote ---
Multikeyboard was set to 0, I tried both ways but no dice.
I think I figured it out, at least for in launchbox.
In launchbox I was going to tools > manage > emulators, and just editing the application path to groovymame’s mame.exe, which is obviously wrong in retrospect.
Instead I had to add a new emulator, called it groovymame, and set it up normally. Now I can launch mame games through launchbox/groovymame. Importantly, I got a dialogue saying it needed to add a commandline called
-keyboardprovider dinput
Now when I launch a mame game, I can use my keyboard like normal!
I think that commandline parameter was what solved it. I probably won’t be starting games through commandline normally, but out of curiosity, would i need to add that parameter in the syntax somewhere? What would that look like?
Thank you Zebidee and Scott for talking it out with me, it really helped a lot.
PL1:
--- Quote from: Duffy on July 22, 2024, 08:53:15 pm ---I got a dialogue saying it needed to add a commandline called
-keyboardprovider dinput
Now when I launch a mame game, I can use my keyboard like normal!
I think that commandline parameter was what solved it. I probably won’t be starting games through commandline normally, but out of curiosity, would i need to add that parameter in the syntax somewhere? What would that look like?
--- End quote ---
Now that you know the software switch that fixes your issue, pretty sure you can avoid the extra typing/syntax by changing keyboardprovider to "dinput" under "OSD INPUT OPTIONS" in mame.ini as shown below.
--- Quote ---#
# OSD INPUT OPTIONS
#
keyboardprovider dinput
--- End quote ---
You'll also need to make the change in any other .ini files that contain this setting because mame.ini will be overridden by the .ini files that come later in the sequence.
From the MAME manual:
--- Quote ---7.1 Multiple Configuration Files
MAME has a very powerful configuration file system that can allow you to tweak settings on a per-game, per-system,
or even per-monitor type basis, but requires careful thought about how you arrange your configs.
7.1.1 Order of Config Loading
1. The command line is parsed first, and any settings passed that way will take precedence over anything in an INI file.
2. mame.ini (or other platform INI; e.g. mess.ini) is parsed twice. The first pass may change various path
settings, so the second pass is done to see if there is a valid configuration file at that new location (and if so,
change settings using that file).
3. debug.ini if the debugger is enabled. This is an advanced config file, most people won't need to use it or be
concerned by it.
4. Screen orientation INI file (either horizont.ini or vertical.ini). For example Pac-Man has a vertical
screen, so it loads vertical.ini, while Street Fighter Alpha uses a horizontal screen, so it loads horizont.ini.
Systems with no monitors, multiple monitors with different orientations, or monitors connected to slot devices
will usually load horizont.ini.
5. Monitor type INI file (vector.ini for vector monitors, raster.ini for CRT raster monitors, or lcd.ini for
LCD/EL/plasma matrix monitors). Pac-Man and Street Fighter Alpha use raster CRTs, so raster.ini is loaded
here, while Tempest uses a vector monitor, so vector.ini is loaded here.
For systems that have multiple monitor types, such as House Mannequin with its CRT raster monitor and dual
LCD matrix monitors, the INI file relevant to the first monitor is used (raster.ini in this case). Systems
without monitors or with other kinds of monitors will not load an INI file for this step.
6. Driver source file INI file. MAME will attempt to load source/<sourcefile>.ini where <sourcefile> is the
base name of the source code file where the system driver is defined. A system's source file can be found using
mame -listsource <pattern> at the command line.
For instance, Banpresto's Sailor Moon, Atlus's Dodonpachi, and Nihon System's Dangun Feveron all run on
similar hardware and are defined in the cave.cpp source file, so they will all load source/cave.ini at this step.
7. BIOS set INI file (if applicable). For example The Last Soldier uses the Neo-Geo MVS BIOS, so it will load
neogeo.ini. Systems that don't use a BIOS set won't load an INI file for this step.
8. Parent system INI file. For example The Last Soldier is a clone of The Last Blade / Bakumatsu Roman - Gekka
no Kenshi, so it will load lastblad.ini. Parent systems will not load an INI file for this step.
9. System INI file. Using the previous example, The Last Soldier will load lastsold.ini.
--- End quote ---
Scott
Zebidee:
--- Quote from: Duffy on July 22, 2024, 08:53:15 pm ---Now when I launch a mame game, I can use my keyboard like normal!
I think that commandline parameter was what solved it. I probably won’t be starting games through commandline normally, but out of curiosity, would i need to add that parameter in the syntax somewhere? What would that look like?
--- End quote ---
Add it via the mame.ini like Scott suggested. Most mame options/parameters can be set via the INI files. There can be many so it makes sense to simplify.
If you were to launch a game via command line, it could look something like:
--- Quote ---mame dkong3 -keyboardprovider dinput
--- End quote ---
Note that the ".exe" suffix to "mame.exe" can actually be left off as the OS will automatically look for that type of file anyway. There are many shortcuts and aliases like this.
For short help, type:
--- Quote ---mame -help
--- End quote ---
For long help (very long!) type:
--- Quote ---mame -showusage
--- End quote ---
OR just use the alias:
--- Quote ---mame -su
--- End quote ---
Lots of fun.
Command line options can also be easily added to Windows shortcuts. You can use the shortcuts to launch games with custom configurations, easier than opening up a front end, GUI or navigating a CMD window. I do this to launch a few favourite games from the desktop, for testing or play. You can even set key combos to automatically launch the shortcut. If you don't need the shortcut anymore, you can simply delete or modify it without affecting anything.
Just find the mame.exe in file explorer, right-click and "send to desktop". This creates the shortcut. Then find the new shortcut on desktop and right-click on that, choose "Properties". The "Target" is your executable, you can fill out the complete set of command line arguments there, including game name [machine] and any relevant options/parameters.
You won't need the exe's full path if the right directory (Groovymame folder) is specified under "Start in", which it probably is already (set automatically).
For example, my CRT TV is in horizontal (normal) orientation, but I want to see how vertical games will look on it. I might want to play Flying Shark and rotate the screen (to right!) virtually for best performance. So I setup the shortcut's target as:
--- Quote ---mame fshark -ror
--- End quote ---
You might also right-click and rename the shortcut to something like "Flying Shark" or whatever works for your instance.