so.. I guess (and I might convert this into a full blog post at some point) I should share some of what I hope to see.
First of all, for many home systems we need far tighter control of the emulated system, things like waitstates, ability to stall a CPU until data is ready, knowing the exact execution order of things in MAME, right now, especially with pluggable devices it's not really clear in what order things will be executed etc.
If we want to emulate CPUs acting as ROM emulators (the Atari 2600 Harmony cart for example) as actual CPUS, properly, then we need something like that (it will be slow, basically perfect syncing of a very fast ARM) but I'd like to see it. That's an extreme, we also need it for things like the ZX Spectrum if we want to aim for anywhere near decent compatibility, it might amaze you when there are so many Spectrum emulators around but those were built from the ground up with such considerations, MAME was not, and we're seeing it increasingly needed.
I'd also like to see a way to untie the OSD updates from the emulation updates, right now they're heavily tied together, if a game isn't hitting 100% speed the interface also runs slow, and with increasingly complex emulation targets this makes things difficult. Similar issues also mean that we can't have games with multiple screens where the screens run at different refresh rates (and therefore have their own vblanks at different times) don't work properly, I've had to hack around that to get Race Drivin' Panorama running, because the side screens run at entirely different resolutions and refresh rates to the main screen.
Progress on the fruit machines would be good to see too. A lot of the existing standalone emulators are Windows specific, this means that MAME has a huge potential userbase for these things on non-windows platforms if we start to make progress, and many of them are ideal for touch screen operation (tablets etc.) as we can map physical buttons on the machine to the emulation using layout files etc. In order to survive and thrive MAME needs to reach out to audiences like this, give possibilities to users where they didn't exist before. Some of this will of course need a better / more friendly artwork system, and work putting in towards alt targets such as Android.
Driver-wise, there are a couple of specific things that still bug me.
The Sega protection used by Decathlete and Dead or Alive (although not for much in the latter case, just a string check) - this is one of the few (only?) Sega compression (and maybe encryption) chips we haven't figured out yet, it's something Huffman based, it even uploads nice ordered dictionary tables based on how frequent each byte of data is, but I haven't managed to figure out the scheme. Of course the ST-V emulation REALLY needs a rewrite (even with correct GFX Decathlete would be too slow to play) and the Model 2 isn't much better, but having the protection out of the way would be good.
Gunpey is similar to the above, a compression scheme we don't understand.
Cool Riders audio, considering the amount of work the rest of the driver was it's a shame the audio has remained so badly emulated.
Gaelco Snowboard Championship - this doesn't use the Dallas, but instead has an encryption device, this is pretty much next on my todo list, Charles has picked up a PCB and I'm going to work with him on getting the needed data, should be something like the encryption used on Squash, which we cracked.
PGM titles, Puzzle Star and Photo Y2k2 still need attention, trojans, attempts to extract internal ROMs etc. I need to revisit them at some point, Puzzle Star didn't like any of my trojan attempts, seems everything is bounds checked, so might end up just needing a good simulation. Photo Y2k2 I haven't probed yet.
ARM / I86 / SH4 recompilers. Not sure how much they will actually help (or if infact they'll end up hindering things because of some of the inherent inaccuracies a recompiler brings) but if we are going to make headway with a number of systems we'll need these.
Documentation / emulation of a number of mobile phones etc. Again we're not really covering this area well, things like the nGage are viable emulation targets (actually emulating the system, not just running hacked game files) unfortunately real documentation and bios roms for many of these are VERY rare, often it's only possible to find update files, and the situation for games is worse, often just loose files. There are a number of toys etc. I'd group in here, I started an ArCompact core for the Leapster a year or two ago, but ended up sidetracked when some stuff didn't make sense, I'd like to see that continued.
Power Drift Link version, Shoutime dumped it, but it's been a pain to get running, I think it might need 2 units emulated, although before that we need to make sense of the network Z80, and what it's trying to do / what the main 68k expects it to do. I'm not really interested in it for the Link capabilities, but because it's a unique version of the game with modified courses, something of a hidden secret.
Improvements to the Mega System 32 emulation, F1 Super Battle also, but that's going to take somebody figuring out the extra maths hardware and simulating it. For the base MS32 our priorities are all over the place, many palette effects don't work, it's left me stumped every time I've looked at it tho so I'm not optimistic.
The Hyper Neogeo has also been slow to make progress on, I'd like to see more people involved in improving it.
The usual MCU decaps / Taito C-Chip etc. would be good, but I'm not optimsitic on those at all, it's entirely out of my hands.
Obviously accuracy improvements to all the staple systems we emulate are welcome, would be nice to have NES and Gameboy+clones without the jittery scanline problems we have now due to timing issues, full coverage of mappers etc. and emulation of the clone machines that enhanced the hardware.
A community supporting MAME rather than working against it would also be brilliant, maybe community is the wrong word (for there are communities that do support MAME) but I'm seeing more and more people trying to take advantage of the situation we find ourselves in, realising that they can charge stupid amounts for PCBs and pricing us out of the market, or withholding information because certain members of the team have acted like asses at one point or another. We're going to end up looking back on these years as a sad time for the preservation effort if people continue to go down this path of favouring personal fortune over helping out the project; it used to only be a problem with certain groups (NeoGeo collectors etc.) but the mentality is spreading.
There are a couple of other odd drivers that have remained problematic for years, things like Beauty Block, Mazer Blazer, I did an article a year or two back looking at some of then, and while to be honest, even once emulated I'll probably never give them another look, it would be good to finally be able to say 'case closed' on them.
In terms of things I'd like to see show up? More Deco Cassettes, anything else where time is really running out for them, some of the stuff Shoutime has picked up, A decap of the Bubble System MCU so we can many program a custom one and dump the bubble memory properly, as right now even if we were to emulate it the whole thing would be pretty much HLE just copying game data into RAM rather than any attempt to emulate the magnetic memory system and the MCU that controls it. I strongly suspect some of these are lost causes at this point tho.
Project-wise, if we could get the re-licensing fully sorted out that would be handy, we might be able to offer MAME as a viable alternative to the dogshit certain companies are pumping out, we're a much more mature project now, so being in a position where we can license out our code makes a lot more sense than it did 10 years ago when MAME was seen as more of a toy.