libretro / mame2000-libretro

2000 version of MAME (0.37b5) for libretro. Compatible with iMAME4All/MAME4Droid/MAME 0.37b5 sets.
37 stars 53 forks source link

Enhancement: Potentially worthy driver backports to MAME 2000 from later versions. #18

Open vaguerant opened 8 years ago

vaguerant commented 8 years ago

Throw this on the back burner somewhere, but I'm going to try to list a few games which I'd like to see backported to MAME 2000 and the versions I think they should be backported from. For reference, MAME 2000 is based on 0.37b5.

Bomber Man (Irem, 1991); romset: bombrman; driver: m90 Bomber Man World (Irem, 1992); romset: bbmanw; driver: m90 Driver from 0.37b9 | MAME 0.37b9 source About: The Bomber Man games are an exceptionally well known franchise. Walk around, bomb stuff. Why this version: These two games were added to MAME in 0.37b8 and had some minor tweaks performed in 0.37b9. Major changes occurred around 0.74 with the introduction of Dynablaster, the World version of Bomber Man, which replaced the Japanese game as parent. Even with the pre-Dynablaster MAME version listed above, there was a Dynablaster bootleg which should be playable if people prefer that version. In MAME 2003 (0.78), these games run 5 or lower frames short of full speed on limited platforms like the New Nintendo 3DS; it's possible further optimization (e.g. to 3DS DSP) could get these running full speed without the need for an older core, but a performance boost from older MAME would benefit other platforms, too.

Cadash (Taito, 1989); romset: cadash; driver: cadash Driver from 0.37b11 | MAME 0.37b11 source About: Cadash is a reasonably well known title from Taito, one of the earliest platform/RPG combos where characters become more powerful through play. Why this version: The game was added to MAME just a couple of betas after 0.37b5, in 0.37b9. As such, it is present in MAME 2003 (0.78), but even then runs slow (generally falling short by 5-10 FPS but sometimes more) on limited hardware such as the New Nintendo 3DS. 0.37b11 added a number of dipswitches and appears to have been the last major update it saw until MAME 0.90.

Teenage Mutant Ninja Turtles: Turtles in Time (Konami, 1991); romset: tmnt2; driver: tmnt Driver from 0.73 | MAME 0.73 source About: Probably the best-known of the Konami beat-'em-ups. My toes, my toes! Why this version: First off, I know 0.73 is a long way away from 0.37b5. I also know that Turtles in Time already runs on 0.37b5. However, this is the point where the game's protection was finally understood and the game was able to run correctly for the first time. While it already runs quite well speed-wise on MAME 2000 (no speed issues at all on New Nintendo 3DS), it has some semi-major graphical issues like Turtles and enemies changing color during certain animations (e.g. knock down a foot clan and they will switch to the purple palette). In MAME 2003, this game is too slow to really be playable. As such, I was hoping it might be possible for just the tweaks which corrected the protection to be backported, rather than the entire driver.

Of course, I recognize that backporting new drivers or even changes within old drivers is a significant effort. That's why I'm trying to limit these suggestions to well-known games introduced close to the release of MAME 2000's source version (hopefully should be somewhat easier to introduce) or games already in MAME 2000 which need fixes (TMNT). If backporting entire cores is off the table, I hope at least the TMNT fix is plausible.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/28084706-enhancement-potentially-worthy-driver-backports-to-mame-2000-from-later-versions?utm_campaign=plugin&utm_content=tracker%2F295463&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F295463&utm_medium=issues&utm_source=github).
vaguerant commented 5 years ago

Leaving a note here in case anybody who's interested in doing this finds it: I attempted to backport M90 and M97 support (for Bomberman and Bomberman World) from 0.37b9 as I suggested here and had mixed results. Here is my commit adding (broken) M90/M97 support: https://github.com/vaguerant/mame2000-libretro/commit/4ae20dde99f0cd92cdb8889a6201a777ced799d2

The games are playable, but graphical and audio issues mean it isn't worth using and/or merging, and I wasn't able to get it into a better state personally with my approximately zero knowledge of classic (or any) MAME source. I did this as an experiment to see if it was possible, and I think somebody with actual experience in MAME backports would definitely be able to patch this up if they were interested.