David Haywood's Homepage
MAME work and other stuff

What To Do In One Six Two (Part 1)

June 1, 2015 Haze Categories: General News. 7 Comments on What To Do In One Six Two (Part 1)

As is now well documented MAME 0.162 is the first MAME build to officially ship with the MESS drivers included, giving you a whole host of extra capability for absolutely no extra cost on your part.

While this addition is aimed at showing the more serious side of the project it can also be a lot of fun. The big advantage is that you need only configure one emulator, MAME, after which you have, at your fingertips, the ability to run a whole lot more than ever before.

Let’s say you’re a fan of the Raiden series, you’ve likely experienced the original arcade version in MAME a few times, and maybe even recently Raiden 2 / DX which were emulated.


Raiden Arcade Raiden Arcade
Raiden Arcade Raiden Arcade

Prior to 0.162 that was the only version of the original Raiden you could run using MAME, for anything else you’d have to use a different emulator such as one of my UME builds, MESS, or various other console / computer emulators.

As of 0.162, without having to look at any other emulator you have the option to do so much more. Raiden had a lot of ports, maybe you weren’t aware of them, let’s look at some of them.

One of the best ports of the original Raiden was the one to the FM Towns / FM Towns Marty. This version, which is documented in the Software List, can be launched with “mame64 fmtmarty raiden” (make sure to use the Marty driver, not the regular FM Towns one, the keyboard / joystick input mappings conflict with each other on the FM Towns by default leading to control issues)

Visually it’s nearly spot on compared to the arcade version, gameplay wise it’s based on the Japanese version so it uses checkpoints, but what really sets it aside from the Arcade is the use of CD Audio for the soundtrack, meaning this game, while playing almost perfectly compared to the arcade also features a brand new arranged soundtrack at CD quality. The only thing it really lacks seems to be a rotation option, which is a shame if you want to run it on a vertical monitor.


Fm Towns Raiden Fm Towns Raiden
Fm Towns Raiden Fm Towns Raiden

From one of the most accurate ports, let’s look at the most stripped down, the Atari Lynx version. Like everything covered here this in the Software List and can be launched with “mame64 lynx raiden”

Obviously this is a port to a very simple handheld system, so it only bares a passing resemblance the the original. It’s interesting in that (to my knowledge) it’s the only handheld port of the game, and actually managed to maintain the look and feel of the original game fairly well once you consider the system they had to work with.


Atari Lynx Raiden Atari Lynx Raiden
Atari Lynx Raiden Atari Lynx Raiden

Back to fairly accurate ports let’s look at the Playstation release. This can be launched with “mame64 psu raidenpr” (Only the US version runs, there’s some kind of weird disc protection on the Japanese rips)

The Playstation version contains both Raiden and Raiden 2 (a very good port of Raiden 2 at that, possibly better than our current emulation) but for the purpose of this I’ll focus on Raiden 1. The graphics are the same as those found in the arcade game, it has both Horizontal and Vertical modes for if you want to use a Vertical screen (although you’ll need to remap the controls to play that properly, but MAME’s internal rotation at least makes it very easy to rotate the display)


Raiden Project Raiden Project
Raiden Project Raiden Project

Raiden Project Raiden Project

The PC Engine had 2 releases of Raiden, the original ‘Raiden’ was a regular cartridge game, while Super Raiden was a CD release with full CD soundtrack. Visually these are downgraded a bit from the arcade as it’s a weaker platform, but again they give you a slightly experience as a result.

The launch syntax for Super Raiden is the slightly more complex “mame64 pce -cart scdsys -cdrom sraiden” (because you have to insert the CD cart into the PCE cartridge slot in order to play CD games in the CD drive) For the regular Raiden it’s simply “mame64 pce raiden”


PCE Super Raiden PCE Super Raiden
PCE Super Raiden PCE Super Raiden

PCE Raiden PCE Raiden

One of the worst ports of Raiden I’ve played is the Atari Jaguar one. While the console should have been more than capable of running a game like Raiden it appears that the company porting it simply created a game that looked a bit like Raiden, but really doesn’t feel much like it at all when you play, everything simply feels a bit off. The Jaguar driver in MAME isn’t very good and doesn’t run many games, but Raiden is relatively undemanding and plays fine. “mame64 jaguar raiden”


