David Haywood's Homepage
MAME work and other stuff

Emulation Status

May 31, 2012 Haze Categories: General News. 167 Comments on Emulation Status

Right, I wanted to do a refresher on tasks in MAME / MESS in need of attention so that people were mostly informed / updated on the current state of various drivers and what needs doing to them.

However, I’m going to start off with the reverse approach. Use the comments to ask me about the status of things instead, and I’ll try my best to explain where the current issue lie. Please read any existing comments first because I *will* delete duplicates and off-topic material without warning.

(I make no promises to work on anything mentioned, this is NOT a ‘what should I work on post’ it is simply an experiment to spread knowledge and gauge interest because it isn’t always obvious to people who haven’t worked on the code what the issues are)

Go to article.. »

QMC2 for UME

May 24, 2012 Haze Categories: General News. 44 Comments on QMC2 for UME

RenĂ© (QMC2 Author) was kind enough to post 2 test builds of the QMC2 frontend which have full support for the UME build posted the other day. These links were posted in the comments section of the previous article, so I’ve copy+pasted them here.

Installer: http://qmc2.arcadehits.net/Win32/qmc2-win32-0.37-SVN-r3937.exe
Archive: http://qmc2.arcadehits.net/Win32/qmc2-win32-0.37-SVN-r3937.7z (you’ll have to right-click ‘save as’ on this one)

Installer: http://qmc2.arcadehits.net/Win32/qmc2-win32-0.37-SVN-r3927.exe
Archive: http://qmc2.arcadehits.net/Win32/qmc2-win32-0.37-SVN-r3927.7z (you’ll have to right-click ‘save as’ on this one)

QMC2 is the recommended frontend for MAME/MESS/UME, and has an emphasis on ensuring the full functionality of the emulators is easy to use rather than having flashy graphics and the like.

I don’t use a frontend myself, because I still prefer to operate / develop the project from the Commandline, but for those of you who do want a Frontend it’s a good choice, and doesn’t have the stability issues which plague recent MAMEUI/MESSUI builds, although I do just think of “Queens Medical Centre” whenever somebody mentions it because that’s what most people around here are talking about when they say QMC ;-)

Go to article.. »

Praise Where Praise is Due

May 24, 2012 Haze Categories: General News. 3 Comments on Praise Where Praise is Due

A lot of people say I can be overly critical of Mamedev and some of the ways they go about things these days, and while personally I feel any criticism is warranted it is true I often have more negative things to say than positive.

However, I’ve always tried to highlight in equal measure times when the development process works well, times when really impressive work has been done and show examples of where the way things are being done really helps people.

Recently ‘hap’ has stepped up to the mark and has been doing a lot of work on smaller less well known / less popular systems which is something I’ve always seen as vital to the progress of MAME because it shows a genuine interest in the emulation process. If you’re following the GIT Mirror, which I’ve pointed out before is an invaluable resources, you’ll also see he’s adopted a development pattern which is one I’ve always strongly encouraged, that being to submit small amounts of progress on a regular basis.

Some argue that regular submissions clog up the changelog, but in reality they have one major advantage, it allows people to follow Mame development, and better understand Mame development by seeing how a driver progresses from a non-working state to something which is actually functional.

While the Initial submission put in by Kale after a couple of days of private work did have a lot already done compared to many skeleton drivers it didn’t work, it just crashed and reset after a few seconds.

Subsequently there were a couple of cleanup submissions as well as Input Fixes (so that it could be coined up and started), ROM Banking Fixes (to stop it crashing), Layer Enable Fixes (so that the playfield vanishes when the title / highscore are displaed), and Preliminary Colour RAM Hookup (as a first attempt to fix the colours so that the text layer wasn’t just monochrome)

This is much better than a single opaque submission because people can learn from it, they get a better understanding of how decisions have been made, the order in which progress has been made, and also the insight that driver development really is broken into several simple steps, not a brick-wall process nobody could hope to achieve.

When I was doing this there was no public mirror, but I like to think the devs I invited to the team at the time were following and learning from it back then too, and likewise that there is still enough public interest for people to actually be following the GIT and thinking ‘I could do that too’

So, as I was saying, I’m glad to see ‘hap’ adopting this approach because I think it only serves to benefit the project in the long run. Furthermore it sets a good example, because the very best devs are the ones who don’t stick to just a single platform which interests them, but instead put in work where it’s needed and the team absolutely needs more like that :-)

The game, if you were wondering is a nice little 8-bit video pinball game called Flipper Jack, rather rare.

Go to article.. »

Descended From A Clown?

