I’m interested in what would be the recommended version of MAME to port. I’m especially interested in targeting low memory/CPU platforms (Android, consoles etc) so the latest versions won’t do. I’ve seen 0.78 mentioned and have managed to get it to run, but would prefer not to put too much work into it if another version would be more suited.
0.72 up to 0.80 is a very good fit for PS3/360/Wii - I was initially supposed to be working on a MAME 0.72 port but it has gone through at least one year of on/off development where nothing much ever happened and it never really got anywhere.
Would be great if you could kickstart this effort, and if you have something done (such as MAME 0.78 that you mention here), definitely upload it to a repository somewhere - I for one am very interested. I could put in the console compatibility then.
Great work that you’ve put in over the past few weeks BTW - I don’t know if I can speak for maister, but I for one am very excited that people are finally taking to the idea and that other authors are now doing their own ports.
Why not two versions? One for mobile or PS3/360/Wii platforms and then a mainline version where you could piggyback off the work that was done here: https://github.com/bji/libmame & https://github.com/bji/libretromame
For a more modern version (and I stress, anything above MAME 0.72/0.80 will make anything more recent than late '80s games basically unplayable on any cellphone/mobile/handheld/tablet/game console, period - so the only ‘use case’ for a modern MAME port will be PCs, notebooks and the like) - sure, look at the half-complete libretromame version, but I’d say it would be best to do without his wrapper library for performance reasons - bridge code (which is basically what libretromame is at the moment) to tie two abstractions together is hardly what I consider ideal and, honestly, at this point I don’t really see the need for a ‘libmame’-specific library - just seems like API showboating just for the sake of it - a straight libretro port would be the superior option here.
The fact he didn’t get anything done on libretro I believe tends to be rooted in the fact he tried to shoehorn his ‘libmame’ code into libretro 1:1 - no offense meant, but I think it would have been done by now if he just dropped his MAME wrapper library stuff and did a straight-to-libretro port.
meancoot, I should clarify:
The libmame/libretromame ports are not finished and it may indeed be useful to use these as a guide for doing a straight port to libretro since the author attempted to make a library for MAME functions.
Having a modern libretro MAME port for PC’s definitely has its advantages too, like excellent shader support in RetroArch just being one of them. Currently, all frontends for MAME on any platform are pretty terrible.
Maybe with a modern port we can attempt (hah) to get it merged upstream as well.