Jaguar Raiden Jaguar Raiden
Jaguar Raiden Jaguar Raiden

The Genesis port is the one I’m more familiar with, the colours are a bit drab compared to some of the others but it plays a good game and is actually one of my favourite shooters on the platform. “mame64 genesis raiden”

Genesis Raiden Genesis Raiden
Genesis Raiden Genesis Raiden

The Snes port gives you yet another take on it, visually it’s less drab than the Genesis version, and doesn’t have the side bar obscuring half the view (so in that sense it’s closer to the PCE version) but it does apparently have quite a lot of slowdown. “mame64 snes raiden”

Snes Raiden Snes Raiden
Snes Raiden Snes Raiden

By integrating MESS in 0.162 we’ve given the opportunity for anybody with more than a passing interest in games to dig a bit deeper and see what they can find, to me that’s beautiful and being able to see all these different versions of Raiden without having to switch emulator at all is just pure bliss. I know some people are trying to throw a negative slant on it, and some of the builds that already like to do things we request aren’t done are already stripping out the extra content along with the nag screens (the main one of which was actually already removed in 0.162) but in the end that ends up being their loss, I’ve already read people saying they’re going to migrate away from those builds because they no longer offer the full MAME experience.

There is actually some other stuff that’s brand new to 0.162; emulation of the original Tamagotchi is actually a landmark moment, as a piece of technology it had a huge influence, and the emulation of it is easily as significant as the emulation of the original Pacman arcade, just remember to run it with something like “-prescale 3″ to avoid it being a blurry mess.


Tamagotchi Tamagotchi
Tamagotchi Tamagotchi
Tamagotchi Tamagotchi

The Golden Tee Fore! stuff already mentioned is also working in 0.162; if you have performance issues be sure to set the resolution dispwitch to Low, that way a high end i7 should run it without frame drops or audio stuttering.

My message is simple here however; if you’re willing to embrace the changes made to the project, put a bit of effort in to learn how the new content works, have an open mind to explore some of it, and want to get a real insight into the industry back then, including how the arcades and home systems influenced each other, which software houses worked most closely with the original manufacturers to provide accurate ports, and where developers too liberties etc. then the new look MAME 0.162 is likely to be the first step in providing a very worthwhile experience.

If you’re closed-minded, unwilling to accept change, are lazy, or just want to be rebellious on the other hand, I can understand why this might not be for you ;-)

Go to article.. »

The Gulf of Bothnia

May 11, 2015 Haze Categories: General News. 38 Comments on The Gulf of Bothnia

As has widely been reported commit 5df1b60963060ea61de7bed8d2e8f68f284bf1d9 marks the beginning of a new age of MAME.

The UME project, which began life as ‘Ultimate MAME’ in 2011 has dissolved into what from this point on will simply be known as MAME.

The option to build an ‘arcade only’ version of MAME remains as a subtarget, and likewise you can still build MESS if you have no desire for the arcade drivers, however the default ‘out the box’ configuration is now one that encompasses ALL the work that is being put into the project. I expect the other build options will evolve over time to become more hardware focused for example, allowing you to build a solution containing all drivers using a given device (which would obviously be beneficial to development) The way we generate the build solutions now using Genie gives us the possibility to explore more options in the future.

At the same time you’re also seeing a drive to clear up the licensing a little more. This, like the above, is just a step in the project maturing. As an arcade-only emulator it was easy to write MAME off as nothing but a toy; while it did have a number of other uses the majority of what it did (and what people ended up using it for) was run games. By bringing in the more serious side of the project we end up with a more professional piece of software with numerous irrefutable uses that extend well beyond any simple misconception of the project being nothing but a toy. With that more professional front to the project the need for a standard license also becomes greater, and I also feel more comfortable in re-licensing my code to be more permissive knowing that it is part of something that has many more legal uses. Obviously a number of the issues with older code that were raised before remain, but we’re in a better place right now than back then.