May 24, 2012 Haze Categories: General News. 25 Comments on Descended From A Clown?

I’m going to write this and post bits in real-time, keep having ideas for something like this, but never finding time to lump them all together

Boulderdash, some say it’s a genre in it’s own right, something completely original which sprung out of nowhere, but is it?

Both Dig Dug, and especially Mr. Do offer almost exactly the same digging tunnels experience, and the same basic boulder falling / crushing mechanics, right down to the boulders only falling once you move away from directly underneath them.

While the gameplay is Dig Dug has different objectives Mr Do. even sees the primary goal as collecting a number of items in the level in order to clear it.

Then you’ve only got to look at something like The Pit, which came out before even either of those, has the digging mechanic, boulders, and even has you picking up diamonds as well as the maze-like structure and ‘which is the safest route’ puzzle mechanic a good 2 years before Boulder Dash surfaced.

So, hardly an original game really is it? It’s just a combination of existing elements, a natural progression onto a larger scrolling playfield, and some further tweaks to the game rules (falling collectibles, rocks which stack up instead of just breaking)

That said, I like Boulder Dash, and when I look at the Arcade conversions of it I can’t help but feel they leave a lot to be desired.

First up you have the Max-a-flex version. This is the original Boulder Dash game by First Star Software, the Atari 800 version to be precise. The problem is it’s *too* much the original game. It hasn’t been adapted for arcade use at all, it merely has a coin based timer bolted on which doesn’t even have a proper display connected to it. It’s not a real arcade game at all, just a lazy port which cripples a perfectly good version of the game into being time-based rather than skill based, because no amount of playing skill can stop a fixed timer from expiring.

Then you have the two Data East versions. The first was released on the obscure Deco Cassette System, it’s painfully slow, has laggy controls, very ordinary graphics, and poor scrolling compared to the Max-a-flex version. Overall it’s just not a great deal of fun to play. It’s a real arcade game at least, but not a very good one, especially not for 1985.

The 2nd Data East version was released 5 years later and is the only proper 16-bit arcade version of Boulderdash. The game looks a lot better, but again it just feels rushed, for lack of a better word. There’s a lot going on with the graphics, a fake 3d look to the blocks, you even have a map in the corner, but then there are odd choices too, like the scrolling clouds in the background, what sense does that make? Also things like the scoring system haven’t had any thought put into them at all, the ‘high score’ table actually just shows the scores of the last couple of people to play the game, it isn’t an actual high score table at all! It’s not the *worst* version I’ve played, but I really don’t like the mazes (too many small, pointless levels and ones which just seem closer to a random spray of objects) and the graphical modernizations do nothing for me at all. It’s fairly fast, and has a good variety of enemies, although things like the fades are badly programmed and look ugly even on real hardware (again pointing at it being rather rushed) It’s just one of those games you’re left thinking could have been a LOT better.

Then we’re left with the Kyle Hodgetts efforts; Diamond Run, Dangerous Dungeons (plus the bootlegs Toffy and Super Toffy) and the unfinished Diggerman. Kyle is generally known for his god-awful conversions of other games, his god-awful redemption games, and a couple of other unspeakable titles, but it looks like he noticed the same thing, a lack of good arcade verisons of Boulderdash.

His first effort is Diamond Run from 1989, a conversion of Ghosts and Goblins, which retains the G&G music giving for a rather odd sounding Boulderdash clone. The game is slow, and ugly but throws in some nice ideas from the very first level, ultimately it just becomes too tedious to play tho.

Dangerous Dungeons was the follow-up, this time a Double Dragon conversion. Released in 1992 it’s actually the most recent of the released Boulderdash games (if you don’t count the Korean hacks of it) The graphics have been touched up from Diamond Run and the gameplay is a lot faster, and while it is still very much an 8-bit game with 8-bit graphics it does play faster this time around, although it’s not perfect. Like Diamond Run it has various elements not present in the original game, you start with some sticks of dynamite you can place to blow things up bomberman style, and there are encased diamonds which must be hit by a rock before they can be collected. The bootleg Toffy is almost identical with a changed title screen, while Super Toffy reworks the graphics again and adds adult cutscenes! Of all the Boulderdash arcade games this is probably the one I enjoy the most, but again it’s a shame it’s so slow, and unpolished looking, especially for a 1992 game but the Double Dragon hardware was rather awful, just look how slow the original game is!

