Author
Topic: PiMame- are we finally there? (Read 7011 times)

So I can't stop thinking about using a Pi for some projects, but as a "plug and play" type guy there are always questions that are a little above my head... for instance, I would love to use the Pi build of reassembler's Cannonball software to restore an Outrun cab, but I have no idea how I would interface real driving controls to it.

Likewise, I would love to do a lot of smaller projects, including a cocktail, using Pi once there is more info out there... just watched this video (below) and it gave me hope that there might be step-by-step instructions soon for folks like me- and that the Pi community and BYOAC seem like a good fit. Anybody use PiMame yet? Any thoughts?

I literally just got myself 2 pi's yesterday and have not yet started playing with them. Trying to get mame up on one was one of the things I had considered, however. Do you know of any compiles for it or for linux in general?

I asked recently about using a keyboard encoder and told it should work. If you have can find a perphial that you know works in debian, there is a chance it will work in the PiMame you linked to as that is from the raspberry pi version of debian - Raspbian. Periphials not working out of the box is what has put people off of linux for years.

OTOH you could be "that guy" that builds an optical driving interface with FF for the raspberry pi using a breakout board.

I'm looking forward to reading more project threads. I have a pi and most of what I need to get started. Best of luck.

@Evil, the link he posted has download links for PiMame. The comments says it uses mame 0.109

fwiw, take a look at http://www.raspberrypi.org/archives/3075 - basically a plug-n-play emulation system supporting Mame and others. Also supports SMB (windows shares) so you can upload your games for each supported system, etc. I've done some basic testing with it and it's been solid. No setup required, beyond writing the image to your SD card, and of course copying games over.

fwiw, take a look at http://www.raspberrypi.org/archives/3075 - basically a plug-n-play emulation system supporting Mame and others. Also supports SMB (windows shares) so you can upload your games for each supported system, etc. I've done some basic testing with it and it's been solid. No setup required, beyond writing the image to your SD card, and of course copying games over.

So I can't stop thinking about using a Pi for some projects, but as a "plug and play" type guy there are always questions that are a little above my head... for instance, I would love to use the Pi build of reassembler's Cannonball software to restore an Outrun cab, but I have no idea how I would interface real driving controls to it.

Likewise, I would love to do a lot of smaller projects, including a cocktail, using Pi once there is more info out there... just watched this video (below) and it gave me hope that there might be step-by-step instructions soon for folks like me- and that the Pi community and BYOAC seem like a good fit. Anybody use PiMame yet? Any thoughts?

So if i understand you here... You want to know if the PI can be replacement for a standalone cab that the board died?Have the Pi turn on with the rest of the machine and boot right into the Single rom for that cab? Am I right? If so that would be awesome. It would make for a great way to create replica cabinets.I would love to go buy a MS pac or Galaga Cab for dirt cheap with no mainboard and use a PI as the Gameboard... That would be so fun or to build a replica Galaga/ms. pac cab and use the Pi tot boot right into the game.

So if i understand you here... You want to know if the PI can be replacement for a standalone cab that the board died?Have the Pi turn on with the rest of the machine and boot right into the Single rom for that cab? Am I right? If so that would be awesome. It would make for a great way to create replica cabinets.I would love to go buy a MS pac or Galaga Cab for dirt cheap with no mainboard and use a PI as the Gameboard... That would be so fun or to build a replica Galaga/ms. pac cab and use the Pi tot boot right into the game.