The main topic for discussion when it comes to MAME doing more than just arcade games is ‘what does MAME stand for’. While people like to put forward suggestions for new names still fitting the acronym I think the most important thing is not to focus on what the letters stand for, but to simply focus on what MAME as a brand stands for. For the longest time now ‘MAME’ has represented a bridge between the past and the present, a project providing a platform to keep creations of the past accessible, providing documentation (an insight into how things worked), reusable components, and importantly a place for those interested in emulation to do their work. Just like nobody really thinks of ‘SEGA’ as ‘SErvice GAmes’ the traditional meaning of the MAME acronym is less important than actual work we do.

If you still want something to mentally associate with the ‘new MAME’ then the suggestions of “MAME And MESS, Emulators” and “Multiple Archaic Machine Emulator” do strike a chord with me, but I doubt the official acronym will be changing, it simply represents where we came from.

People have asked what my opinion on all of this is, probably expecting me to have a lot to say about it now that it’s finally happened, however, I don’t. I don’t mind that the UME brand is gone, it was a fun thing, and yes, I did like the name (EMU backwards, the combination of two things ‘U and ME’, the way it was creatively used in the word ‘ConsUME‘ etc.) but in the end the project was only ever a means to an end, a way of showing that the projects could work as one, and a way of ensuring no further conflicts between the projects crept in after they’d ended up really quite far apart at one point. The brand has served it’s purpose.

I think, as the project grew up, this kind of change was inevitable; just as arcades saw a steep decline interest in the baseline MAME project saw a steep decline; hardware we were emulating was being better tested by non-arcade systems, and a lot of developers were already starting to write more code for the emulation of non-arcade systems than arcade ones. The flexibility and design patterns required for the non-arcade systems were already starting to define the project too, leading to better more reusable code. The source repository used for both projects already existed under the ‘MAME’ name only, the source distributions were already shared, and releases were already being made from the exact same code revisions. Mametesters has also already been taking bugs for the non-arcade side for a while, and a number of other sites were providing support for both due to improved awareness that they really are both built from the same sources. In that sense what we see isn’t such a big step at all, just another small step.

Obviously some work needs to be done on unifying terminology, there are many places in MAME which refer to things as ‘games’ (or in MESS as ‘systems’) where in reality a unified term (something like ‘machines’) would apply better to both the arcade ‘machines’ and home ‘machiness’, but again that would simply be refinement, and another sign of the project becoming more serious, and more mature. Concerns with UME such as not being able to identify the type of system from the XML are more likely to be addressed now that everything is included in the primary target.

For an end user (not interested in developing) all it really means is that you get the option to do more with the binary you download; you have the opportunity to see how the code used for emulating Sega C2 / Megatech / Megaplay games fares when asked to run larger parts of the Megadrive / Genesis library, you have the tools at your fingertips to explore the different home ports of various arcade games and compare them. If the new additions don’t interest you then you can simply ignore them, just like you ignore so many of the terrible games supported by MAME right now.

From a developer point of view not much changes immediately; new developers get more in their build by default, and on a sufficiently high end system (as I’ve recently found out) build times and link times are still good. For developers on weaker hardware the old targets can still be built, and hopefully in the future things will become even easier with more focused targets for specific cases becoming much easier to generate than ever before. The project benefits because developers are more immediately aware that their changes must work with all sides of the project, as by including everything by default we’re showing we value it all equally.

There are always going to be people calling the project ‘Bloatware’ or throwing ‘Jack of all trades, master of none’ statements around about the project, but in the end the people calling it Bloatware are never really going to be satisfied as long as it emulates things they don’t personally care about, and the only way we’re going to master the emulation of many systems is by increasing exposure, getting people on board, and working hard on doing what we’ve always done; every little step counts. One thing I’ve noticed with MAME is that it stands the test of time a lot better than many of the smaller emulators even if there is room for improvement (the number of older but popular emulators that fail on simple things like coping with a wide-screen display without distorting the image is disturbing for example, I’ve found myself using MAME/UME very often simply due to little things like that, there are many advantages to it being an active and open project with a wide variety of users and tasks that need to be done meaning we’re never far from a release)

Moving on to more random thoughts, I guess UI builds will adopt the existing MESSUI code (as it provides a way to use a number of features that MAMEUI doesn’t) meaning those who have been asking me to do ‘UMEUI’ for a long time might finally get something along those lines, although I’d definitely still recommend a real frontend over either.