The final KH game is Diggerman, although it’s generally considered unfinished, and unreleased despite widespread availability. As a result of this you’ll reach levels which can’t be completed fairly quickly. Again it builds on Dangerous Dungeons, offering basically a cleaned up, faster version of the same game. The was based on the NeoGeo platform, and uses Face’s Gururin as a base which is no doubt why you main character is taken straight from that. It doesn’t really feel like a 16-bit game, and considering it was scheduled for release around 2000 it looks even more dated for period than many of the other efforts.

So despite the early roots I don’t really think the ‘Boulder Dash’ style of game has ever been well represented in the arcades beyond those initial incarnations of Dig Dug and Mr. Do which are both timeless classics. Understandably having to update an entire full level of boulders and diamonds falling everywhere is a significant amount more strain on an 8-bit system than knowing you’re only ever likely to have one apple / boulder falling at a time but even basic things like the presentation values have been sorely lacking.

For the KH stuff that’s understandable, they’re effectively indie games in the arcade, at a time when arcades were big-budget but the Data East stuff is a real shame and a missed opportunity to create something really special.

The most surprising part is how huge both games were on home platforms; Boulder Dash was ported all over the place, the Spectrum had several official versions, a level editor, and numerous other packs available for example and the game was a staple ‘must own’ game for most 8-bit computers, as well as being available on 16-bit machines such as the Amiga and Atari ST.

The games also had huge communities around them, with many unofficial versions springing up. My personal favourite on the Spectrum was one called ‘Earth Shaker’ which started life as a game sent in by a magazine reader, then ended up on one of the Covertapes. It’s apparently also had an XBOX 360 release in 2010, although I’m yet to try it because I don’t really like buying non-physical games and it’s digital only. Earth Shaker was fun because it threw many additional elements into the mix, and compared to many Speccy clones of Boulderdash ran remarkably well, looked good, and even had decent sound effects / music. Levels not only had your usual dirt/rock combinations but also Bubbles, Fire and many others which gave the game great variety, it was also a real challenge like all proper Boulderdash games!

Rockford can be considered the official sequel to the game, and was released on many platforms, including the Spectrum which was a very playable port, capturing a good sense of speed, it supposedly had an arcade release, but that’s never surfaced and I don’t hold any hope of it being good quality because it was meant to be on the Amiga derived Arcadia system, which is another of those which cripples your game by time, not skill (and worse still, the maximum allowed playtime is set by the operator on those games)

Speaking of the Amiga you ended up with PD libraries with sections dedicated to custom maps for the game ‘Emerald Mine’, and while that wasn’t my favourite Boulderdash game on the Amiga (I always preferred Balder’s Grove) it shows again that there were a huge number of fans of the game.

For some reason the game never made an appearance on popular consoles like the Megadrive, and while it did appear on the NES it seems like another wasted opportunity to produce a high quality 16-bit version of the game.

Recently there have been more versions and more ports of the official game than ever, so at least things are making sense now, although the lack of a genuinely *good* arcade version is something history will always show as missing and that I feel is a real surprise, and a real shame.

There are many one-off, often obscure games which you play and think would have made great arcade games, but few as popular yet never perfectly captured.

Go to article.. »

Dragons & Boobies

May 22, 2012 Haze Categories: General News. 16 Comments on Dragons & Boobies

Kittens surely works better, but IGS didn’t make any games called Kitten World, so Dragons will have to suffice.

Anyway, Dragon World 2001, and Dragon World Pretty Chance are the subject here, both of which are now emulated.

Dragon World 2001 is the 4th major installment in the Dragon World series from IGS, and Dragon World Pretty Chance is a modified version of the same game with adult themes and a background revealing mechanic.

Like the rest of the series these are Shanghai style games (not Mahjong! even if they can use Mahjong tiles) with various special powers to help you get through. Not amazingly original, but there you go.

The ARM sub-cpu data has been extracted so that the sub-cpu can be emulated. Compared to DDP2 there isn’t much of it at all, only around 1kb of the internal space is used but it was still essential to get the game running correctly. Both DW2001 and DWPC use identical internal code. These were the last ‘easy’ PGM games to emulate, the remaining ones still don’t have a clear way forward.

With the exception of maybe the original Dragon World these should now be the best emulated in the series because Dragon World 2 still has lingering protection issues on some sets, and Dragon World 3 / 3EX doesn’t really work at all due to the protection use there (not primarily 027ARM based, could probably be figured out by studying the game code)

Here are some screenshots and videos, viewer discretion is advised with the Pretty Chance video, although I’ve tried to make sure nothing too sensitive is included (I suicide before too much is revealed) probably best not viewed at work tho :-)

Dragon World 2001
Dragon World 2001 Dragon World 2001
Dragon World Pretty Chance
Dragon World Pretty Chance Dragon World Pretty Chance