Well, for Outrun someone has actually created a standalone re-creation of it (really incredible, even made some improvements: http://reassembler.blogspot.com/) but MAME would be another option. I guess the big questions for me are:

1. Pi has composite out, and I can find composite-in TVs way easier than LCD monitors or TVs with Component, etc- usually CRTS are less than $15. That means the core of a system for less than $50. So I really want to see how good the composite out really is, and what kind of controls it gives me to adjust for over-scan, etc.

2. Does it have a front end that is modifiable? The aesthetics of menus is a priority for me.

3. Can it boot into a game automatically on power on, transparently? If that is the case, as you mentioned, that could give all sorts of new life for old cabinets. Mame can do it, of course, but hard to build a PC for $35.

I'm not really looking to use Pi to push the limits with fighting games or polygons- but as a cheap "heart" for projects involving classics and simple controls (I love the idea of giving mini-cabinets as gifts). Glad to hear several of you are trying them out. I think it is about time to place an order... I doubt even if it didn't work out for a cab I could find a fun use for a Pi.

Curious as to what games it can handle. VGA output would have been nice too. There are dongles that convert it for cheap, and then there are powered units that do it. I wonder if the dongles actually work?

Cannonball currently runs on an sdl renderer which for the pi is only run in software. Ideally the pi needs hwsurface available in the packaged sdl.

Work now needs to be done to write a hardware accelerated render which 'should' get you 30+ fps. The video I posted merely demonstrates that project would 'run' with only minor ,mods to the compiler flags.

There are a couple of backend options, although at this point in time i not sure which will be best.

This definitely cool for something small, but I still wonder about the economy of taking this route. With the number of low end PC's being landfilled, and the still limited number of games which it can do well with, and other limitations, I'm still finding it difficult to get on board.

I constantly see P4 3+Ghz mini desktop systems on the refurb market, with all of the necessities (except operating system...if you want to use Linux, then it's free) in the $85 range. And that system will be a lot more capable than the pi. I suspect there are plenty of systems with lower specs than that which will perform as well, or better, and can be had for much less. I've seen 1.8 to 2ghz mini desktops go for $35 on the market, and then there are freebies.

It's good to see some progress being made, but am I missing something particularly advantageous about these units being used in a full sized machine, or over stripping out the guts of a mini desktop and putting them in a bartop or cocktail?

...It's good to see some progress being made, but am I missing something particularly advantageous about these units being used in a full sized machine, or over stripping out the guts of a mini desktop and putting them in a bartop or cocktail?

Nope, for me I have no intention of ever using it in a cab it is just the coolness factor. Now for other applications pi makes lots of sense, I have already set up my own vpn server and an owncloud server using it. The low power consumption and size matter for those.

It's good to see some progress being made, but am I missing something particularly advantageous about these units being used in a full sized machine, or over stripping out the guts of a mini desktop and putting them in a bartop or cocktail?

I think at this stage it's more proof-of-concept than anything else. Certainly something like a Pi could be useful in the sense where space is restricted, but for a full-sized cab? No advantages I can see...

For us it was a small form factor/low cost/zero noise item that could be stuck to the back of the TV replacing a fullsized desktop case in our living rooms. Apart from the novelty factor I have no intention of sticking a Pi in my cab. Building the Pi into a custom controller could be advantageous, although I'm sure it'd be better value to purchase and interface with one of the older model smartphones which are more powerful. Pick up one with a dead screen that supports TV out?

The irony of this of course is the fact that my daughters broke the touch screen (2) on both their 7" android tablets shortly after buying the Pi's. One of which is now connected via HDMI to their TV permantley giving them a 1920x1080 android 'smart tv' .... personally I find interfacing that into a cab/controller is a more interesting hack if I get the time. Have to fix the screen in my cab first though.

The mess around factor is all I wanted the Pi for but without a HW accelerated desktop/sdl rasbian feels incredibly sluggish/limted on my Pi. You either do it yourself of wait for something to be compiled with a HW accelerated renderer. Its fine for XBMC if the SD doesn't corrupt.

I've seen 1.8 to 2ghz mini desktops go for $35 on the market, and then there are freebies.

Ditto.

Quote

It's good to see some progress being made, but am I missing something particularly advantageous about these units being used in a full sized machine, or over stripping out the guts of a mini desktop and putting them in a bartop or cocktail?

From what I've seen so far, I estimate 500MHz PC with GeForce 2 class GPU would outperform Pi. It all always comes down to GPU and video drivers. It's the same old story I pointed out when we spoke about GCW Zero. Both teams have better chance of getting full hardware acceleration by porting Android than to write themselves anything of at most 30% compared to what would actually be possible with proper drivers.

Logged

This user is driverman. Permanent probationary status contingent upon following forum rules of decorum. --- saint

Cannonball currently runs on an sdl renderer which for the pi is only run in software. Ideally the pi needs hwsurface available in the packaged sdl.

Work now needs to be done to write a hardware accelerated render which 'should' get you 30+ fps. The video I posted merely demonstrates that project would 'run' with only minor ,mods to the compiler flags.

There are a couple of backend options, although at this point in time i not sure which will be best.

And I guess to be clear my point of this thread isn't whether the Pi is worthwhile-- just if it is cab-ready yet. Sure, I can find or piece together a used PC for a similar cost, but as somewhat of a noob I like the fact that it is a standard... if someone else can get MAME running well on a Pi, and posts "for dummies" level directions that I can follow, then I can get it running, too. No BS about what processor I am running or graphics card or if the old hard drive I am using is going to fail in a week. I love the fact that there is a massive group of rabid programmers developing for the exact same hardware configuration I can order on Element 14, etc. And even though the hardware is standard, it is still a computer, so there is the possibility of, for instance, a customizable front end, unlike a 60-in-1. Also, the big thing for me (again, in concept, I have yet to get hands-on with one) remains the composite out. I can think of all sorts of gaming and visual art-type things I could do with a Pi and an old CRT TV. The $35 price point sure welcomes experimentation.

I agree with Randy here. I don't see the point. It isn't a good mame platform, you have to run an even more archaic mame version than I use just to get full speed with most titles (and I run some OLD mame versions). The "savings" (if any) vs. using a PC don't even add up to a $10 bill, while the functionality is far less than you could ever get with even a decade old PC. This is the same basic crap (underpowered cell phone processor on a gameboard) that most of the cruddy chinese multiboards run. Yep, I have a few of those chinese multiboards in cabs, and I enjoy them somewhat, but my mame cabinet with 8 year old PC runs everything they run and 10 times more and it runs them a lot better.

I can't think of a single application where this would be the best choice or even an competitive choice. Not even a bartop, which indeed has plenty of room for a PC motherboard (in fact a lot of them are PC based). Once you move to any type of full size cabinet the space saving part becomes ridiculous. I can install a PC based solution up in the marquee area of the cabinet while still saving enough room for the lights.

The fact is, PiMame will never "be there" because it costs money and yet is significantly outperformed by end of lifecycle computers people are throwing away on a daily basis.

This definitely cool for something small, but I still wonder about the economy of taking this route. With the number of low end PC's being landfilled, and the still limited number of games which it can do well with, and other limitations, I'm still finding it difficult to get on board.

I constantly see P4 3+Ghz mini desktop systems on the refurb market, with all of the necessities (except operating system...if you want to use Linux, then it's free) in the $85 range. And that system will be a lot more capable than the pi. I suspect there are plenty of systems with lower specs than that which will perform as well, or better, and can be had for much less. I've seen 1.8 to 2ghz mini desktops go for $35 on the market, and then there are freebies.

It's good to see some progress being made, but am I missing something particularly advantageous about these units being used in a full sized machine, or over stripping out the guts of a mini desktop and putting them in a bartop or cocktail?

« Last Edit: February 24, 2013, 12:13:45 am by paigeoliver »

Logged

Acceptance of Zen philosophy is marred slightly by the nagging thought that if all things are interconnected, then all things must be in some way involved with Pauly Shore.

I totally get the old PC argument but have hope for a common, powerful hardware platform to make this hobby more accessible. As much as I want it be, the Pi isn't it. Like ark_ader, I think the xBox + Coinops is the sweet spot for common hardware at the moment but it isn't exactly accessible, especially if you want VGA video.I'll be keeping an eye on the more powerful ARM based Pi cousins running Linux and Android as well as the maturation of Retroarch as a unified emu foundation. The oDroid U2 (1.7ghz Quad core) is getting in the right neighborhood: http://goo.gl/dAu6N . I think we are still a year+ form having price, performance, and software I'm looking for.

The oDroid U2 (1.7ghz Quad core) is getting in the right neighborhood: http://goo.gl/dAu6N . I think we are still a year+ form having price, performance, and software I'm looking for.

For the same price you can get Android handheld. Less powerful than that oDroid but still able to run even N64 and PSX games at full speed. And unlike PC or any of these naked boards you could put it in a pocket and play on the go, or use it as a tablet via touchscreen. This also means such naked Android board, that is without joystick/d-pad and without touchscreen, should cost around $35 as well.

Logged

This user is driverman. Permanent probationary status contingent upon following forum rules of decorum. --- saint

...It's good to see some progress being made, but am I missing something particularly advantageous about these units being used in a full sized machine, or over stripping out the guts of a mini desktop and putting them in a bartop or cocktail?

Nope, for me I have no intention of ever using it in a cab it is just the coolness factor. Now for other applications pi makes lots of sense, I have already set up my own vpn server and an owncloud server using it. The low power consumption and size matter for those.

You should really look at iFolder. When I was researching how to replace dropbox I tried Owncloud and compared to iFolder it's like kids play.

As for the Pi as the primary computer in a cab, it's just not the way you want to go. Another guy and I did a few threads on this and the bottom line is the only way you're going to roll many of the games is OC to 900Mhz and then you're going to blow it out super quick.

The Pi should be used for things like Emulation in the car, where it's super quiet/low power or portable CP's but for full cabinets it shouldn't really enter into the equation.

people have shown what the Pi is capable of, running an ancient version of MAME relatively badly. The limits are now well defined, it's not magically going to improve overnight and you're completely handcuffed with regards what improvements you can make due to the limited capabilities of the MAME from that era if you want to backport anything newer.

taking a pi-based project any further would be sinking a lot of time and money into something for very little reward.

people have shown what the Pi is capable of, running an ancient version of MAME relatively badly. The limits are now well defined, it's not magically going to improve overnight and you're completely handcuffed with regards what improvements you can make due to the limited capabilities of the MAME from that era if you want to backport anything newer.

taking a pi-based project any further would be sinking a lot of time and money into something for very little reward.

Well, I was hoping it had gone further than this thread. Maybe running the Hadron Collider at Cern.

I don't know that "people have shown what the Pi is cable of...." as I haven't seen any results.

people have shown what the Pi is capable of, running an ancient version of MAME relatively badly. The limits are now well defined, it's not magically going to improve overnight and you're completely handcuffed with regards what improvements you can make due to the limited capabilities of the MAME from that era if you want to backport anything newer.

taking a pi-based project any further would be sinking a lot of time and money into something for very little reward.

Logged

Acceptance of Zen philosophy is marred slightly by the nagging thought that if all things are interconnected, then all things must be in some way involved with Pauly Shore.

people have shown what the Pi is capable of, running an ancient version of MAME relatively badly. The limits are now well defined, it's not magically going to improve overnight and you're completely handcuffed with regards what improvements you can make due to the limited capabilities of the MAME from that era if you want to backport anything newer.

taking a pi-based project any further would be sinking a lot of time and money into something for very little reward.

Wow, that was a completely unnecessary response to a perfectly reasonable question Considering the Pi has only been out for 18 months and MAME and the Windows based PC for over 16 years, it would be remiss of anyone to make a blanket statement that it has reached its limits. Not looking for a battle of Pi vs PC or old vs new versions of MAME cause I would get ---my bottom--- handed to me, but how many games and what version of MAME does it need to play or run for it to be deemed a success? If it plays a handfull of classics well, and it is getting support and updates all the time for $35, then it is a win to me...

UFO - It looks like Shea Silverman has a new book out called "Rasberry Pi Gaming" and I also see they compiled PiMAME to work with the Xin-Mo encoder, so looks like there is progress. I picked up a Pi for my brother for his birthday as he said he was bored and needed a project. I think I will convince him to try the MAME route and see for myself.

but that's the problem, it does run a handful of classics, but at 12 year old emulator levels, so not 'well' by any modern standards IMHO.

Maybe 'good enough' for a lot of people, but in many cases the sound and video (colour accuracy etc.) just isn't there, and you have little hope of porting any improvements to such an old version (and doing so in many cases would take performance out of the Pi realm anyway) If you even want something as simple as Save States to skip some of the startup tests your out of luck using such old builds, and it certainly doesn't run new ones well by any account I've seen.

I'd love to see more open platforms, don't get me wrong, but like I said, people investing time and money into this is a waste. The device is great for certain applications but emulation really isn't one of them. It was a giant leap backwards as far as emulation projects go when it was launched and becomes even more of one each passing day.

I think a fair number of people have realised this, and are concentrating their efforts on more capable devices because it honestly isn't very rewarding to code up something only to realise it's not actually going to be able to do anything especially impressive.

*if* somebody was to code dedicated single game emulators with tight per-game optimziations using hand-crafted ARM assembly you might get something worthwhile running, but that's one hell of a lot of effort per-game compared to porting MAME and by the time you've done that, tested that and optmized that we will probably be 3 years down the line with far better machines at the same price-point so few would care and even more would just flame you for not doing the game they cared about.

I saw this thread and was like why did it get resurrected and then was like oh, hmm.

There is nowhere further for the Pi to go from where it was when this Thread was last present. It does a poor job emulating but if you want a 60 in 1 it will fit the bill. The Pi is AWESOME for automation but not too good for emulation.

So for ArcadeControls.com it doesn't really jive. If you want to know if anyone else in the wild has taken the Pi and done kicking/cool things and arcade things like using the GPIO only, go to the Pi homepage and follow their projects blog. Plenty of cool progress there with the PI overall.

Yeah I'm sure the topic will come up again and again because there was a lot of hype surrounding the device and it is 'cheap' which is a factor a lot of people find appealing.

Like you said, great if you want to build some kind of robot or weather station, not so great if you want decent quality emulation.

People have done what they can, there are no magic shortcuts, there's nothing you can do to a port of MAME to give it more than a 20-30% performance boost unless you did something horificially wrong the first time around or want to start rewriting huge parts of the code.

The apathy you see now is mostly (IMHO) because the people doing the ports have kinda realised this, seen what it will and won't do, realised it's not really any better than a device they had 10 years ago and gone 'meh' because they were secretly hoping to be wowed by the results of their work but it didn't happen.

Maybe it's just me, but I don't think development on limited platforms is necessarily a waste of time. In fact, optimizing code for limited platforms can be a greating learning process. And (hopefully) these lessons learned will carryforward to next generations, whether the Pi or something else.

Maybe it's just me, but I don't think development on limited platforms is necessarily a waste of time. In fact, optimizing code for limited platforms can be a greating learning process. And (hopefully) these lessons learned will carryforward to next generations, whether the Pi or something else.

Learning what tho? Most phones you buy these days have more power than a desktop from a couple of years ago; optimizing for really low spec systems is becoming a specialist area with more limited real world applications each passing day.

Finding people to do real emulation work these days is tricky enough, we're seeing more and more who are only interested doing something if there is big money in it and spending years training your skills to write optimized code for a specific low-spec platform / CPU and the quirks of however it's hooked up isn't really one of those things with technology changing so quickly and diminishing returns for your efforts (even if it is rewarding when you do)

The "fastest code" way to emulate anything / optimize an emulator is to not emulate it properly, take shortcuts knowing the games you're targetting don't need specific codepaths, or won't make bad accesses you have to spend extra code safety checking etc... is that a good lesson to be learning in a world demanding *secure* code with all bases covered?

Sadly a lot of the cases where learning such skills would be useful (actual viable commercial platforms) end up being locked out from regular people, although if somebody was to want to learn such skills a hacked up console and some stolen devkits would still be a more relevant area than a Pi... The problem with such skills is that you're effectively starting at 0 with each new platform because techniques that work well with one CPU / platform might not work at all well with another.

Guys like Shea are "probably" laying the emulation support groundwork for future verions of both the Pi and Linux that will certainly be released with more power and memory, a Model C . It might not be the current version of Pi that delivers the goods, but it will come and we will all reap the rewards.

Haze-I bet you and a few of the MAME devs could modify a version of MAME to work nicely with the Pi...just kidding

Maybe it's just me, but I don't think development on limited platforms is necessarily a waste of time. In fact, optimizing code for limited platforms can be a greating learning process. And (hopefully) these lessons learned will carryforward to next generations, whether the Pi or something else.

Learning what tho? Most phones you buy these days have more power than a desktop from a couple of years ago; optimizing for really low spec systems is becoming a specialist area with more limited real world applications each passing day.

Except we aren't talking about $500+ dollar smartphones; we're talking about a $35 computer. Given the success of the Pi, there is clearly demand for such inexpensive systems. And while we will see an increase in power with successive generations, the upper limit of emulation will keep getting raised. Heck, we only now have desktops barely powerful enough to run emulated Blitz at a decent speed.

Quote

The problem with such skills is that you're effectively starting at 0 with each new platform because techniques that work well with one CPU / platform might not work at all well with another.

Guys like Shea are "probably" laying the emulation support groundwork for future verions of both the Pi and Linux that will certainly be released with more power and memory, a Model C . It might not be the current version of Pi that delivers the goods, but it will come and we will all reap the rewards.

Haze-I bet you and a few of the MAME devs could modify a version of MAME to work nicely with the Pi...just kidding

I don't know if there is any point of laying a ground work based on tweaking the code to mame .17 or whatever version from the 233 mhz processor era that pi mame is based on. From a game playing perspective mame didn't get GOOD until the .50s releases, which hit the hardware a lot harder than .17.

Then you have the other Pi problem, it doesn't output video in a format that is really friendly to arcade game emulation.

Logged

Acceptance of Zen philosophy is marred slightly by the nagging thought that if all things are interconnected, then all things must be in some way involved with Pauly Shore.