Overall it makes me happy to see that the public response has generally been positive, with some uncertainty over how things will work, but I’m sure once there has been a release or two with this as the default configuration people will find it a lot clearer.

Go to article.. »

Post Release Progress

May 8, 2015 Haze Categories: General News. 4 Comments on Post Release Progress

A while back I covered Race Drivin’ Panorama, but mentioned that it wasn’t full functional due to the side screens crashing when selecting one of the car types.

It turns out that the cause of this crash was actually a regression affecting ALL the Hard Drivin’ / Race Drivin’ sets in one way or another that had been introduced during a modernization prior to my changes. Osso tracked down his error when addressing the original MameTesters report, and as a result Race Drivin’ Panorama now runs correctly, displaying full-screen views (no car panels) when selecting the Roadster rather than crashing; it turns out the code I wrote before was actually just fine and the game can now be marked as working.


Race Drivin' Panorama
Race Drivin' Panorama

Couriersud did some more work on Breakout, improving looks and performance (it now hovers around 100% on a 4Ghz i7 )


Breakout

Brian Troha located some alt Golden Tee Fore! sets, including the original release and the 2002 release. Tracking down the sub-revisions of this could be tricky, especially if the online system was used to provide game updates (I’m not 100% sure on that) Also the game stores a lot of data to disk, including operator info and records etc. as well as allowing full version updates to be installed via CD, so finding clean drives is next to impossible too. These definitely border on the annoying to preserve territory as a result.


Golden Tee Fore! Golden Tee Fore! Golden Tee Fore!


Golden Tee Fore! 2002 Golden Tee Fore! 2002 Golden Tee Fore! 2002

Even better news for fans of the GTFore! series is that Ted fixed the map display making them more or less fully playable.


Golden Tee Fore! Golden Tee Fore!

Peter Ferrie gave some much needed attention to an unknown gambler that uses a i186 CPU. Turned out to be some kind of multi-game. One interesting thing with gambling games is they often have undocumented init codes which are required before the game will boot, sometimes even finding out how to access the page where you need to enter the code can be a challenge. Finding the code screen on this one wasn’t too tricky (last screen of the test mode, although it doesn’t explicitly ask you to enter a code) but working out the actual init sequence required took some digging through the game code; turns out it wanted keypresses of “1 1 X X 1 1 1 X X X 1 1 X 1 1 1 1 X 1 1 1 1 1 X 1 1 1 1 1 1 X” where X and 1 are 2 of the buttons the game uses.

This also required him to hook up a number of other components in the driver, although even with all this hooked up it doesn’t work quite correctly; never underestimate the amount of work that goes into making some of these run tho, they might look like dumb pieces of junk but they can be an interesting emulation challenge to those interested.


i186 based gambler i186 based gambler
i186 based gambler i186 based gambler
i186 based gambler i186 based gambler

Another gambler, this time one running on a Hyperstone CPU was dumped by system11. The hardware is by F2 system and very similar to their ‘Mosaic’ game. It fails to boot with a ‘Secret’ Error, which I’m guessing is something similar to the above, or a protection check.


Royal Poker 2

Go to article.. »

UME / MAME / MESS 0.161

April 29, 2015 Haze Categories: General News. 43 Comments on UME / MAME / MESS 0.161

UME (logo by JackC)
UME is the complete/combined version of the MAME / MESS project.

Official whatsnew texts for (MAME, MESS) provide full details of what has changed since 0.160.

This is based on the official ‘mame0161′ tagged version at GitHub.

UME 0.161 Windows binaries – 32-bit, 64-bit and all tools
(source matches official mamedev.org source distribution, here for completeness)

Other Binaries (if you don’t know what these are you don’t need them)
MAME/MESS split 0.161 Windows binaries – 32-bit, 64-bit and all tools

Windows SDL builds
The regular Windows build of MAME now has an OpenGL video mode, if you’re having BSOD issues with nVidia hardware on XP try that instead of DirectDraw, it should be more compatible with existing frontends etc. than the SDL builds were. I may reassess the situation later however because I’ve found the opengl output in regular MAME to have some drawbacks, it appears to be locked to vsync causing unwanted slowdown, especially on older hardware.