Dragon World 2001

Dragon World Pretty Chance

Go to article.. »

UME 0.146 (Universal Machine Emulator)

May 21, 2012 Haze Categories: General News. 67 Comments on UME 0.146 (Universal Machine Emulator)

logo by ALEXGIZH

UME (Universal Machine Emulator) combines the features of MAME and MESS into a single multi-purpose emulator. The project represents a natural course of development for the emulators which already share large amounts of code and is part of an ongoing effort to unify development efforts and provide a single emulation platform for users and developers alike.

As of 0.146 the UME target is officially provided in the MESS development tree, however the teams have opted at this time to not supply binaries of the build on the official site(s) so instead I’m supplying them here and dealing with support for them.

The builds here are produced using unmodified code from the MESS SVN repository which contains the latest code for both the MAME and MESS projects. As part of the unification the teams will be moving to a single shared SVN in the near future, although the projects will still maintain their separate identities and distributions, including this one, the UME build.

For the end-user UME allows a user to unleash the full potential of both the MAME and MESS projects from within a single convenient environment, using common configurations. It is designed to demonstrate how close the projects already are while providing an introduction to MESS and how some more advanced features of the project which MAME doesn’t utilize directly are used.

Why Should I Use UME instead of a regular MAME/MESS build?

No functionality from regular builds has been removed, so even if you don’t make use of any of the additional functionality you’re not losing out by using UME instead of a single project. Beyond that you have access to a whole new sub-set of platforms. For example you can quickly launch either the standard NES version of Super Mario Bros. the Playchoice 10 version, or the VS. System version using the same application which you’ve already set up and configured. The main added factor is convenience.

From a development perspective you have instant access to the components which exist in both projects without having to move code around if you’re simply interested in doing some quick tests. You also have access to a more flexible range of software and test cases for common components within a single project as well as a greater level of awareness over component reuse between the projects. This should allow for greater testing of code and hopefully reduce the chances of accidental duplication.

Why Should I Use UME instead of MESSUNI (another recent combined build)?

MESSUNI is what I like to call a discriminatory build. It is billed as a combined binary, but actually strips a large amount of both projects out merely based on flags and personal preference of the developer. Any seasoned MAME or MESS user will tell you that there are many things flagged which are actually usable to a good degree because flags are often used as a precautionary measure, especially in MESS where you have systems where several hundred games may function correctly on a system, but likewise many may not, so the flags remain.

Furthermore MESSUNI is built on the MESSUI code, which in turn is based on the legacy MAMEUI code. I’m aware that this is preferential to people over the commandline but the code has been rotting for years and introduces numerous stability and usability issues which will degrade the overall experience of using either MAME, MESS, or a combined build. The current recommended way to use the emulators is with the QMC2 frontend, which should support the UME build shortly.

Where Can I Download UME?

I’ve combined both the source, as well as 32-bit and 64-bit binaries into a single downloadable package HERE (61.8 MB). Tools have been moved to the ‘tools32’ and ‘tools64’ folders after each compile.

These are compiled with ‘gcc version 4.6.3 (rubenvb-4.6.3)’ on a Core2Duo system. The official MAME / MESS toolchain will probably be migrated to that toolchain, or one close to it shortly.

What’s New in UME?

UME 0.146 contains *everything* from MAME 0.146 and *everything* from MESS 0.146 please refer to the relevant what’s new lists for each project.

To be more specific it’s based on MESS SVN 15264, which is slightly newer but adds a fix which allows the tools to compile without error.


Ideally everything, yes, although due to an oversight the megatech.xml and stv.xml software lists from MAME are not in the MESS SVN tree despite being in shared folders so are currently absent. That isn’t an issue however because the primary method of launching these is with the internal setlists anyway. This will most likely be resolved once the official development teams are sharing an SVN.

When Shouldn’t I Use UME?

UME shouldn’t be used for reporting things to Mametesters, doing so will result in lots of angry developers chasing you with cattle prods. If you encounter a bug in UME you should verify that it occurs in a regular build too. There is no reason why a bug should be specific to UME, but it makes sense to check first.

Future Plans for UME?

I’ll make an effort to put out a build for each ‘u’ release (as long as I feel the overall ‘u’ release is stable enough) as well as each final release (which should be stable..) People are welcome to compile and post their own builds, especially for non-Windows platforms as I’m unable to supply those myself.

Anything Else?

I’m currently undecided over setting up a new sub-page for UME builds, or just posting them as part of the regular news stream here.

Go to article.. »

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.