/r/MAME
MAME is a multi-purpose emulation framework it's purpose is to preserve decades of software history. Over time, MAME (originally stood for Multiple Arcade Machine Emulator) absorbed the sister-project MESS (Multi Emulator Super System), so MAME now documents a wide variety of (mostly vintage) computers, video game consoles and calculators, in addition to the arcade video games that were its initial focus.
This is the (unofficial) subreddit.
MAME is a multi-purpose emulation framework.
MAME’s purpose is to preserve decades of software history. As electronic technology continues to rush forward, MAME prevents this important "vintage" software from being lost and forgotten. This is achieved by documenting the hardware and how it functions. The source code to MAME serves as this documentation. The fact that the software is usable serves primarily to validate the accuracy of the documentation (how else can you prove that you have recreated the hardware faithfully?). Over time, MAME (originally stood for Multiple Arcade Machine Emulator) absorbed the sister-project MESS (Multi Emulator Super System), so MAME now documents a wide variety of (mostly vintage) computers, video game consoles and calculators, in addition to the arcade video games that were its initial focus.
Here are the rules for this subreddit. Read them Now.
/r/HyperSpin - HyperSpin specific discussion.
/r/RetroGamingNetwork - a multireddit for retro gaming!
/r/cade - All things Arcade. All gamers welcome.
/r/arcade - Original CoinOP Arcade specific discussion.
/r/pinball - Pinball specific discussion.
Link to us we link to you!
/r/MAME
So, I managed to make Gunmen Wars to go in-game. You have to turn on all the dipswitches excluding “Service Mode DIP”, “Freeze?”, and “Service Mode”. It'll show the NamCam, but just keep pressing buttons on your controller, and it'll bypass that section eventually. It shows a black square with a red border. You can't see your enemies, but there are arrows pointing to their location so its somewhat playable. I hope this helps.
I am have purchased an Arcade cabinet that has a Raspberry Pi4b 1gb variant, and I am wanting to know which MAME games people would recommend for such a device. I know this is a pretty low-spec cabinet, so I doubt it can play any/many 3D games.
But if there are recommendations for classics I would love to hear them.
Also, for playing single MAME games do they need to be in a non-merged format?
Lastly, for reference here is my cabinet: https://www.gamestop.ca/Arcade/Games/911290/iconic-arcade-cabinet-gamestop-exclusive
Alright guys, I am new to and not great at emulators yet. Here is my question. I am using Launchbox and have the latest full MAME rom set. I use DS4 windows to connect a PS4 controller for use. With Xmen arcade, I want to play as wolverine which is the 3rd player input. When I open the game through Launchbox, it selects the input as player one only which is Cyclops. One time it let me play as player 2 which is Colossus. Hopefully with that we can get to the crux of the question. Can anyone direct me to a resource or explain to me how I can map buttons or select the input number that MAME is reading? For additional context, another game I played was Mortal Kombat 3 and the controls on that were all jacked up. Basically, I'm just looking for knowledge on how to do the controller setup so I can actually start enjoying the games instead of just getting excited to be able to launch them ha ha.
I'm having an issue with setting up an AtariVCS Classic Joystick with MAME, it reads dial position as a constant velocity rather than an actual position. Is there any way to fix this? Thanks in advance.
It seems to be specifically games that use a dial controller instead of a paddle. The controller works as it should with Warlords albeit with a fairly large deadzone in the middle.
EDIT: Tested in Stella with Breakout and Indy 500 with essentially the same result. Breakout works fine, Indy has the same issue as Cameltry in MAME.
I just recently noticed when playing fullscreen games that use the mouse, the orange-ish cursor from the UI appears on-screen. I'm 100% sure this didn't used to be the case, although I don't know what version changed right now.
I can't find any obvious options that would change this behavior (-ui_mouse makes no difference, on or off), nor do I see any bugs or discussion about it. Is anyone else seeing this, or is it something weird in my setup?
I was using xbrz filters with opengl but have read about how bgfx is better and also has brz or hq filters. Looking over the guides I still have no idea how to set that up in the ini and also went through a couple of pages in this subreddit and seems nobody is talking about it.
Is there a particular line I type into the ini to add this? Also does mame support scalefx? Seems like it's the superior filter of that sort of thing from what I've seen.
I know that there are games on MAME that when they work support/require cameras and motion controls (Gunmen Wars, Race On, Mario Kart GP, and the Mocap Games). How are those going to be emulated? Will the webcam emulation be disabled? As for the motion capture would it be your thumb sticks on your controller? Just curious about the future of the emulator?
Anybody have recommendations for driving wheels for MAME games? I’ve looked at a few, but don’t know if I want to spend $250 on one. Are the cheap ones terrible? What is worth it and what features should I care about?
Hi,
So the post says it all. I took a Mame folder that I have the way I like it that runs on an old PC with Windows 7 and I transferred it over to a NUC I recently bought and it runs super slow with echoing sound. Just tried Frogger and Robotron. Any ideas what's going on? I'm going to download a new mame .183 from the website and transfer my stuff into it to see if that does the trick. Like I said, the computer has an i3, 8GB RAM and is running Windows 10. Thanks for any help.
It’s the end of October, which means it must be time for MAME 0.271! It’s been another good month for gambling system emulation. A few Excellent System games are now playable, including Miracle Seven and Fever 13. Several more games from IGS were dumped and emulated. As well as mahjong games, there are a few card games, including several variants of a dou dizhu game. Speaking of IGS, Mahjong Senpu is now fully playable. This game is interesting as it feels like a poor-quality imitation IGS mahjong game, although it runs on completely different hardware and doesn’t appear to rely on stolen game code.
Numerous issues with NEC PC-98 emulation have been fixed, many of them affecting graphics. This has resulted in dozens of software list items being promoted to working. The Research Machines LINK 480Z is now emulated properly. This 8-bit computer from England could boot BASIC from ROM or CP/M from floppy disks or a network file server. We’ve also added support for a somewhat newer system built around one of the oldest integrated CPUs: Dmitry Grinberg’s Linux/4004. This system emulates a MIPS I CPU on an Intel 4004 CPU, allowing Linux to run from an SD Card. Using it is definitely an exercise in patience.
As always, there’s far more in this release than we’ve got time to talk about here. There’s some very visible improvement to Namco System 23 emulation, quite a few new chess computers, more Japanese TV games, some progress on Thomson computer emulation, and lots of additions to the Apple and Sinclair software lists.
You can read about everything that changed this month in the whatsnew.txt file, and the source code and 64-bit Windows binary packages are available on the download page.
I recently started having problems with food fight were whenever i boot it up it says "NVRAM FAILED".
This hasn't started happening until recently, so I'm just wondering if there's something i can do about this.
Does any of you guys know if there's a way to play these two old plug and play games on the computer?
I just bought the Whac A Mole one as my family gave it away some time ago and have the Shrek one, but it's starting to fail on me. I'm starting to get worried I won't be able to revisit this part of my childhood.
I understand I'm not supposed to ask for links to ROMS, so I'm ok with just knowing if they are "backed up" for lack of a better word.
Thank you everyone!
Sorry if this wasn't the right place for this post.
Do I need to have this ROM in my set to run IBM 5100 games? This goes for any of the ROMs that are basically just named after the system that they emulate. I see them in my list on launchbox and I don't know if I can delete them or not.
I'm running the latest build of MAME on a Windows 11 machine and I'm struggling to get the Wiimote to work as a lightgun. There are several youtube tutorials that I've tried to follow, but for some reason the Wiimote pointer just won't bind (all the buttons bind to whatever I want them to though, and the arrow keys on the Wiimote control the cursor/bullseye instead of pointing the Wiimote)
Within Touchmote, using the Outputs on Touch and selecting for the Wiimote Pointer the "Touch Cursor" option, I am able to move the pointer around the screen with no issues. I can still see the pointer while in MAME, but when I load a game and try going into MAME options and setup the Lightgun X and Y, it doesn't recognized any movement of the Wiimote. Some guides on Youtube suggest that for Touchmote, you need to select "Left Stick" from the 360 Controller Output option (and use "Right Stick" for controller 2) for the Wiimote pointer. I've tried this as well, but still can't get the MAME options to recognize the Wiimote X and Y motions. I've also tried "Mouse Cursor" as an output for the Wiimote Pointer and also got nothing.
Within MAME I've made sure that under System Settings and Input Device Options, Lightgun is selected for Lightgun Device Assignment, AD Stick Device Assignment, and Mouse Device Assignment. Additionally, under Advanced Options, Lightgun, Joystick and Mouse are all set to "On" - per the Youtube tutorials (and I've made sure the Joystick and Mouse settings in mame.ini are both set to 1 as well).
When I go to the in-game options and try mapping AD Stick X Analog and AD Stick Y Analog, I still get no response when trying the Wiimote pointer. I can switch things around in Touchmote (i.e Left Stick for the Wiimote pointer, then I bind the "Joy 1 X Axis" and "Joy 1 Y Axis" and the 360 Controller works fine to control the cursor, but nothing from the pointer. So I switch it in Touchmote to Mouse Cursor and go back into MAME options and force "Mouse X" and "Mouse Y" into "AD Stick X Analog" and "AD Stick Y Analog", the mouse controls the bullseye in game, but again, nothing from the Wiimote.
Is there something simple I'm missing? The only other thing I can think of is that I have a generic USB sensing bar (https://www.amazon.com/dp/B08ZL1GHPR?ref=ppx\_yo2ov\_dt\_b\_fed\_asin\_title) instead of the actual Dolphin Bar....could that be the problem? I lean towards no, since it's working fine with the Wiimote and Touchmote.
I'm having trouble finding where I put the files. I have the mb7 but need help with trying to find out where the file goes. Any assistance would be appreciated. Thank you.
If you have MAME running on a computer that doesn’t support G-Sync/Freesync, but you have a modern LCD you can probably get good ‘tearfree’ gaming by using the -waitvsync switch and setting custom refresh rates on the display.
My post (and questions) concerns the ‘best practice’ for doing this. E.g. best performance, lowest latency.
From this post https://www.reddit.com/r/MAME/comments/155halr/comment/jszwo1l/ I can see that the OP sets a custom refresh rate for the LCD display (roughly matching the game refresh rate) and runs MAME with the -waitsync and -syncrefresh switches, but gets ‘small sound stutters’ (I’ll come on to why, possibly, in a minute). It’s possible to fix the sound stutters, apparently, but that involves patching MAME. So that’s ... messy.
Looking at the method used to calculate the ‘modeline’ used to set the custom refresh rate on the LCD I noticed that it’s not as accurate as it could be.
I’ll use a game refresh rate of 60.606061 Hz (E.g. galaxian) and a 1920x1080 display as an example. Using the ‘cvt’ program (as in the post) you’ll get a modeline of:
174.75 1920 2048 2248 2576 1080 1083 1088 1121 -hsync +vsync
If you apply this modeline to your LCD display you’ll actually get a refresh rate of (174.75 * 1000000)/(2576*1121) = 60.51537 Hz rather than the requested rate of 60.606061 Hz.
From the MAME docs: https://docs.mamedev.org/commandline/commandline-all.html
waitvsync: Waits for the refresh period on your computer's monitor to finish before starting to draw video to your screen. If this option is off, MAME will just draw to the screen as a frame is ready, even if in the middle of a refresh cycle. This can cause "tearing" artifacts, where the top portion of the screen is out of sync with the bottom portion.
syncrefresh: Enables speed throttling only to the refresh of your monitor. This means that the system's actual refresh rate is ignored;however, the sound code still attempts to keep up with the system's original refresh rate, so you may encounter sound problems*.*This option is intended mainly for those who have tweaked their video card's settings to provide carefully matched refresh rate options. [My highlight]
So running MAME with these switches would throttle and sync the game output to the display refresh rate (E.g. 60.52 Hz) but the sound would be running at the game’s actual refresh rate (E.g. 60.606061 Hz). Hence the possible sound glitches, I suppose?
As mentioned, you can calculate a more accurate modeline. ‘CVT 1.2 Reduced Blanking’ allows an enhanced pixel clock resolution of 0.001 MHz (vs. 0.25MHz previously). This online calculator https://tomverbeure.github.io/video_timings_calculator can calculate more accurate modelines (CVT-RBv2 column):
E.g. 1920 1080 60.606061:
134.666 1920 1928 1960 2000 1080 1097 1105 1111 +HSync -VSync
If you apply this modeline to your LCD display you’ll get a refresh rate of (134.666 * 1000000)/(2000*1111) = 60.60576 Hz. Closer.
[If you bend the CVT 1.2 rule book a bit, you can get closer still. This modeline gives a refresh rate of 60.6060606 Hz:
136.000 1920 1928 1960 2000 1080 1098 1116 1122 +HSync -VSync
]
Some questions:
(I’m on Linux and run MAME / SDL / X11 / BGFX / Vulkan, if that makes a difference).
I can’t notice any difference using the -waitsync switch and an ‘accurate’ custom refresh rate vs. using -nowaitsync (other than the lack of screen tearing). Will there be any latency difference between the two options (assuming frames are being delivered fast enough with waitvsync)?
If you do set an ‘accurate’ refresh rate on the LCD and use -waitvsync, it is beneficial to also specify -syncrefresh? I’m unsure of the interaction between these two switches.
Is this method effectively the same as running MAME on a computer (with a GPU that supports VRR) with a G-Sync / Freesync monitor?
Would specifying the -lowlatency switch have any effect here?
Would specifying the -nothrottle switch have any effect here? Strange, but I have noticed a (probably placebo) effect of my game inputs being slightly crisper.
Hello. I just set up MAME for my Odin 2 mini and it works pretty well. However, Mace runs at 65% speed or so. Is the 8 gen 2 not enough to run it full speed, or are there settings I might be missing?
The only renderer option is GL and the other 3D fighting games I tried (Tekken Tag, War Gods, DOA, Bloody Roar 2) all run full speed.
Like I have CSPLAYH1 but I have no idea what game it is
Hey folks. I've picked up a machine recently running AtomicFE. It looks like it's version 019. I was trying to sort out the keys as "delete from favorites" wasn't working and now I can't run any games. I've rebooted and remapped the keys and it looks like the player 1 button is mapping correctly, but it just wont load a game anymore. Any suggestions?
I'm using a controller to do casual light gun games and I notice only in MAME the crosshair seems to sort of stick to the middle X and Y axis almost like there's a slight deadzone in those areas, but anywhere inside of the 4 quadrants it's smooth. I don't see this behavior in other emulators like flycast and supermodel so it's not a controller issue. Is there something in the settings I can tweak to get rid of that slight snapping/deadzone?
I have never had any success getting any frontend to work properly, and I have all the ROMs, marquees and SNAPS, but every front end I've tried to set up crashes. I own a licensed copy of Maximus, but it's dead. I have tried Launchbox most recently, but I can't get it to work. I just use the MAME UI screen to pick games. I have an X-Arcade dual and an X-Arcade tankstick and trackball and all my games work properly, up to 4-player using all 4 sticks (Simpsons, TMNT, etc).
I'm not super techie, so I need something dumbed down for me, because I'm obviously a moron who needs help. Using a Windows 10 box with a 2GB AMD Radeon video card, 16 GB RAM and a 10 yo AMD 3-core 3ghz processor with a 32" Toshiba LED on a rotating stand so I can do vertical or horizontal. I don't have a cabinet - it's a bar type setup. What frontend do you recommend? I have tried MAMEWAH, Mala, Hyperspin and emuloader but I can't seem to ever get them configured right. Bonus points if it can incorporate Daphne, Dolphin, PCSX2, Project64 and the like.
Looking for assistance this weekend if anyone has a good source of instructions I can follow to get something to work right.
Hello-
I have a 4 player custom built MAME cabinet that I built 20 years ago. It has a WG D9200 arcade monitor, optimarc, ipac encoders, and and old WinXP PC with an ArcadeVGA AGP video card driving the monitor. I would like to refresh the computer and still utilize the D9200 monitor. This monitor is (was) a great option for MAME because of all the refresh rates it supported. I thought I could just get an updated ArcadeVGA card from Ultimarc, but it looks like they stopped making those long ago. What is the best video card to get that will output the proper refresh rates for my D9200 monitor (VGA input)? Any other changes I should make? My control panel has (4) 6 button player setups with the 4way/8way swappable joysticks that you can switch from the top as well as a spinner and a 3" trackball. I also used to use MameWAH for the frontend because it was easy to control from the cabinet. What are you all using these days? Thanks in advance, excited to get started again!
Hi, I've been learning how to use chdman but it's hard to find info on it, so I have a few questions.
The default options for createcd and createdvd use multiple compression methods: cdlz,cdzl,cdfl for createcd and lzma,zlib,huff,flac for createdvd. I usually replace cdzl for cdzs and lzma for zstd. Is there an advantage to using multiple compression methods as opposed to just using -c cdzs or -c zstd? Keep in mind that my goal is not to achieve the smallest file size possible; decompression speed needs to be good too.
For PS2 games, I don't know if I should be using createcd or createdvd. Logically, since PS2 games are on DVDs, my instincts tell me to use createdvd, but I know lots of people used createcd without any consequences.
I've noticed that if I use createcd and then use the chdman info command on the resulting CHD file, the Data SHA1 value will not be the same as the source file. In the end it seems to not matter because once decompressed the SHA1 value will be correct, but for educational purposes, I'm curious to know why. On the other hand, createdvd does preserve the correct Data SHA1 value.
All my roms are essentially classic arcades and they all work - but how do I only show a list that displays these particular roms? Rather than all roms available to MAME?
The “working” checkbox doesn’t seem to really be the answer
Hi all, I was curious if there is any use for the Mechanical Game MAMEs in the romsets. Such as the slot machine software, SpongeBob ticket game software, etc. I'm intrigued that such a thing exists in these romsets, are they basically just the "software" that allows these mechanical games to run and nothing more?
Has anyone been able to realistically put them to any type of use? Would be curious if so.
sp without vsync i have tearing, and with vsync I cant fast forward. Why cant I have both?