However, I’ve found, at least on my older hardware that the OpenGl renderer in the baseline build doesn’t perform as well as SDLMAME, so if you’re on older nVidia/XP hardware, or using integrated Intel graphical and getting corrupt graphics you might still prefer to use the SDL builds.

SDL MAME/MESS/UME 0.161 32-bit Windows builds
SDL MAME/MESS/UME 0.161 64-bit Windows builds

Experimental binaries
MAME / MESS / UME 0.161 64-bit Windows builds, compiled using CLANG (windows_x64_clang option)

Notes

I skipped 0.160 due to lack of time. I’ve upgraded my hardware since then cutting compile times from over an hour to around 7 mins. 0.161 also brings a brand new genie based build system, so there could still be some teething issues.

Points of Interest

The main thing of interest over the last 2 months comes in the form of the emulation progress made with the old handheld games, most of these are MCU based, so simply seeing somebody dumping them is an achievement, and beyond that the work required to create artwork etc. means that the number of them we see marked as working in this release is phenomenal. Some screenshots of these running were uploaded here. Most of these require external artwork to be functional, the current artwork being used can be found here.

Ted Green’s improvements to the driver for the more recent Golden Tee games continue to be a revelation, many of them boot and can actually be played to a degree, although there are still graphical issues (of note the map display on the bottom left) and no sound. They also require a pretty beefy machine but do actually hover around 100% on my new setup (faster when unthrottled but a bit uneven when throttled as the CPU load for each individual frame varies quite a lot) Interestingly the version we have marked as ‘Golden Tee Fore 2002′ actually shows 2003, I’m not sure if that means we’re missing a real 2002 set?

*edit* they have sound, some of them just have the volume set to 0 by default, it can be adjusted in service mode. We’re definitely missing images of Golden Tee Fore! and Golden Tee Fore! 2002, all the images we have are upgraded ones (it adds an extra partition to the drive each time you upgrade, unfortunately deleting the extra partitions doesn’t reverse the process as other data is changed too)


Golden Tee Fore Golden Tee Fore
Golden Tee Fore Golden Tee Fore
Golden Tee Fore Golden Tee Fore
Golden Tee Fore Golden Tee Fore
Golden Tee Fore Golden Tee Fore
Golden Tee Fore Golden Tee Fore

Work was also done on the Sega ‘Spider’ system, which is really just a revised Naomi platform (not actually compatible with Naomi) which Sega used mainly for Medal style games, and some novelty products. Tetris Giant was one such release, it boots to a title screen but hangs shortly after before showing any gameplay.


Sega Spider Sega Spider

A host of fixes to the GBA driver in the MESS part of the code significantly improved compatibility there.

In addition to the very rare French version of Berzerk I mentioned in an earlier update the Spanish version was also dumped thanks to Bartolomé López Giménez and Ricky2001. The Spanish version was licensed to ‘Sonic’ (or at the very least they made the cabinet and modified the game code to show ‘Sonic’) Interestingly it has far less speech than the other versions, choosing to reuse a much smaller selection of speech clips more frequently; I can only assume budget constraints.

Of course the things I’ve covered here already were also included; Table Tennis Champions, Car Hunt, Ma Cheon Ru etc.

DoDonPachi Dai-Fukkatsu Black Label was also added, although like all the SH3 based Cave titles it lacks emulation of the hardware limits so much of the slowdown is missing resulting in a much more difficult game. I’m starting to wonder if we shouldn’t just mark them as NOT WORKING until it can be emulated properly, it can be game breaking in places. For those not in the know the ‘Black Label’ version of this game is significantly reworked from the original releases and even includes a brand new soundtrack.


Golden Tee Fore Golden Tee Fore Golden Tee Fore

The Medal games Luca showed on his page are also supported.

The hard work of Couriersud and the DICE authors means that BreakOut becomes the 2nd major discrete game to show promise, it’s not yet marked as working, but can actually be played in it’s current state, runs at 60-70% speed on a 4ghz i7 tho, so be warned, it isn’t quick!


BreakOut

All in all it’s a ‘bit of everything’ release; I even had to dig out the old CPS2 key-finder for the new Super Puzzle Fighter 2 clone (parent)

