![]() ![]() Now, to test, I run MAME again, this time telling it I want to use my custom config file: mame0226-64bit$. That “” tag is what tells MAME that “I always want my Logitech controller to be Joystick 1 in MAME.” So inside my “ctrlr/thebitmaster.cfg” file I put this: So the reason we put our controller overrides into a separate file in the “ctrlr” directory is so that they don’t get magically overwritten when we change controls inside MAME. Also, the “blstroid.cfg” file will be COMPLETELY OVERWRITTEN each time we make changes to the controls while MAME is running. THIS FILE IS LOADED *AFTER* our “bitmaster.cfg” and will OVERRIDE ANY CONFLICTING SETTINGS. That’s documented here: The most important thing to keep in mind right now is that MAME will create a config file for each game, in this case “blstroid.cfg” inside the “cfg” directory. It’s worth noting that MAME loads a bunch of files for config, and order is important. I will specify when I run MAME that I want it to load this config file when I run it on the command line later. You can use whatever editor you want, just make sure it ends with. To make this happen, I created my own bitmaster.cfg file in the “ctrlr” directory inside MAME. Let’s say I want this device to always be JOYCODE_1 inside MAME. In the middle of all that output is this: Joystick: Start initialization I’m running MAME from the command line, and mame0226-64bit$. This outputs a lot of debug info onto the screen, part of which tells me which ID MAME is getting for my Logitech. I’ll cover the Logitech first because it’s simpler.Īfter plugging the controllers in, I ran MAME with the -v option. In my case I have a Sony Dualshock 3 controller and a Logitech RumblePad 2 USB controller. The next trick is to plug in the controllers you want to use. Once I installed MAME, I put my magically legally acquired Blasteroids rom, “blstroid.zip” into the “roms” directory. I was happy to find a pre-compiled binary that had support for stable controller IDs. I also tried hand-compiling MAME using XCode, but naturally ran into obscure compiling errors. I had previously tried the Macports version of MAME, but it was too early to support stable controllers. I wanted to play Blasteroids on MAME 0.226 for Mac, which I downloaded from here: I’m running OS X Catalina 10.15.7. There are a few specifics on Mac that it took me a long time to piece together, so I’m writing this in the hope that I can save others time and searching. There was a solution added to solve this problem and the official documentation for it is here: To simplify, every time you add or remove a new USB device or reboot your system, which controller MAME thinks is JOYCODE_1 and which is JOYCODE_2 can change, at which point all your hard work nitpiggling your controls to be *JUST RIGHT* can change and nothing works anymore. The issue is that MAME gets to controllers via the SDL2 library, and that library matches your actual controller to MAME’s internal controllers by and internal OS value that can change when things are plugged in, unplugged, or the system is rebooted. This was true even though it was possible to save all those controls into files to load later. It seemed like every time you ran it, it would forget which controller was which, and all that effort you had put into mapping your controls would go down the toilet. It’s amazing, but in the past it had one big problem for Mac users. Multiple Arcade Machine Emulator lets you play old arcade games on your PC. I finally solved the mystery of how to play games with MAME on Mac without the controllers getting scrambled!
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |