|
Anyone interested in an up to date Mac port?
#262880 - 08/24/11 11:04 AM
|
|
|
Greetings to all.
I'm going to keep this really simple:
Are there any souls out there interested in an up-to-date Mac port of MAME?
By this, I mean a Cocoa-ized port of MAME. OpenGL, CoreAudio, the works. Sort of like MAME OS X- but, uh, not... I've looked into porting and updating the MAME OS X code extensively, but I ultimately decided it just wasn't worth it- there's a lot of proprietary code flying around in there (including a bunch of IB plugins, and surprise, Xcode 4 doesn't do IB plugins all that well) and some design decisions I don't personally agree with.
So I'm thinking of starting my own project to re-port MAME back to Mac OS X.
Initially, it will just basically be an Xcode 4 project designed to build MAME (no makefiles!) into a convenient *.app bundle that can be drag-and-drop installed on any 64-bit Intel Macintosh. This would include SDL.framework and some fixes to automatically assume that CWD is the directory for which "MAME.app" would reside in, so you can just double-click on it without having to run Terminal.app first.
Then, eventually, Sparkle would likely be added to keep things up to date as I keep everything up to sync on my end with Mamedev.
And finally, I'm thinking about building a totally custom Cocoa user interface (something clean and simple- presumably with the smarts to verify ROM files and keep them organized nicely), dumping SDL in favour for OS X's native OpenGL API(s), Core Audio for sound, and HID compatibility via IOKit. This would, ultimately, come much much later.
But the first step is an Xcode 4 project for 0.143u3, and go from there. Before anyone says anything- yes, I know Xcode blows chunks. And yes, I understand MAME's build system rather intimately, having spent hours digging around in there already (so I'm well aware how things like filestr and makelist and make68k/tmsmake are dynamically generating files that are brought back into the source code during compile).
So I guess the point of this post is to essentially gauge the interest in another MAME for OS X port. Raise your hand if you're interested, or something- because I'm not very apt to invest the metric truckload of time this will inevitably suck up over the coming months if nobody is interested (I know people still occasionally complain about MAME OS X being so bloody old- so there's a few of you out there).
-CMPX
Edited by CMPXCHG8B (08/24/11 11:05 AM)
|
|
|
R. Belmont |
Cuckoo for IGAvania
|
|
|
Reged: 09/21/03
|
Posts: 9716
|
Loc: ECV-197 The Orville
|
|
Send PM
|
|
|
Re: Anyone interested in an up to date Mac port?
[Re: CMPXCHG8B]
#262979 - 08/25/11 05:53 PM
|
|
|
> Are there any souls out there interested in an up-to-date Mac port of MAME?
Wow, my evangelism sucks more than I know.
The current MAME source builds out of the box on the Mac (PowerPC and Intel) with OpenGL support (I maintain that support). I would recommend you channel your efforts towards a Mac-native GUI frontend rather than an integrated-with-MAME application, as those have a long and repetitive history of failure (even MAMEUI/MAME32 for Windows is dead after a long period of being a zombie, and you know already what happened to MAME OS X).
|
|
|
Sune |
Connected
|
|
|
Reged: 09/21/03
|
Posts: 5648
|
Loc: Lagoa Santa, Brasil
|
|
Send PM
|
|
|
|
I have to agree with RB...and I have a suggestion.
The OS X port of M+GUI was an awesome MAME front end while it was under active development - however, since MAME 0.140, once it's done pulling the list of supported games from the mame executable, it crashes:
Code:
Process: mamepgui [478] Path: /Users/Sune/Play/MAME/mamepgui.app/Contents/MacOS/mamepgui Identifier: com.yourcompany.mamepgui Version: ??? (???) Code Type: X86 (Native) Parent Process: launchd [189]
Date/Time: 2011-08-30 21:08:31.930 -0300 OS Version: Mac OS X 10.6.8 (10K549) Report Version: 6
Interval Since Last Report: 447235 sec Crashes Since Last Report: 7 Per-App Interval Since Last Report: 91 sec Per-App Crashes Since Last Report: 1 Anonymous UUID: 6A1F7580-5FCA-4325-8E8E-A8F3CEB4DF38
Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000061745320 Crashed Thread: Unknown
Backtrace not available
Unknown thread crashed with X86 Thread State (32-bit): eax: 0x61745320 ebx: 0x00068011 ecx: 0x0f4441f4 edx: 0x0f4441e0 edi: 0x0f4441f4 esi: 0x00880578 ebp: 0xbfffe3c8 esp: 0xbfffe3b0 ss: 0x00000023 efl: 0x00010282 eip: 0x0063ef44 cs: 0x0000001b ds: 0x00000023 es: 0x00000023 fs: 0x00000000 gs: 0x0000000f cr2: 0x61745320
Binary images description not available
It's still possible to get it to start. To use M+GUI with the latest MAME I have to first delete ~/.mamepgui (a hidden folder containing the gamelist cache and M+GUI configuration file). Then move mame.ini out of the mame folder for the first launch, otherwise M+GUI crashes..quit, then put it back in, relaunch...and then comes the most boring part, I have to configure M+GUI from the ground up all over again. From then on, until I update MAME, it works perfectly.
Additionally, M+GUI is not as Apple-GUI-guidelines-compliant as I guess most Mac users would like it to be. For example there are no "quit" and "hide" in the drop down menus and command-q and command-h don't work. But apart from those and a few other (very minor, mostly cosmetic) issues, M+GUI is excellent. Unfortunately nobody works on the OS X port of M+GUI anymore. Maybe you would be interested in improving on it?
Source code: http://mameicons.free.fr/mame32p/download.htm (scroll down to "Experimental Projects") Forum: http://www.mameworld.info/ubbthreads/pos...p;view=expanded
Procyon discovered why M+GUI crashes if you don't move mame.ini: http://www.mameworld.info/ubbthreads/sho...part=1&vc=1
S
[ATTACHED IMAGE - CLICK FOR FULL SIZE]
|
|
|
Stiletto |
They're always after me Lucky ROMS!
|
|
|
Reged: 03/07/04
|
Posts: 6472
|
|
|
Send PM
|
|
|
Re: Anyone interested in an up to date Mac port?
[Re: Sune]
#263490 - 08/31/11 07:25 AM
|
|
|
Thou shalt not update one port of M+GUI without updating them all.
Thus decrees Stiletto.
That is all.
- Stiletto
|
|
|
|