Go to article.. »

Little SemiCom in Dragonworld

April 13, 2015 Haze Categories: General News. 21 Comments on Little SemiCom in Dragonworld

system11 recently picked up another SemiCom title, this time it’s Ma Cheon Ru, a tile matching game which seems to be heavily inspired by IGS’ Dragon World series (the overall feel of the game is quite close to Dragon World 2)

It’s actually a bit of a mashup of your regular tile matching games and a selection on minigames because after each round you’re presented with one of a number of bonus features, including timed stamping of envelopes, punching a guy in the face and a shooting gallery of sorts.

The actual protection data for the game hasn’t been read out yet, but by hacking it up to use data from the XESS (Semicom 3-in-1) game I was able to get something which appears playable, obviously I want to extract the real data for this game before marking it as working tho (that’s the next task, working with system11 to do that)


Ma Cheon Ru Ma Cheon Ru
Ma Cheon Ru Ma Cheon Ru
Ma Cheon Ru Ma Cheon Ru
Ma Cheon Ru Ma Cheon Ru
Ma Cheon Ru Ma Cheon Ru
Ma Cheon Ru Ma Cheon Ru
Ma Cheon Ru Ma Cheon Ru
Ma Cheon Ru Ma Cheon Ru
Ma Cheon Ru Ma Cheon Ru
Ma Cheon Ru Ma Cheon Ru
Ma Cheon Ru Ma Cheon Ru
Ma Cheon Ru Ma Cheon Ru
Ma Cheon Ru Ma Cheon Ru

Go to article.. »

French for Robots

April 5, 2015 Haze Categories: General News. 3 Comments on French for Robots

Over the last few days 2 new dumps were forwarded to the team via the AUMAP community usually known for supplying Spanish dumps.

In this case both the games are French versions, and very rare at that.

First up, supplied by ‘Arcade Vintage’ is a version of Berzerk with French sound roms.

All versions of Berzerk have multiple languages for the on-screen text, but a number of versions were also produced with different Speech roms. A few years ago the German version was dumped (which, if you ask me, makes the robots sound more intimidating than ever) and with the addition of the French version the only known variant missing is ironically, the Spanish one. These are significant because apparently producing the speech was a painstaking task back in the day.



The other French game is a version of a previously undumped Sega title known as ‘Car Hunt’

This wouldn’t be the first time where the only region we have for a game is for a very specific and unexpected region, our Midnight Landing (Taito) is a German region set for example.

The game is another take on ‘Head On’ but in this case you have full control over your car with up,down,left and right directions rather than swapping between lanes. Each level has a number of blue cars that move around the maze without really homing in on you, then occasionally a red car will appear out of nowhere directly on your tail.

If you lead the red car under the bridge section it will vanish (interestingly there are no collisions under the bridge, so time things correctly and you can pass through the blue cars in that section of the maze too) As with Head-On the fire button makes you go quicker. Overall the less restricted movement means this plays more like PacMan than Head-On.

Visually the player car looks a bit glitchy, with a missing pixel in the middle, some wheels wider than other, and the occasional flicker of one of the wheels. I’m not sure why, and we could do with verifying it on the hardware to make sure it isn’t a dump problem. The boardset that was dumped was also lacking the sound boards, and although it’s likely the sound was discrete components only it means we don’t know how it should sound, and so it remains silent in MAME.

The board is actually one of the 2-in-1 games on the Vic Dual platform, the other title included is Deep Scan, which has previously been seen paired with Invinco. Oddly the controls are a bit of an issue with this one because UP for Car Hunt maps to ‘drop charge on left side’ for Deep Scan, I’m not sure how the panel would have mapped for that.


Car Hunt / Deep Scan Car Hunt / Deep Scan
Car Hunt / Deep Scan Car Hunt / Deep Scan
Car Hunt / Deep Scan Car Hunt / Deep Scan
Car Hunt / Deep Scan Car Hunt / Deep Scan

Thanks to Ricky2001 (from AUMAP) for this one.

As the audio board was missing Ricky has put out a request. In the unlikely event anybody has schematics for this specific game (not the Vic Dual board, but the Car Hunt specific parts) could they post them.

Go to article.. »