I was working on code for a pinball machine for Stern back in 2005. I had a memory corruption issue and Stern's crusty old 6809 hardware didn't have anything resembling a real-time debugger that I could use. There was no time or budget to get a 6809 ICE procured and running.
So I loaded up my code in PinMAME and let it run. I was able to watch memory in real time and caught the bug in an afternoon. It would have taken me a week or so doing it by hand.
I recall PinMAME being a fork of MAME, the UI was identical and they borrowed a lot of cores like the 6809 and various common sound boards that video used, like the Williams Yamaha 2151 and Midway DCS AD2105 DSP.
For a while they tried to keep the manufacturers happy by not allowing modified ROMs to run, I got a special build from the developers to let me run anything I wanted. I think those restrictions do not exist anymore.
Sopranos was around the same time, but there were actually two versions of the code. One was in the old 6809 and the other was a test version of their new ARM-based hardware.
I knew Lyman from USENET in the early 90s and then I worked with him at Williams. We started around the same time and got laid off together in '99 when WMS shut us down. Lyman was at my wedding.
I guess I have built over half a dozen MAME cabs. Having kids was a great excuse to build them. All of my daughters kick ass at "Joust" and were born decades after its heyday.
For me, I finally got to enjoy games like "Robotron" that I sucked so bad at I couldn't, at the time, justify spending a quarter on about a minute of game-play.
MAME allowed me to discover games (I guess mainly Japanese ones?, "Guwange" is an example) I had never experienced in the arcade. I had also missed "Metal Slug" series, happy to discover these games in MAME.
With MAME I rediscovered games I had only briefly seen in the arcades before they were gone: "Tail Gunner", "Omega Race".
I also tried games with MAME I would have passed over in the arcade like "Golden Tee Golf". Really enjoy that one (you need a track ball though!).
MAME did sort of ruin "pay-to-continue" games like "1941". But I sort of hate those games now anyway for having a "pay-to-continue" model.
Pay-to-continue is a concession to the reality that an arcade is designed to generate money. The balanced and high-intensity gameplay gets you interested, the continue feature just takes your money. The solution is to never continue! Try for a 1 credit clear.
how hard is it to build a cabinet ? Do you use real CRT ? (I know there are lots of info on the web, but well, a first hand experience is always nice!)
I tried to show some of the cardboard prototypes too. (A good way to start!). They're roughly in order — my woodworking skills improved as well over the 17 or so years the photos span. I can think of at least two more MAME machines I build that I did not (quickly) find photos for....
I'll add, start simple. Don't let the perfect be the enemy of the good. You can go CRT later (on MAME machine #10, ha ha).
Back around 2003, my buddy and I were walking home from our college classes and we saw a 1981 track and field arcade cabinet next to a dumpster. We hauled that thing home in the rain, gutted it and made a MAME cabinet that took quarters for credits and soldered a keyboard up to the controls. We learned alot about keyboard ghosting and were pretty good at soldering by the end of the whole thing. We got so much enjoyment out of that box for years.
I was late getting into computers, and back in '98 just got my first Windows PC. I struggled, but eventually figured out how to get MAME installed and loaded up a long forgotten arcade game I used to play as a kid at my local corner store.
It's hard to describe the sense of wonder I felt when when the ROM check sequence flashed to the title / insert credits screen and I knew it worked. It might sound silly, but few moments in my life have been so eye opening. It was definitely a key factor in me starting my path to becoming a developer.
It was great seeing the ROM check and initial graphics, but for me it were those first bits out of sound out of PacMan that really sealed the deal and made the game come alive.
So impressive what the team has done over these years to preserve retro arcade games, consoles, and computers (now that MESS is part of MAME).
MAME is a great piece of FOSS. When I was learning JAVA in high school, we had to make a program with a GUI component, and I made a front end for MAME implementing the options I used a lot. It was like a pared down MAMEUI.
Anyway, here's to 25 more! (and hopefully, there will be new arcade machines to emulate in 25 years).
The amazing thing about MAME is that it almost doesn't matter if there aren't new machines to emulate, because it so perfectly preserves the past. It really is almost perfected.
(OpenEmu and Retro Virtual Machine are also worth the time; the latter particularly if you have fond memories of the very underrated Amstrad CPC)
I remember reading about MAME many years ago, and I was amazed at how many arcade systems in could emulate. When you consider many arcade systems are one off (or close to one off) designs meant for running a specific game, you get a feeling of how much work people have put into preserving and emulating them.
If any of the MAME devs are reading this, I would like to say thank you for all the amazing work you've done. I started playing with MAME in 1998. Watching how it's progressed has been jaw-dropping. In my opinion, it belongs in the arena a "human achievements." It's not just a technical achievement. Hundreds of people from all over the world cooperate with each other to move the ball forward with every release. I've never been a developer and know nothing about what goes on "on the inside," but I have to believe there has been conflict, politics, and infighting among the various participants over the last quarter century. But the perseverance, tenacity, and dedication shown by everyone who has given selflessly to create MAME is inspiring. These people sure aren't doing it for the money. There's a lot of love there... love for the games, the history, and the nostalgia. And we all benefit from it. I'm so grateful to all of you for what you've done and continue to do.
A couple of anecdotes....
There's been some episode where the development team has made some unpopular choices. Sometimes moving the ball forward on full emulation is at odds with end-users' game-playing enjoyment.
Asteroids was my game as a kid. I dreamed and obsessed about it when I was eight, nine, and ten years old. Asteroids was quite playable on MAME even in its early stages, but only the video was emulated. Asteroids' sound is generated by analog circuitry and emulating it took many years to tackle. In the interim, MAME used samples to play its audio. Enter Derrick Renaud! He fully emulated Asteroids' audio. At first, it wasn't perfect and a lot of people (who have no idea what goes into making MAME possible) were angry that their game didn't sound right anymore. It slowly got better, but there was one thing that kept bothering me. The interval between the "thumps" was a major third instead of a minor second as it was supposed to be. Rather than creating tension, the thumps sounded strangely cheerful. I managed to find the forum where the MAME developers hung out and left a very polite and detailed message about the thumps. I included recordings from an Asteroids cabinet to show how the pitch of the thumps wasn't accurate. Derrick never responded to my message, but it was fixed on the next MAME release. So, THANK YOU Derrick. Asteroids sounds amazing. Now, if only someone made a monitor that even came close to simulating the incredibly bright CRT used in the cabinet, I would be on cloud nine. Maybe some future iteration of HDR will get us there. :-)
A more recent episode was similar... The Votrax SC-01 voice synthesizer chip used in several classic games had never been emulated. Consequently, games like Qbert, Gorf, and Wizard of Wor used samples as well. Someone managed to put a Votrax under a powerful microscope and document its exact functionality. (I just went looking for the photo of it, but couldn't find it.) Again, starting at some MAME revision, any game that used the Votrax chip no longer triggered samples, but used Votrax emulation instead. At first, it really sounded bad. Gorf sounded like it had sucked off of a helium balloon. It was a long time before things improved. I posted a question on reddit's mame subreddit and received an interesting reply from a MAME developer:
A few months later, a new MAME release made some huge improvements to Votrax emulation. And, while not perfect, it sounds really really great. It's particularly important on Qbert, because so many of the strange sounds that the characters make are generated when random phonemes get sent to the Votrax. When Q*bert dies, his expletives are different each time. When you're using samples, it's not really possible to achieve that.
Anyway... enough of my musings. THANK YOU THANK YOU THANK YOU to the whole MAME team. You've put a million smiles on my face and the faces of my friends, co-workers, and my kid. And for that I'm so very grateful.
Everyone is saying No, but that's not strictly true.
GoG has a slew of arcade games for sale, that are essentially emulator+rom combinations. Double Dragon, Metal Slug, Neo Turf Masters, etc are all available for purchase with a good ROM.
There are also licensed miniconsoles and cabinets (Arcade 1Up and others) that are likewise just hardware+emulator+rom combinations, and you can legally extract the roms for your own purposes.
And there's more. I have a sizeable legally-acquired ROM collection, now. Even console games - Genesis games on Steam, PSX games on PSN, etc.
What's not clear though is if you're allowed to extract the ROM to be used in another emulator. While copying the ROM for "backup purposes" is likely legal, any other kind of copying is grey, at least as grey as downloading a ROM for a game you own on physical media.
Unless there is some language in the purchase agreement/terms of service that specifically prohibits extracting the ROM, you are in the clear. I highly doubt such language exists.
But who cares? You purchased the software, you can do whatever you want with it, and going this route is already going above and beyond what most normal people do, which is pirating the ROMs.
The GoG and Steam sources I mentioned don't have any copyright circumvention prevention, at least as far as I could find, and so DMCA provisions against circumventing those digital locks shouldn't apply.
There aren't many and none of the really famous titles is free.
I would imagine that posting links in HN to such content would be verboten. Perhaps it would be acceptable to offer a hint. There used to be a site called Pleasuredome that shut down recently. They were the place to go to obtain any and all ROM / CHD files. I would suspect that if one were to search using the word "Pleasuredome" along with other obvious related key words, one could quite easily find what one was looking for.
However, some games are freeware [0], I guess you don't technically buy those, but they certainly are legal. Some homebrew devs might be selling ROMs this way, too, but you'd have to reach out to the devs. If you want to license individual games, you'll have to figure out who owns them & ask. They likely won't part with it, as these deals aren't really B2C. Plus, you might be competing with Arcade 1 up, whatever they think they can get from selling on services like PSN, etc.
You can get SD cards/USB sticks loaded with ROMs from Ali Express if you want to pay money, there are torrents around that are completely free, if your a techie the there is probably someone in your workplace you can get copies from, etc. Nobody really cares as long as you are not making a profit. China doesn't care period. Nobody is going to start a two ocean war over fifty year old video games.
Capcom over the years has had a ROM set you could buy on and off. Not sure if they still do. Think it was side by side with an arcade controller. I think there is one of their current console releases where there are a bunch of games and it uses MAME as the core to run their games. They are the only one I can think of that has sold ROMs to be used in MAME both loose and bundled. There was a service about 20 years ago claiming they had the ability to sell them but it seemed kind of shady. Also it is not very clear cut on many of them anymore who actually owns the game. Most of it has very clear lineage but not all of it.
A lot of commercial software uses mame under the covers (capcom classics for example). IANAL but if you bought that and were able to extract the roms from it that should be fully legal. Just don’t distribute it.
Can any MAME enthusiasts on here recommend the ideal computer configuration to use in a MAME cabinet? I have an old joystick setup I built many years ago, but the cabinet that went with it is long gone. I had some interest in setting it up again with the screen as a TV set attached to the wall and with the joystick box either attached to the wall or up on legs like a table. Seems like a fun project, but I'm not sure what's computer and OS to use for the job. I'd like to spend a "normal" amount of money on it - maybe under $1000?
It depends quite a bit on what era of machines you want to emulate. Last year I upgraded the PC in my high-end custom MAME cabinet to one of these (https://support.hp.com/us-en/product/hp-prodesk-600-g1-small...) which I purchased on Ebay for around $100. I added a circa 2014-15 Radeon HD3850 I had laying around because it has native analog component output on a VGA connector to drive my 27 inch Wells-Gardner multi-scan arcade CRT (that analog authenticity is sweet perfection). Because that PC happens to be low-profile, I had to hack some metal out of the internal cage to get a full size graphics card to fit but there are tons of similar HP, Dell and Lenovo enterprise desktops being recycled on EBay so just find one that suits your budget and matches whatever stuff you already have sitting unused in your recycled PC parts bin (RAM, HD/SSD, GFX).
One of the bonus joys of emulation is achieving something so cool and crazy fun out of free (or dirt cheap) recycled and thrift-store grade parts. The PC I got on Ebay will emulate virtually any arcade machine of the 80s or 90s. It can also emulate 8 and 16 bit home consoles and even quite a bit of the PS1 and Gamecube libraries.
Our family and friends have so much fun with that MAME cabinet that, frankly, we'd pay for a new top-shelf PC for it but for the games we enjoy, there's no reason to pay for more expensive hardware. Also, be sure to hit the tip jar of whatever open source projects you use.
In addition to countless hours emulating 90s fighters and shooters I missed out on (Capcom CPS and Neo-Geo games particularly), MAME is pretty much the only practical way to experience some of the Tandy computers I remember from my youth -- the TRS-80 Model II and the Tandy 2000 in particular. Examples of actual hardware are becoming much rarer and more dilapidated, not to mention cumbersome.
MAME's TI-99/4A emulation is also damn near spot on.
It's funny to hear things like projects I saw start, turn 25. At that time, essentially nothing in consumer computing was 25, so 25 sounds absolutely ancient, like hearing about a 15,000 year old temple. So hearing about a project I saw start turn 25 is like hearing about a temple I saw the groundbreaking on turn 15,000.
There is the old apocryphal story of how eBay was started with Pez dispensers. But in 1997 when MAME launched, 99% of eBay was CDs of ROMs, and Beanie Babies. eBay gave no fucks back then (people were buying and selling kidneys) and most people were on dial-up, so buying CDs with 1000 ROMs on it was heaven.
Cheers to MAME! A wonderful FOSS, indeed. Fond memories of running it on a hacked XBOX console many moons ago. My Gen Z son was exposed to the beauty of Dig Dug, Burger Time and Joust before he turned 5 :-) with eyes of wonder. This is the way.
I don't care too much about the arcade emulation, but there have been a few times where I wanted to run a microcomputer emulation (the MESS aspect of this project). However, I was unable to figure how to set it up or even what machines are supported. There are myriad red herring MAME sites that are out of date to the point of being misinformation.
I don't know how serious they were being, but a couple of the developers have suggested over the years that "MAME 1.0" represents MAME perfectly emulating all platforms.
The perf is fine for a lot of things. The code on the other hand is kind of 'odd' to follow. It was a C project. #define everywhere to basically create an object like system. They now are moving to C++ in some places they use it to good effect and stripping out that #define system. Other spots are still the same C code from 15 years ago. So now you have a project that is both. So it makes it sort of strange in a few places. They have over the years made decent progress to strip out some of the foot guns that C lets you do. Then on top of that 6 different project leads with differing opinions on how to run the project over the years. They have also smashed together two different 'ROM' systems. One is a static system where everything is burned into the code and the other is a dynamic system using XML. So context burden is higher when trying to change anything. Add to that unless you know their system building a new emu is kind of interesting.
But it is still sort of funny seeing people rocking a .34 version. 'because of performance'. When anything within the last year is probably just as performant and wildly more capable and accurate. If the chart I saw last week is any indicator 241 should have at least a 2-5% speed bump because they removed a C'ism and flipped it over to use a C++ style parameter in some core calls. Most of this goes back to around 110 or so when they flipped over to use C++. Well they also added in a decent regression in speed at that time too. So those two things became conflated in peoples mind that C++ bad. When there was a design issue.
Good place to follow the code and see what is going on. https://github.com/mamedev/mame I would estimate they bash out about a dozen pull requests a day.
25 years of a loose confederation of unpaid developers working on a code base with frequent updates and improvements. If this is the worst that can be said about it, they're doing pretty darn good.
The .3x versions were the last ones before they put in abstraction layers for video and sound, which had a lot of benefits, but adversely impacted performance on low-end hardware of the time. On modern hardware I don't think it is really an issue, particularly for games from the 80s and prior. Raspberry Pi 4 works just fine.
I was working on code for a pinball machine for Stern back in 2005. I had a memory corruption issue and Stern's crusty old 6809 hardware didn't have anything resembling a real-time debugger that I could use. There was no time or budget to get a 6809 ICE procured and running.
So I loaded up my code in PinMAME and let it run. I was able to watch memory in real time and caught the bug in an afternoon. It would have taken me a week or so doing it by hand.
So thank you, MAME.