**Note: 25th Feb 2014 – First Public version – this still needs proof reading, some of it was written in a rush and could be improved, hopefully nothing major is actually missing tho**
I think it’s fair to say even before embarking on this article that I have a gut feeling 2013 has been a slower year than 2012 was when it comes to MAME progress.
You only have to look at the lower levels of activity from some of the key driver developers like Luca Elia, Phil Bennett, Ville Linde, and Roberto Fresca to get an idea of why I feel there is going to be less to write about this year.
That’s not to say there hasn’t been groundbreaking work done this year, plenty comes to mind immediately so trying to make such a claim would be a lie; the people who have been involved have contributed a tremendous amount to the project and when the aforementioned developers have found time to make contributions they have been as significant as ever.
When I asked for comments to help build this article it was suggested that 2013 was ‘Year of Haze’ and if anything I’d like to disprove that with the actual article here; there has been plenty done outside of my realm of work, and plenty I have done simply wouldn’t have been possible without work (past or present) from others. While this article doesn’t exist to mention names, but instead focus on the actual changes made this is something I will be keeping in mind while writing it, and something I will revisit in the conclusion.
Like last year I’m covering the MAME project as a whole with this article, that includes all the work done on home systems that we currently release as MESS but in reality is still part of the same overall project. If you prefer to think of it as ‘A Year in UME’ then feel free to do so. I feel this approach also gives the best chance of being able to highlight areas I haven’t been involved in.
Anyway that’s enough introduction, to start this write-up I’m going to look first at a couple of the things that will likely be of most interest to the people reading this, a selection of the new additions from the year, things that were previously not even known about, or had not yet been emulated.
New Additions – Old and/or Rare
Old and rare is a combination that often sends PCB prices through the roof, especially for Japanese PCBs, but outside of Japan that isn’t always the case, PCBs often end up being found, dumped and repaired by enthusiastic collectors who are more than happy to help MAME.
Early Period games
Italy, as is so often the case, proved to be the source of two of the most significant finds made this year in ‘Attack Force’ and ‘Long Beach’ Both of these games are Italian products, and it is likely neither saw high levels of distribution either within Italy, or as exports to other regions.
These games both help to show that the prevalence of arcades in Italy even in the early days was significant enough that local developers thought it a worthwhile investment to create their own CPU based games to compete in the marketplace.
(Attack Force is a very rare game with unique gameplay, it was developed in Italy)
(Long Beach is another very rare Italian game)
Even better known Italian manufacturers had rare games too, another one that surfaced this year was ‘Sea Battle’ by Zaccaraia. This fits neatly with the two games previously mentioned hailing from a similar era.
(Sea Battle challenges you to shoot as many targets as you can within the allotted time, it is one of the earlier original Zaccaraia titles)
Jumping to 1982 a game called ‘Desert Dan’ was released, this runs on the same hardware as ‘The Pit’ but comes from the previously unknown ‘Video Optics’. Very little is known about the history of this game, until it was discovered it was completely unknown.
(Nobody even remembered Desert Dan until a PCB turned up)
Fast forward another year to 1983 and you have Stunt Air, another all but forgotten classic era game from Italy. This one, while clearly influenced by Sega’s Star Jacker is an original production.
(Stunt Air was also all but forgotten, the gameplay mimics that of Sega’s Star Jacker)
Compared to 2012 there wasn’t really much activity with things like the Deco Cassette system, 2012 was a fruitful year when it came to new dumps on that platform but 2013 saw just one new addition, the ’18 Hole’ version of Pro Golf. Technically this was already supported in MAME due to it being the same version that exists on the ROM boards, but it gets a mention up here because these Deco Cassettes are important and do need dumping while they’re still in good enough condition to dump them.
(The DECO Cassette version of 18 Hole Pro Golf was the only DECO Cassette dumped in 2013)
Other than those it has been a quiet year when it comes to discovery of rare games from the late 70s / early 80s, not entirely unexpected, there are only a finite number of them and inevitably we’re never going to find them all and the number of people searching or with something to offer drops all the time.
There are titles we have a pretty good idea exist either due to flyers existing, people reporting that they played them, or actual reports of them still being on location somewhere obscure and a number of Arcadia Systems titles fell into this bracket. While these aren’t as old as the titles mentioned above they are still rare and interesting to see supported.
Luckily along with the Unigame prototype stash which will be mentioned later were a number of these titles. Delta Command, Blastaball, and Pharaoh’s Match. Rockford is still missing, but almost certainly exists due to the Amiga release, but it was good to have 2 known games, and one previously unknown one confirmed and now supported. Our Amiga emulation could be a lot better, but having these discovered and documented also means that WinUAE can now emulate them if you want a higher quality of emulation.
(From top to bottom, Blastaball, Pharaohs Match and Delta Command, all previously undumped Arcadia titles)
A board for Aaargh! was also located, but this wasn’t actually dumped until 2014 so will feature in the next write-up instead.
More ‘NEW WORKING’ titles
Not everything is as rare or old as the above, although some of the things I’ll cover in this section could easily be move to the above section. Keep in mind that this section and the one above don’t cover all the ‘NEW WORKING’ drivers either, there are important additions mentioned in other sections like ‘Driver Maturity’ later in this write-up, I’ve tried to keep things spread out to keep it interesting!
As one of the more often name-checked arcade systems PGM is one of interest to a large demographic of MAME users. Consider it if you will a bit of an underdog, a late arriving system designed to compete with the 1997+ era SNK from a Taiwanese company far better known for their video-based gambling & mahjong games as well as the odd obscure puzzle game.
For the final few original games on the platform IGS really upped the quality of the games being put out, but also repeatedly evolved the protection schemes they used throughout the life of the system, creating custom per-game systems which did a formidable job of slowing down (and for many games, outright preventing) bootlegs at the time.
The Gladiator (known as Road of the Sword in Japan) is considered the pinnacle of their output on the system, and like so many IGS games it didn’t see any kind of release outside of the arcades. Getting it working was definitely one of the highlights of the year.
(The Gladiator was the PGM title the most people have been requesting we emulate for a long time)
The PCB version of Spectral vs. Generation also gained working status in the later weeks of the year, this was one of the few PGM games that was actually ported (in this case to the PS2 and PSP) but it’s good to see the arcade version running in MAME.
(Spectral vs. Generation was made by Idea Factory, a company founded by former Data East staff)
The Killing Blade Ex / Plus was another of the later PGM titles to be promoted to working, and is worth mentioning because it’s actually a more significant evolution of the game than the name would suggest coming across as a much more polished product than the original release, it’s a shame it appears to have only been released in China (like many of the later re-releases were)
(The Killing Blade Ex played an important role in getting the above titles emulated)
While these games weren’t easy to emulate and for a long time I did wonder if it would even be possible I have to say that comparatively the work required to get PGM title ‘Puzzli 2’ working was actually much more involved than The Gladiator, because instead of being able to emulate the ARM CPU using the ROM it was necessary to study and simulate it’s every feature. This meant studying all the command sequences, and even ended up with reverse engineering a small encryption table from the game data. In terms of memorable personal achievements for the year that one sits high in the list. Emulating this also allowed us to discover the differences between Puzzli 2 and the later released ‘Super’ verison, with the main addition being the Vs. CPU mode.
(Out of all the PGM titles Puzzli 2 required the most hard work to emulate)
The emulation of other PGM titles also quietly improved in the background, Oriental Legend Super has a much more complete protection simulation now and is actually playable to the end, although there’s definitely some room for better understanding / improvement left. The Dragon World 2 clones are now more stable, Dragon World 3 and Dragon World 3 Ex can be booted and coined up (although fails after a few rounds and on a continue) For the record, a number of people have suggested that there is also an undumped ‘Dragon World 3 Special’ I think this is just the Japanese name for the same game however, as when running as the Japanese version it uses an extra subtitle. Maybe there was an earlier non-special Japan release without the subtitle? There’s little evidence to suggest a later (c)2000 release at least.
(Emulation of a number of other PGM titles improved to varying degrees too, although there are still significant issues)
Less noticeable was games like Knights of Valor 2 Plus / Nine Dragons being moved to use a proper internal ROM from that game rather than a hacked copy of one from the regular Knights of Valor 2, if it makes an actual difference is debatable, but the emulation is cleaner that way.
(Knights of Valor 2 Nine Dragons now uses the proper internal ROM making emulation more reliable)
Groundwork was also done for the emulation of Happy 6-in-1, which would be made playable in early 2014 along with the cartridge release of Spectral Vs. Generation. These followed the pattern of The Gladiator and the PCB version of Spectral Vs. Generation and the test code required to help complete the data was actually finished in 2013, although the actual tests and working emulation was delayed by the Christmas and New Year period, so they’ll end up getting a mention next year too.
(Happy 6-in-1 and the Cartridge version of SVG were made to boot, but emulation still wasn’t working by the end of the year)
Some non-PGM IGS games also saw code improvement, for example cleaned up protection implementations in Alien Challenge and Lord of Gun, but these should have no visible impact.
While IGS and their PGM system became one of the bigger arcade names fairly late on they were never one of the big players in the early days, here I’m going to look at cases where drivers for games from some of the better known manufacturers have ended up being promoted to working state.
It’s fair to say that at this point MAME covers the majority of the pre-3D era games from the main manufacturers comprehensively, not always with high quality emulation just yet but the number of games and pieces of hardware that aren’t understood at all sit in the minority.
For that reason one of the bits of work done in 2013 that gathered a large amount of attention was the work done on Sega’s Cool Riders. It was the only release on an ill-fated platform, yet at the same time the culmination of their famous ‘Sprite Scaler’ engine before such techniques were all but abandoned in favour of 3D platforms due to Daytona taking centre stage 2 years earlier.
(Medium Resolution screens, Big news, emulation of this unique Sega platform was a major acomplishment)
As far as emulation goes it was one of the bigger challenges, that shouldn’t be surprising, the driver has been sitting in a non-working state for a long time. Many aspects of the hardware are unique and it was necessary to figure out a lot of unknowns, during what was easily the most involved piece of work I was involved in over the course of the year.
There were multiple factors that made this work interesting, not only figuring out the hardware, but optimizing it to a point where it runs at an acceptable speed on current hardware, despite the simple appearance the game is driving 2 medium resolution screens with a very high fillrate sprite chip from a compressed data source with borderline 3d capabilities so getting it as good as it is was a challenge.
We never did fix the sound in the end but maybe that’s one for next year.
Coverage of some of the big names in the MESS side of the project is weaker, there are still entire systems from known manufacturers not emulated at all, often due to a complete lack of dumps. Nichibutsu were a big player in the early arcades, with unforgettable offerings like Moon Cresta and Crazy Climber in addition to countless Mahjong titles for the Japanese market the majority of which have been well represented in MAME for many years.
What was less clear from the MAME / MESS projects is that Nichibutsu were also active in the early Japanese computer / console market, and 2013 provided some insight into that through the emulation of the previously unemlated ‘My Vision’ console. Like most early systems that didn’t really succeed it’s a bit slow, klunky and lacks a decent software library but having it emulated is an important piece of the ‘documentation’ puzzle and shows how Nichibutsu were involved not only in producing a number of iconic 80s titles, but also ventured into markets where they were mostly forgotten.
(The Nichibutsu My Vision was an early home system from the arcade mahjong specialists)
Taito are another big name and one of thing they were famous for were the arcade ‘simulation’ games they produced. Many of these are not yet emulated properly because the hardware is not easy to understand with additional DSPs and the like bolted on to base systems to make up for the lack of base CPU power.
If you look at Midnight Landing you probably wouldn’t have guessed this. In all honesty this early Taito effort looks barely above what you’d see on some 8-bit home systems, presenting you with a landscape of sparse dots against a black backdrop with a framerate that can’t really be described as spectacular. Emulation of this did however present a challenge for the developers involved, looks turned out to be very deceptive with a number of the hardware features proving to be obtuse.
2013 did however see the game emulated to a degree where it can now be considered working, prior to this it would pop up sound errors and the controls were mostly non-functional. The later Air System releases by Taito still need significant work, but at least we can say this earlier effort now works.
(Midnight Landing has deceptively complex hardware considering how simple it looks)
Seibu is a name on the lips of many when it comes to emulation, mainly because they’re one of the few manufacturers where key parts of their library are simply unplayable and when it comes to the often name-checked titles nothing has really changed in 2013. Progress was however made on one of the lesser known Seibu titles, a game utilizing pinball mechanics released under the title ‘Panic Road’ and distributed mainly by Taito.
(Panic Road was the only Seibu game to gain ‘working’ state in 2013)
I’ve got a whole section on improvements to Data East drivers later in the article where I talk about improvements to the protection emulation, however one Data East game required a different kind of work, actual video emulation improvements (including bits of the video code being significantly rewritten) That game is Stadium Hero ’96, which runs on the MLC system but abuses ‘raster effects’ to give the pseudo 3D look.
(Getting Stadium Hero ’96 working required rewriting large parts of the Deco MLC video code)
Various improvements in MAME saw Konami’s Five-A-Side Soccer improve to the point where it can now be considered properly ‘playable’ This one is rather interesting because the majority of systems using a PowerPC processor are 3D capable systems, and thus the emulation core doesn’t really get tested that often due to the system requirements for running such games. Five-A-Side soccer instead has a PowerPC chip, but the video hardware is pure 2D hardware.
(Five-A-Side Soccer isn’t the most well known game from Konami, and is an odd case of an entirely 2D platform being driven by a PowerPC chip)
Not so exciting.. but still significant
Brixian, as a game is nothing more than a simple copy of Taito’s Puzznic. It’s an original piece of code, but unless you really love Puzznic it’s not something overly exciting. It is significant however because it’s the earliest known development by what would later become ‘Semicom’ (Cheil at the time)
(Brixian is an early effort from the developer later known as Semicom)
Dolmen fills a similar position in the history of Afega; the earliest supported Afega game was Twin Action which was simply a graphic / sound hack of USAAF Mustang but Dolmen uses the same board to present an ‘original’ game (if you can call a game that simply takes the Puzzle Bobble mechanics and fails to really innovate on it original) It’s a significant part of Afega’s history because it spawned the ‘Bubble 2000’ and ‘Hot Bubble’ games which were surprisingly popular in Europe after being licensed by Tuning and Pandora.
(Dolmen, an early AFEGA game, really wants to be Puzzle Bobble!)
Both games mentioned also show just what a heavy influence Taito had on the industry, and how many Korean manufacturers saw the games Taito made as a perfect model for how to create a popular game on a tight budget.
Some names are far less common in the arcades but at the same time it’s not unheard of for those manufacturers / developers to put out interesting and unique hardware, that is often a challenge to emulate. Progress on systems like this is an important part of MAME because often it takes a lot of work to make just the one title run, and when it’s not from a big name developer it’s very easy to overlook that progress and the sheer amount of hard work that was required to understand the hardware.
Turret Tower, made by ‘Dell Electronics’ (not THAT Dell) was a game licensed by Namco. From a hardware perspective this is one of the more unique pieces of hardware to be emulated during the year with a complex custom blitter driving the graphics, most of which are streamed from a Hard Disk.
(Turret Tower is very interesting from a hardware point of view, and also a polished and rather manic game)
Tap-A-Tune was a music game released in 1994, before music games really became popular. CES went on to be involved with Midway’s Touchmaster games, as well as their own ‘Galaxy Games’ creation.
(Tap-a-Tune is a music game from before music games were popular…)
Touchscreens are all the rage these days, with some people even thinking they’re new technology, but you can rewind a long way and still find games based on Touchscreen technology. Touchstar Bonanza is one such game, from 1994. Merit were making Touchscreen titles around the same period so it wasn’t a completely original concept, but it does show that even 20 years ago people were experimenting with touchscreen technology and it never really caught on outside of a handful of genres and use cases compared to the vast number of games that still used regular controls. The hardware is basically a PC, but that doesn’t make it any easier to emulate!
(…and Touchstar Bonanza is a touchscreen game from before touchscreen games were popular!)
Not So Interesting?..
Casanova is the prime example of a game that really shouldn’t exist. The market was not short of basic tile matching games and it adds nothing to the table at all. Interesting only because it turned out to be running on the same hardware as the equally uninspired 3×3 Puzzle with some really nasty looking manual modifications to the PCB. It’s an example of a company trying to cash in on the market after the market was almost dead, it serves as a lesson in what NOT to do.
(Casanova has no redeeming features)
A number of ‘bad’ games were just fronts for gambling games, to hide the fact that a gambling game was being operated. Even larger manufacturers like Subsino employed this practice with games like X-Plan where they even boasted the ‘feature’ on their advertising flyers. With games like this it isn’t always clear how to switch them from ‘regular’ game mode to ‘gambling’ mode and in several cases as a result it isn’t clear if a game is just bad, or actually contains a ‘stealth’ gambling game. I’d say that Casanova mentioned above was just a bad game, but for another one of the additions from last year it is less obvious.
Fruit Land is an arcade conversion of the freeware PC game of the same name, which in turn is based off an MSX game. It has been sold as a ‘gambling’ title on eBay before, but it isn’t clear if this is true, or if it is true what kind of key combination or dipswitch setting is needed to boot it in gambling mode. Truth be told it isn’t a terrible game, but there’s no real reason you’d want to operate it in an arcade so with that in mind it’s easy to believe it could be harbouring a different payload just we haven’t found it yet.. There is the 2nd possibility, that the dump we have contains nothing awry and was simply sold this way so that the supplier could then also sell media cards containing gambling games as some way to bypass laws / checks.
(Fruit Land might be hiding a gambling game, but if it is we haven’t found it)
Super Game Mega Type 1 is yet another NES based multi-game of the type that was produced before MAME and MAME boxes became the common way for unscrupulous operators to try and operate multiple games in a cabinet. It contains a decent selection of 7 NES games, but the selection menu is unintuitive and looks like it was written in the space of an hour at most. (at least one of the games also seems to highlight timing issues in our NES emulation)
(The Super Game series was one of several ways NES games appeared in arcades without a license from Nintendo)
Hidden Catch 2000 doesn’t really fit anywhere else, so I’m mentioning it here. Until it surfaced it we didn’t know about it. It’s very similar to the other Hidden Catch games and even shares the introduction sequence with one of the earlier titles, so it’s a bit of a strange release.
(Hidden Catch 2000 seems like a minor update to the Hidden Catch ’98 codebase)
Popo Bear is another odd case. BMC are better known for gambling / redemption games created for the Asian market so the game is unusual in the sense that it isn’t, it’s actually a real game, simplistic given the release date, but still a real game, and not even a bad one at that. Popo Bear is also a game I highlighted in the 2012 write-up as ‘potential’ because the driver just needed a little more attention and work to bring it into the realm of ‘working’ so I’m glad to see that happened
(Popo Bear is the only game we’ve seen from BMC where there is real gameplay rather than it being a gambling game)
New and Taboo
The final change of 2013, or first change of 2014 depending on your time zone was the reintroduction of support for the SH3 based games produced by CAVE. While this isn’t really new progress and most of the unofficial MAME builds have been carrying these for years (so re-adding them makes little difference to the end user) it does mean we can start to better document the hardware, and hopefully make strides in improving the driver.
Right now you probably won’t want to run any of the shooters using the driver as it is, while the games are considered working the delays caused by the video hardware drawing the graphics aren’t emulated, this results in the games having very little slowdown where slowdown would be present on the real PCB and thus makes many of the later patterns in the game (or the GOD modes) much more difficult than they could be because the games would be running in slow motion on the real PCB at points where the screen was full of bullets, but in MAME the action still flies by at 60fps (assuming you have a good enough system anyway)
So yes, don’t actually expect to be playing these games in MAME, the ports are cheap and will give you a far better experience at a far lower cost!
What this does mean is we can start to tidy things up, it has been observed that many of the games were programmed onto defective flash roms, which have further decayed, it is important for the sake of documentation to establish what actually represents a good dump for each of these games *before* the situation gets any worse. Unfortunately for some of the flash based media out there the expected life seems no better than games with mechanical HDDs but doesn’t raise the same level of suspicions, nor really give any warning signs of failure.
Puzzle! Mushihime-Tama is interesting because it’s the only one that runs well (where lack of slowdowns and accurate blitter timing don’t matter) I’m not sure it was ever ported either strangely enough. The parent set in the new driver is actually a newer revision than the previous driver as well.
(Puzzle! Mushihime-Tama is the most accurately emulated game in the Cave driver because it doesn’t rely on slowdowns)
The game is the sequel to the popular Puzzle Uopoko for those not in the know. (nothing new with Uopoko emulation, just thought I’d picture it here for easy comparison!)
(Uopoko was the prequel to Puzzle! Mushihime-Tama, surprisingly few people realise unless they’re already familiar with both titles)
I say these are ‘new’ but the actual platform is 10 years old now, and the first ports of the games were on home systems 2 generations old, so in reality the system isn’t really that new, even if it has the odd more recent release, but then again so does the NeoGeo (NGDevTeam have a commercial game out this year) and we’ve been supporting that platform for years, just not the newer games, so the same logic will be applied here.
DoDonPachi DaiFukkatsu was added when the driver was restored; this is the first DoDOnPachi game to be released since DoDonPachi Dai-Ou-Jou on the single board PGM hardware. The new purpose built hardware offers significantly more CPU power, and a higher fill rate with more flashy blending effects but oddly runs at a significantly lower resolution than the PGM board resulting in less detailed graphics, the sound hardware is also quite limited so most music sounds like low bitrate MP3s (because it essentially isn’t far off that) rather than the carefully sequenced music present on the PGM platform.
(first there was DonPachi, then DoDonPachi, then DoDonPachi II Bee Storm, then DoDonPachi Dai-Ou-Jou, and now DoDonPachi DaiFukkatsu has been emulated)
All the stuff from the old driver is there too, there have been sound fixes and the like applied to the sound cores since it was last officially in the source, so there are definitely some improvements to be heard.
(Mushihime-Sama Futari Ver 1.0,Ver 1.5, Black Label, Espgaluda II, Mushihime-Sama)
(Deathsmiles, a more accessible horizontal effort)
(Ibara, Ibara Kuro Black Label, Pink Sweets: Ibara Sorekara, Muchi Muchi Pork!)
Last year I highlighted the diversity we were seeing as one of the big positives, showing how the mindset of the team was becoming more open, and how our code and cores were applicable to many more areas than the original MAME vision.
While I can’t say this year has seen quite the same level of breaking into new territory it has seen continued improvements on some of the periphery areas of MAME, the Pinball drivers have seen a steady flow of work for example with many more now booting and responding to inputs.
(Some pinball displays were emulated)
(Some of the older ones didn’t use Dot Matrix displays)
(even more Pinball Displays)
(This sure is a lot of pinball displays..)
(I think that will do…as you can see, lots of Pinball displays were improved, even if they can’t hook up to anything yet)
Preliminary emulation of other coin operated arcade devices was also added, the CPU code for a 24 CD Jukebox happily runs, showing the manufacturer information (MIDCOIN) between flashing ‘Insert Coin’ at you should you choose to run that set and towards the close of the year we also saw preliminary emulation of the video section of a coin operated electronic darts board.
(Midcoin of Italy made this Jukebox for Arcade use)
Maybe this doesn’t belong here, but one system on which there was progress over the course of the year was the Microvision. In reality it’s just another handheld system but it is rather unique in that it used a display of only 16×16 pixels, that’s a similar size to the ‘favicon.ico’ some websites use although in this case there wasn’t even any colour. It’s a very early system as you might guess and all the cartridges use MCUs rather than traditional ROMs so getting dumps of any of them has been a huge challenge. The system is still considered non-working (progress at the start of 2014 has since improved things further) but you can boot them up, and get them to do a couple of things. Just make to use -video ddraw and a high level of prescale! These shots have all been zoomed from 16×16 to 128×128
(At 16×16 pixels the Microvision display could certainly be classed as low resolution, the games don’t quite work properly yet tho)
Again I’m not sure the following really counts as diversity, but it does demonstrate emulation of a system just as primitive as the Microvision. The RCA Studio 2 (made in 1977) has been in MESS for a while now, but last year saw a number of fresh dumps for the system including ‘Star Wars’, ‘Concentration Match’, ‘Bingo’ and ‘Pinball’ This isn’t the most obvious to use system, at first it looks broken but if you hit F3 then ‘Q’ the games start. The controls are a little weird too and it takes some imagination to work out what is going on!
(Back when the Studio 2 was released in the late 1970s games required a lot more imagination)
The Visicom is a very similar system, but in the case of the Visicom we saw actual emulation improvements during the year (corrected colours) as well as the addition of a Software List containing a single dumped game called ‘Sports Fan’ which appears to be a Baseball game (and possibly more, but I haven’t figured out how to use it fully) Without a cartridge the system acts as a (very) basic paint package.
(The Visicom is very similar to the Studio 2)
The Sega Visual Memory Unit (part of a Dreamcast Controller) is another system that shows how we can emulate some rather difference pieces of hardware within the project, and also shows how at times we can be open minded about what ends up in a software list in cases where it can be used to test the emulation. In the case of the SVMU all the game data is actually uploaded by the Dreamcast so if we were to enforce a ‘pure’ set of rules you’d have to create it yourself in the Dreamcast driver before trying it. Instead we’ve allowed the Software list to contain the ram dumps for a number of known games in order to facilitate easy testing. This means to run them you simply need to go through the VMU time/date setup then hit ‘M’ to change to game mode.
(The Sega Visual Memory was a memory card that plugged into the Dreamcast controllers and allowed games to be uploaded for standalone play)
We also saw the computer part of an electronic dart board emulated, in this case the Arachnid 6000 – Super Six Plus II English Mark Darts system. I believe this marks a first. Emulating the rest of it should be possible in theory with the artwork system, although aiming will be a lot easier than the real thing! There are many other versions of this type of thing out there yet to be dumped at all.
(The computer part of an electronic darts board dictates the gameplay and keeps score)
Educational systems also show a different side to the project, there are a number supported now and 2013 saw the addition of an English language one known as IT Unlimited.
(These small learning computers teach people basic computer skills, including some programming)
The little work that did get done on Fruit Machines this year included hooking the Scorpion 5 platform up so that error messages can be seen, no real attempts were made to emulate it any further tho. These have definitely ended up on the backburner. There’s a lot of rewarding progress to be made should somebody pick them tho, it does however remain a monumental task due to the vast number of configurations, although I’m sure somebody armed with the CPU manuals could do a good job of implementing all the on board peripherals for the CPUs commonly used which would help get things moving again.
(We didn’t really see much progress on Fruit Machines, a few were made to boot a bit further tho)
The vast majority of what MAME emulates is traditional driven by a CPU running code from ROMs. This however means it can’t easily cover a whole generation of games where the actual game logic was coded directly into the circuit design. The only exception to this in MAME for a while now has been Pong but until recently progress on that area, and associated areas like discrete sound emulation had stalled. The later part of 2013 saw significant efforts being made to get things moving again with such drivers, improving the framework used to support discrete systems with a goal of also allowing the discrete sound system emulations we have to make use of the same framework rather than their own one.
While MAME does still only support Pong (unlike other emulators such as Dice which support a number of other titles at this point) the actual framework and support code has improved significantly and I wouldn’t be surprised to see the list of non-CPU games supported by MAME extend beyond the simple ‘Pong’ case at some point in the new year, again showing how diverse MAME can be and how it’s starting to support things that weren’t even dreamed of when the project was started.
(Pong remains the only example of netlist use in MAME, it saw several improvements over the year)
More things I don’t understand..
This follows on from the topic of diversity very well. One of the ‘issues’ with having such a diverse library of supported platforms is that many of them are really difficult to figure out, or can’t really be used for anything interesting at all in an emulated environment (consider the possibility that we might one day emulate the firmware of a Microwave, MAME is never actually going to cook your food!).
One thing that has been evident throughout the year is that there is a lot of progress going on where it’s really difficult to know the scope and meaning of the changes being made unless you’re familiar with the systems in question. This is especially true when it comes to systems in MESS.
There has been a phenomenal amount of work done in the MESS part of our code over the past 12 months in addition to many changes made to our CPU and device emulations with specific systems in mind.
While sorting out things to definitely mention in this write-up and things that need more investigation to figure out if they’re going to spark the interest of the general readership here I found the latter pile growing very quickly.
Unfortunately if I was to actually go through each of those systems and changes, learning about each and every addition and what that meant then I’d never end up finishing this article, there has simply been so much work done. For this reason I’m sure there are many important, maybe even critical improvements to systems or add-on devices over the year that haven’t made it into this article, that’s not to say I don’t value them, they’re vital to the project and driving it forward, that’s why I’ve added this section, to acknowledge my coverage is going to have holes in it.
I will take this opportunity to look briefly at some of the changes that did end up on this list, this section is essentially a reflection of my attempts to make sense of some of them, but I give absolutely no guarantee I’ve picked good examples to demonstrate any of it!
This is also why if you really have an avid interest in a system, or emulation in general you should also check all the SVN logs from the year for yourself, or at the very least all the whatsnew and messnew files to see if something you care about has been improved, or fixed because I’m only scratching the surface here.
One family of systems that I’d put into this class are the ‘Apollo’ ones. From a changelog point of view they look very interesting, abusing a number of 68K CPU features nothing else really requires, but running one of them (for example the Apollo DN3000) merely results in an uninteresting command prompt. There’s no software list attached to the system, so while it has drives I don’t really know what I should even be trying to run. I get the feeling it’s an important system to emulate, and certainly one where emulating it proves that our project has a great amount of scope, but I simply don’t know what I should be doing with it to best demonstrate the progress here!
(The Apollo has a beefy display and seems to abuse the M68000 more than any arcade game, but I can’t find anything fun way to demonstrate it to you)
The Casio FP-200 is an early Japanese home computer system with built in display..
(The FP-200 on the other hand had a tiny display)
The Softbox is one of many systems that can boot CP/M, but again beyond that I’m not sure what you can really do with it..
(The Softbox can boot CP/M, but CP/M doesn’t make for interesting screenshots)
The Olivetti L1 M20 is a unique system using a Z8000 series CPU (a Z8001) Improvements to that driver (still considered non-working) also allow it to boot the CP/M image contained in the software list.
(The Olivetti L1 M20 is interesting and unique hardware, but CP/M still isn’t that interesting to demonstrate!)
The Attache will boot disks and has a Software List hooked up, but doesn’t seem too interesting otherwise, on of the listed disks is CP/M, so I can also boot CP/M here like with the above systems.
(The Attache can also boot CP/M)
While the Chunichi ND-80Z is an early ‘computer’ with only 8 segment display parts, you can apparently enter simple programs and run them by programming memory addresses directly, but again learning how to use it for the purpose of this article is a bit beyond the scope of what I’m trying to do here. I couldn’t even write ‘Boobies’ on it like a calculator!
(The Chunichi ND-80Z is some kind of machine / CPU trainer system with not much in the way of a display)
The Canon ‘Cat’ also saw a bunch of work done to the driver. This actually boots and seems to be some kind of Word Processor, I’m not really sure it belongs in this section, but I’m not sure where else to put it either :-)
(The Canon Cat is some kind of Word Processor)
The SVN logs from the year seem to indicate that the MTX driver was improved and should now be capable of loading .MTX snapshot files, however after multiple attempts with various different games I was unable to get anything to load, so I’m not sure the fix was complete / working. The MTX looks like an interesting system with a decent software library but the scene surrounding it appears to want to support snapshot images ahead of real media images. Needless to say this is worrying. Apparently MESS used to be able to load proper Cassette images for the system but the code was an ugly hack and ended up being removed so I was unable to test with those either. I hope support improves again in the new year because I feel it is important to start documenting the software for this system properly.
(The MTX is meant to be able to load snapshot files now, but I couldn’t figure it out)
The Lola8A also ended up with a preliminary driver. Like many systems there is no software listed so my only tests have been with the built in BASIC.
(The Lola8A is one of several drivers with no listed Software, BASIC works quite wll tho)
The QX11 is a non-working system (inputs don’t respond) but it did gain a Software List at least making it obvious what Software you need to run to get it past the ‘insert disk’ prompt. Hopefully by having things like this listed it will be easier for somebody to fix / improve it later, as well as ensure it doesn’t regress.
(The QX11 driver doesn’t yet work, but does have floppies and Software List hooked up allowing it to boot to this)
I’ve been unable to get the BINBUG system to do anything except display an extra * each time I reset it, I might be missing something but it does not seem to want to respond to inputs
(The Bin Bug lived up to it’s name)
Likewise I couldn’t really work out what to press to make the Ravensburger Selbstbaucomputer do anything interesting, although the initial screen is welcoming ;-)
(Hallo, but what next?)
The Cromemco CB-308 Single Card Computer on the other hand just seemed to want to respond erratically to inputs with the Cromemco MCB-216 Single Card Computer being similar.
(The Cromemco CB-308 Single Card Computer drver does not appear to behave well)
Then there’s the TK85, some kind of ZX-80 / ZX-81 clone, although from my brief testing of the ZX-81 driver in the past I’d be pushed to say anything in that driver really works, I get the feeling it needs a much more accurate Z80 for any level of serious software compatibility.
(the TK85, no listed software to test it with)
.. and some I just haven’t had time to test or learn
Systems like the Apple II have had various additional peripherals emulated, but many of these are things like SCSI controllers, other storage devices like Zip Drives, or Sound boards. These are all definitely important improvements, but it’s incredibly difficult to show them in action without ‘goto’ example cases, and possibly some kind of automated scripting / setup so that everything gets correctly configured. If you’re making serious use of these platforms in the emulator you’ll no doubt appreciate some of these changes, but demonstrating them is a little outside the context of this write-up.
Many of the Commodore systems fall into a similar category, they’ve seen a lot of work done to them but I’ve found my efforts to make use of the changes fruitless, either because things have regressed (there are definitely some regressions with cassettes at the time of writing) or because I’m too unfamiliar with the systems to know what I should be showing.
I’ve tried my best to make sure all the screenshots used in this article have been created fresh, for this article, but then we’ve seen significant bug-fixes to things like the M68k FPU where the only real demonstrable case is Sim City 2000 for the Mac series of computers and I have no idea where to start with running that (which model to use, if it needs installing etc.) so all I can present is the same screenshot I presented at the time, taken from the official progress announcement. Rest assured however that every other screenshot you see on this page was made specifically for this article, that’s half the point, to show that I was able to use the things and they all worked as expected!
(The only screenshot in this article I didn’t capture while writing it!)
Year of the Clones?
This year has seen a large number of clone sets turn up, and while I don’t have statistics to back me up here it certainly feels like more than your average year, or at the very least it feels like the ones that have shown up are of more significance than usual. Thinking about it statistics would probably disagree due to the vast number of Fruit Machine clones last year, but those weren’t new findings, just documenting what was already out there.
Same Game.. Different Name
Clones can be interesting for a variety of reasons, one of those is challenging what we believe the correct ‘original’ title for a game is. That might sound like a strange concept, but often game titles get changed when they’re exported, and in some cases the export versions are much more common than the original releases, so a game ends up being better known by a different title than the one it was originally released under. Obviously this happens all the time when the original titles are in Japanese because most of the original Japanese titles have little meaning to an audience outside of Japan, but it does also happen sometimes when the original title were in English.
Take Arcadia as an example. Arcadia is best known in MAME as ‘Rapid Hero’ but the version we know as ‘Rapid Hero’ actually appears to be a licensed version of the original NMK game. You could argue that ‘Rapid Hero’ is a better title, with Arcadia being far too generic. You have the Bandai / Emerson Arcadia system (the actual ‘arcadia’ set in MAME/MESS/UME) as well as ‘Waga Seishun no Arcadia’ (a clone of New York New York) also commonly known as ‘Arcadia’ and the ‘Arcadia Systems’ machines based on the Amiga (already mentioned earlier in this very writeup) In addition to this there are also various Fruit Machines known as ‘Arcadia’ as well, so while it’s an ‘obvious’ choice for an arcade game, it’s also not a very good one and in that sense it’s unsurprising that the game ended up being better known by the Rapid Hero title. It’s worth a mention that in addition to this clone being added the sound emulation in both sets was also improved significantly.
(The original title of Rapid Hero was Arcadia, but Rapid Hero is more unique / memorable)
Semicom’s Wivern Wings is another example of this. In the case of Wivern Wings the name was changed to Wyvern Wings when Gamevision licensed it for distribution outside of Korea. The reason for this change is less clear, the original logo looks better than the revised one, and the title change is so minor you have to wonder why they bothered. I can only assume there was some legal issue with ‘Wivern’ in the title?
(I don’t understand why the name was changed for the GameVision release)
Ball Boy fits with the rest of the titles here too although the story is more complex. We know that Ball Boy is hacked from the original Snow Bros. game, we know that it was released in Mexico as Snow Brothers 3 by Syrmex, we also knew that the title Snow Brothers 3 was a bit strange when all the Snowballs had been replaced with Footballs. The game had clearly been developed for the 2002 World Cup in Korea (as were a number of other games apparently, few of which have surfaced!) but none of the versions we had were the original version that was released in Korea. Unfortunately I don’t think the ‘Ball Boy’ that showed up last year is either, is has a 2003 copyright (too late) and the title screen differs from other ‘Ball Boy’ screens we’ve seen online. It looks like the Syrmex ‘Snow Brothers 3’ was actually hacked back into a ‘Ball Boy’ rather than this being the first version of the hack. I guess there is still a mystery to solve and further evidence to uncover with this one!
(Ball Boy is a more appropriate title than Snow Brothers 3 considering the content of the game, even if it is a hack of Snow Bros)>
Different Hardware / Different Protection
Sometimes the most interesting difference with a clone is when the new set uses a different hardware configuration, or different protection. We found that with a clone of Night Slashers. All the already supported sets used a Z80 sound CPU, but interestingly the USA set that was dumped last year instead used a HuC6280 setup. Maybe this isn’t too surprising because we’d seen the same with Lock ‘n’ Loaded, where the USA version uses a HuC6280 and the others use a Z80, but it makes you wonder what the reasons for the change were.
Finding a version of Sega Tetris on Taito’s H-System was also a nice turn-up, this one being a conversion of a ‘Go For The Gold (Record Breaker)’ PCB to add to the already known versions B-System conversions for ‘Nastar’ and ‘Master of Weapon’ and the versions on Sega’s own System 16 A and B platforms. It’s exactly the same game of course, because it’s a fairly undemanding title that could easily have been converted the the vast majority of 68k based platforms of the period, but from a historical and completeness point of view it’s good to have it supported.
Different hardware can make things tricky however, one thing that turned up during the year was a ‘Rev 3.00’ of the 25th Pacman Anniversary, running on a different board to the Rev 2.00 (which ran on the same board as the 20th Anniversary sets). The new board uses a Flash rom (and saves settings directly to that) instead of an EEPROM, but also has different palette hardware (the look-up ROM is gone) and different sound hardware. For original Pacman hardware colours and some sound related bits are stored in PROMS, for the Rev 2.00 sets of the Anniversary it was easy enough to see how writes corresponded to these, with the 3.00 set it seems a lot less obvious, to get any colours at all we’re having to cheat and load the lookup ROM from the 2.00 set, while sound and sprites remain a mystery. The 3.00 set (being newer) is now the parent which has mistakenly led some people to think the driver has regressed, the 2.00 clone still works fine, as it always does.
(Rev 3.00 of Pacman 25th Anniversary runs on significantly changed hardware compared to Rev 2.00)
The seemingly endless number of different variations of the Afega shooters is another where more work than you’d expect is required for each new clone. On the surface they mostly look the same, but each one has a different lineswapping encryption to figure out; nothing too complex, but enough to make them too difficult for the people dumping them to add without assistance. The clones are also quite odd, for example in most sets the title logo is drawn with sprites, in the middle one shown here it’s done with the text tilemap (hence the different colours) The games were also released in both horizontal and vertical configurations, although all the new sets were Vertical. The Yona Tech ‘Spectrum 2000’ which is clearly based on these was also released as a vertical game, a copy did show up during the year but the seller wanted about $300 for the PCB when these are $30 games at most.
(The Guardian Storm clones might look like simple additions but each one had a different ROM scrambling, used as protection, to figure out)
Another thing that can distinguish new clones and make them significantly more interesting is where they fit in terms of game revision. Discovering that a game had a much newer release than anything we were previously aware of, or even a much older release before various bugs had been fixed is always interesting.
Street Fighter II is one of the most famous and influential arcade games of all time, what we didn’t know until last year is that there was one final Japanese release of the game put out just one day before the earliest known release of the ‘Champion Edition’. Interestingly we’ve only seen World and USA releases of the earliest Champion Edition, but I suspect the Japanese one is just yet to show up. You can see the date screens below. This is significant because it shows that the original Street Fighter 2 was still being improved even at the point where the Champion Edition was being worked on.
(The new Street Fighter II World Warrior set was released the day before the first Champion Edition revision)
Not all games give clear indication of the actual date of a revision, but instead provide a version number. Mission Craft is one such example, support for a newer ‘2.7’ version was added.
(Even some Korean manufacturers clearly marked the version number on the title screen!)
Of course there are hundreds of games that give no indication of revision number at all, so we have no idea if they’re newer or older, sometimes the ROM stickers can give some indication, but even those aren’t foolproof. For cases like that it requires somebody to analyze the changes made in the ROM in order to establish what fixes have been made, and nobody has really spent any time doing that recently.
It’s always worth checking older / less known boards if you own the PCBs too, the recent dump of Who Dunit is ‘version 9’ when the only previously supported version was ‘version 8’
(Newer versions of less popular games turn up and get supported too)
Cave use an odd way to mark revisions, usually not changing the date at all but adding additional periods to the date string, for this reason we knew a new DOJ Black revision that was discovered last year was newer than the existing parent set.
(Cave used subtle ways to mark their revisions, not usually changing the date but adding punctuation)
The Taito Side By Side set that was added was a new revision of the game too! It’s hard to say what’s new, but with games of this era Taito clearly list the build dates in the service mode.
(The new Side-by-side set is a more recent build)
As already noted, the Cave driver was restored on the turn of the year, and with it there were one or two clones worth mentioning. The Pink Sweets 2006/xx/xx release is interesting, there are various rumours that it’s an unfinished version of the game, hence not having a date string at all, it also lacks the polish of the final versions, and boots straight to Free Play mode (with continues disabled) and contains a whole bunch of additional debug code and debug menus to support this theory. It’s quite a well known revision, but at the same time it isn’t really clear where it fits in! You can change this one to accept coins, so unlike the dedicated ‘Collector’ release of one of Cave’s later games this one does belong in MAME (rather than the MESS side) but it’s definitely an odd one.
(There is a lot of mystery surrounding the ‘2006/xx/xx’ version of Pink Sweets)
Sometimes clones aren’t really clones at all, but later re-releases of games with significantly modified gameplay. Death Smiles Megablack label is such a release, and isn’t really a clone at all despite initially looking like one. These days MAME tends to treat these as unique releases, with things like Street Fighter 2 Champion Edition and Street Fighter 2 Hyper Fighting being a good examples (they aren’t set as a clone of Street Fighter II World Warrior on purpose, they’re unique games despite sharing most of the assets) Anyway, Megablack label adds the much harder ‘Level 999’ difficult in addition to extra characters and an extra stage.
(Deathsmiles Megablack Label isn’t really a clone at all, but a re-released version of the game with extra content and modes)
As already mentioned the Puzzle! Mushihime-Tama set that’s now the parent is a newer revision too, with the old set becoming a clone.
The new clone of Konami’s Martial Champion sports a version string of UAE, Konami use the last letter to indicate the game revision so that makes it the newest set there too. (The first letter is the region, and the 2nd I believe is the game type in cases where there were versions for different cabinet types)
(Version UAE of Martial Champion is newer than any other set we support)
Naturally plenty of clones have turned up that are right in the middle of the existing revisions rather than being newer or older, this doesn’t make them less important, although they’re less likely to have any real surprises. There are also plenty that LOOK the same, but we only know are older or newer than existing sets because the dumper took care to note the ROM labels in both places – something else we’ve spent a lot of time fixing over the years in cases where they didn’t, or the labels on the boards they used were unreadable. An example of where the ROM labels we had helped is the Arcadia title “Magic Johnson’s Fast Break” where there doesn’t appear to be any indication in the ROM or on the screen, but the labels told us the new clone was from a version 2.7 set while the current parent is a 2.8. An example of where the labels are having to be corrected comes in the form of many of the Nintendo Vs. System games. There’s nothing really to show here in either case tho. MAME is a documentation project, so getting these things right is very important.
I’ve covered a lot of cases here where the newly found sets are more recent builds than the old ones, this is what causes a lot of the romset changes people often complain about. When a new set is found that is more recent than the existing ones things tend to get shuffled around because MAME likes to make the most recent builds the parent roms and the older sets the clone roms. This helps keep things organized, even if it might just seem annoying to end users.
Just … different
Some clones are actually just plain different. 2013 saw a ‘Ride on’ version of the original Hang On dumped, this version has 2 footpedals in addition to the usual controls, but maybe more importantly has a completely different track layout, one that we didn’t previously even know existed. For such a classic game and important piece of Sega history this was an outstanding discovery!
(The Ride On version of Hang On uses different tracks, we didn’t know that before it was dumped)
By pure coincidence another game where we found an interesting alt. version was the similarly titled Head On. In this case the new clone is most likely only a bootleg, but the new version uses a completely different maze compared to the regular versions of the game.
(This bootleg of Head On also has a different maze compared to the original)
Just … the same
Sometimes clones show up where there’s no real difference except the ROM configuration on the real hardware. In the past MAME tended to ignore alt board configurations, for example cases where sub-boards full of ROMs had been used before the MASK Roms were ready, but where the actual data was the same. These days, at least for original cases, we do try to document these alt configurations, doing so is useful to people with the hardware, and useful if people are looking at buying something because it documents that the same game existed with different sets of PCBs etc.
One example of this is the Zombie Raid prototype ROMs that turned up. The actual game data from the prototype is 100% identical to that used in the final game, but the prototype data is split across more roms. There was a small benefit in this case however, the set of prototype chips had ROMs for both the US and Japan versions so a new and different set also came out of it.
Another example of this is Back Street Soccer, we found a version, probably from a later production batch, using higher capacity ROMs but definitely also an original SunA board.
Having identical data doesn’t always make these straightforward additions tho, MAME’s Rom Loading gives for a number of possible ways to load and decode ROMs, sometimes when you find a board using higher capacity ROMs it’s necessary to rework the driver a bit so that the smaller ROMs load into memory the same way as the larger ones and a single decode function can be used.
On the edge..
One thing that is noticeable this year is the absolute flood of new Players Edge poker sets. I’m not sure how many of these are unique games and how many are clones because they all look practically the same, just with small adjustments to the game rules and different features. In all honesty I’m not sure exactly what’s new here myself, I think the alt cardsets are, so here are some pictures to demonstrate ‘The Oreleans’ card set vs. the other ones.
(Hundreds of new Players Edge Poker sets and games were added, I don’t know what differs between them)
I gave this it’s own subsection because it is without a doubt an important development, so I have to apologize for not knowing more about it. The init procedure for the games is listed in the driver if you want to do more research, needless to say it’s good to see MAME acting as a comprehensive reference for these things because it looks like they’d be an absolute nightmare to sort out without the dedication being shown!
Some of the most significant clones of the year have been prototypes, coming from various sources including the large ‘Unigame’ stash that I’ve covered a number of times here, but also other places, with both arcade and home titles showing up.
One of the interesting ones was the ‘Virus’ clone of Dr. Mario for the Playchoice 10 unit. This is an interesting clone because it shows that Nintendo used the Playchoice units to playtest games that were destined for the NES, there’s no other explaination for why Virus would exist on the Playchoice, the game had been completely reworked and rebranded as Dr. Mario by the time it hit retail shelves for the NES. Disappointingly the game doesn’t have instructions and simply gets identified by the Playchoice unit as ‘New Game 2’, the ‘Bases Loaded’ prototype that showed up at the same time likewise simply gets identified as ‘New Game 1’ without any instructions. I guess there’s a small chance these Playchoice versions were not created by Nintendo, but I don’t know why anybody would go to such an effort if they already had valuable prototypes on their hand. Technically Bases Loaded isn’t a ‘clone’ of anything in MAME, but it is just a clone of the NES game (it’s the same game code) if there was such a concept of cross-project, cross-platform clones.
(Virus, a prototype of Dr. Mario was one of two Playchoice 10 prototypes added)
(Bases loaded was the other Playchoice prototype)
The most significant of the prototype finds does however remain the Bubble Bobble 2 one discovered at Unigame. Bubble Bobble is an iconic game and the prototype that was discovered gives a unique insight into the development of the sequel to it and feels a lot closer to actually being a direct sequel of Bubble Bobble than the game that was eventually released. A prototype of the (buggy) unreleased Playstation port of the same game surfaced a couple of years ago (and oddly isn’t in the MESS Software List) but that was merely an unfinished and horrifically broken port of the final arcade game to the Playstation, the prototype that discovered here was instead a peek at the arcade game in an unfinished state with many gameplay features and design aspects not yet in their final form at all.
(The Bubble Bobble 2 prototype was one of the most amazing finds of the year, it differs in so many ways and has gameplay a lot closer to the original Bubble Bobble)
There were also prototypes for two of Taito’s 68020 based driving games, Super Chase & Chase Bombers. These prototypes differ in nature significantly. While I’ve never found Super Chase to be an especially polished game, or worthy sequel to the original Chase H.Q. games this prototype shows that it could have looked a lot worse. While the prototype does resemble a playable game many aspects were polished up before release, and for things like the introduction / attract sequel a large amount was redrawn / improved significantly. For some reason this prototype also has really dark Colours, but I think that is correct.
(The Super Chase prototype captures an earlier, but still mostly playable stage of development)
The Chase Bombers prototype is something different altogether, it feels like a much earlier version of the game at a point where the code was undergoing a major overhaul. There are debug readings all over the screen, the sprite roms don’t seem to fully match up with what the game references and there are major visible differences in the presentation such as half the screen being used for a rear view mirror.
(The Chase Bombers prototype feels more like it’s still a proof of concept than a game)
A Growl prototype also showed up, this also has a lot of small changes compared to the final version, the most striking being the font used, but there are a number of other significant presentation tweaks at the very least. The gameplay appears to be generally unchanged, although I haven’t tested to see if it has all the levels complete.
(The Growl prototype appears to be closer to release, but things like the fonts changed significantly, and it lacks some polish of the final game)
The Cadash prototype is also fascinating, while the graphics and sound roms couldn’t be read from the board due to being under a heavy layer of epoxy it appears to function correctly with the same roms as the final game, however the English translation is completely different in places, and many game elements aren’t properly refined yet or are buggy. Even without being familiar with the game I was able to find countless differences in a 15 minute playthrough of each set so for anybody with a real passion for the game this prototype is a must-see.
(The Cadash prototype has a much rougher English translation and a number of unrefined / buggy gameplay elements)
It’s harder to write much about the Syvalion prototype, but at the same time it has the potential to be just as interesting. The main difference between this and the version that was already supported is that this is an English language prototype, actually all the Unigame prototypes appear to have the region bytes set to English, which is understandable because they showed up outside of Japan, but also a little odd because they’re in-development versions of Japanese games being developed in Japan so it’s surprising to see that localization work actually took place at the same time as development, not after the games were finished. The problem with comparing Syvalion apart from the obvious language differences exist for a number of reasons, first of all the game randomizes the tilesets used for each level, so the same levels look different for each playthrough despite having the same layouts, this makes direct comparisons more difficult. Secondly compared to Cadash it’s a very simple game and the gameplay does feel close to the final version. Most of the ROMs did differ tho, and the final version uses the proper ‘Taito ‘logo, so tweaks were definitely made between the two versions, but I can’t give a comprehensive list, definitely not as many as some of the prototypes!
(The Syvalion is in English, and has a different Taito logo, but I’m not sure it differs otherwise)
Sometimes it isn’t even clear if a clone is a prototype of a bootleg, this is the case with the Spy Hunter clone that turned up with the other prototypes (and has also been found in Spain). The PCB is produced by Recreativos Franco of Spain and has bold markings indicating that it is licensed, but the PCB is dated 1985 when the original release of the game was 1983. Furthermore the actual code is clearly hacked from a released version, and the hardware capabilities significantly reduced. The original game ran at an interlaced resolution with high resolution sprites, this PCB runs at a standard resolution instead, the sound system has also been replaced with a much cheaper one. It’s possible it’s a prototype of an approved ‘low cost’ board design, or just a very ambitious bootleg. The emulation isn’t quite complete yet (inputs aren’t working) but it definitely stands as one of the stranger discoveries of the year.
(If you compare similar scenes between the new set and the original you can see the lower resolution sprites and inferior palette)
Amazingly we discovered a VERY similar 1942 board with the Spy Hunter, which again appears to be an attempt to make a low cost version of the game, maybe they’re prototypes of bootlegs. This one is even stranger however, because it has gameplay bugs not presents in the original game and not ones you’d expect to be introduced based on the changes being made. The 1942 looks mostly the same from the outside (aside different colours) but the underlying hardware and code changes are significant and ugly!
There were a number of other boards dumped around the same time, and from the same source as many of these prototypes, it isn’t clear if they’re all prototypes, things like the new Earth Joker set have different code, but could just be an early production revision and games like Suna’s Brick Zone have earlier version strings but don’t work yet due to using different protection.
From other sources there was possibly prototype of Namco’s Knuckleheads but apart from the missing RAM checks at start up I can’t really observe any differences between it and what is considered the release version of the game. It would need more investigation from a dedicated fan of the game for me to have something to write about.
All Around The World.. Again!
Something I covered last year was how far reaching the project was, showing additions from many different corners of the globe. I already opened this article by mentioning a number of rare Italian games that showed up over the course of the year but we’ve also seen an incredible number of regional clones (some official, some bootleg) dumped and supported too.
The Korean clone of Gals Panic III is an interesting one because unlike the other sets it contains less explicit images, with the theme being ‘sexy’ rather than ‘adult’
(The Korean version of Gals Panic III, shown at the top has a less adult theme)
Time Fighter is a Brazilian ‘clone’ fitting with the ones added last year in the sense that it’s actually a completely rewritten game rather than a hack of the existing code. Unfortunately it still needs work because the hardware isn’t quite 100% Galaxian, I can only assume they had to extend the capabilities slightly to handle the game.
(Time Fighter is a rewritten version of Time Pilot on Galaxian hardware, released in Brazil)
We’ve known about the connection between Namco and Sidam of Italy for a while and seen a number of boards manufactured by Sidam with slightly different versions of regular Namco games. Most of the time you wouldn’t however know they were Italian releases unless you already know they came from the Sidam boards, so it was quite surprising to see the Sidam release of Phozon actually have complete Italian text.
(It was surprising to see the Sidam version of Phozon actually contain Italian strings)
A German version of Afterburner II instead only provides a minimal translation, you’d easily be excused for thinking it was just a bootleg, but the Test Mode version number is higher than the regular English release so maybe it has some hidden secrets in the form of bug fixes if somebody decides to pull the code apart?
(The German Afterburner II has a minimal amount of text translated)
Also possibly relating to the German market (despite being a Japan set) is the dump of P47 Freedom Fighter, the original game features a number of Nazi symbols on the aircraft, the new clone has them removed, possibly because Jaleco realized some markets would be sensitive to such things or flat out ban the product.
(The new P47 Freedom Fighter clone still claims it’s for use in Japan, but has Nazi symbols censored)
When dealing with the smaller markets it can be difficult to know if games are legitimate releases, or cheap hacks, especially in areas where bootlegging was prolific. Take for example the ‘Taiwan’ Pipe Dream clone that showed up, it looks legitimate enough, but none of the actual ingame text beyond the warning screen has been changed from the Japanese version we have supported. Was it actually released like this?
(Why does a Taiwan version of Pipe Dream have the same text as a Japan version?)
The Korean market is an especially difficult one to judge, we know a lot of PCBs were produced there, but it’s never clear if some of the Korean translations were real licensed releases, or ones done locally without a license but in order to better appeal to the customer base. We saw that happen a lot in Europe (and I’ll talk about some Spanish sets shortly) but it’s not easy to know for sure with these either. Many of these games change graphic roms in addition to the programs (in order to add the Korean characters) and in some cases (as with Prehistoric Isle added a previous year) it seems like either some bits got missed (corrupt characters) or the rom dumps were incomplete. Anyway, one such addition from last year was Ikari III,
(The Korean Ikari III provides a complete translation)
Staying with Korea there was a Korean version of WWF Wrestlefest located, with very similar attract screens as the Japanese version (including the Tecmo copyright) but showing a small ‘Korea Only’ text.
(Minimal changes indicate this Wrestlefest set was for the Korean market)
One thing we do know for sure from previous years (see the 2012 write-up) is that ‘Taito do Brasil’ operated far outside of what any kind of license agreements would have permitted, acting more like a bootlegger than any kind of official part of Taito. Old Space Invaders and Galaxian style boards were common in Brazil at the time but it was still surprising to see a Brazilian release of Taito’s Indian Battle show up. This game was incredibly rare, even in Japan and was one of the first really expensive PCBs that was purchased by people supporting the project so to find out a version, with fully translated text, was released in Brazil was definitely unexpected. The copyright date shown is 3 years later, which shows you that arcade technology in Brazil was lagging behind the rest of the world, the original game is from 1980.
(Indian Battle was a VERY rare Taito game, so seeing a version by Taito do Brasil was surprising)
Back to Taiwan, and we’ve got “Cheng Ba Shi Jie – Chao Shi Kong Guan Jun” which oddly displays a for use in Hong Kong only warning. Another hack? I don’t know.
(Cheng Ba Shi Jie – Chao Shi Kong Guan Jun, is this for Taiwan of Hong Kong??)
Some clones we find end up making situations even more confusing, rather than clearing things up, we see that in full effect with the IGS PGM Knights of Valor Superheroes clones. The original Knights of Valor Superheroes saw an English language release, we know that, but after that what is official and what is not becomes very unclear.
A new clone “Sangoku Senki: Yi Tong Zhong Yuan” showed up last year (Sangoku Senki being the Chinese name for Knights of Valor) what is interesting is that it appears to be a version of Knights of Valor Superheroes PLUS, but was released before the known sets, and uses protection a lot closer to the regular Knights of Valor Superheroes. Let’s have a look at the mostly working versions and the header strings they contain.
|Sangoku Senki Super Heroes||kovsh||SANGO EX||V104 03/24/00 11:15:25|
|Sangoku Senki: Yi Tong Zhong Yuan||kovytzy||SANGO EX+||V201 03/05/04 15:16:08|
|Sangoku Senki Super Heroes Plus||kovshp||HERO||V101 12/02/05 11:12:38|
|Sangoku Senki Super Heroes Plus||kovshpa||HERO||V100 09/13/04 16:20:36|
|Sangoku Senki: Aoshi Sanguo||kovshxas||AOSHISANGUO||V202CN 25/08/08 09:59:26|
|Sangoku Senki: Quan Huang San Guo Special||kovqhsgs||QHSGP EX||V303CN 08/08/08 19:03:25|
(Trying to establish where the new Knights of Valor set fits in)
Note, there are several obvious bootlegs too which don’t currently work because they have their own protection, I haven’t included them. The Quan Huang San Guo Special is also a bootleg, it has characters ripped from SNK’s King of Fighters series so is rather obvious. The Aoshi Sanguo set is almost certainly a bootleg too, the logo looks hacked in. The non-working bootlegs have WDF text in the headers, as can be seen on the title screen of other bootleg. Some of them might be the versions with Street Fighter characters that are known to exist.
What’s interesting here is where the new clone fits in, and the header it has been given. It has a string of “SANGO EX+” (which would be Superheroes Plus) whereas the actual Super Heroes Plus sets we recognize as Super Heroes Plus have a string of “HERO”.
Furthermore the new set retains the original copyright details (including the original 1999 year) on the title screen, whereas the ‘kovshp’ HERO set does away with them. However there are other significant changes to the presentation and the codebase + date codes suggest strongly that one isn’t a simple hack of the other. There’s a further problem however, the obvious bootlegs (such as the one with the King of Fighters characters) with their 2008 build dates also look like different code bases, rather than being hacked from any existing set, compounding the issue is that they have their own protection too, as if they’re based on something newer or were somehow actually made by somebody working at IGS with access to the original code. Needless to say this is a messy situation and there must be something going on that we don’t yet understand.
For certain types of games, usually Gambling, but sometimes just Gambling themed games you end up with an interesting legal situations meaning that you not only require versions for different countries, but also versions for different regions within those countries, or in the case of America, different states. We see this with some of the Touchmaster clones that were added during the year, with versions specific to Minnesota and New Jersey added, with clear legal exemptions to state laws shown on the boot screen. Maybe not fascinating if all you want to do is run them in MAME, but interesting because it helps provide evidence for how certain arcade games were regulated. I’m not sure it applies to these sets, but in some cases we even see specific games excluded from the collections in some regions because they simply can’t conform to legal requirements.
(Touchmaster even had different clones for different states in the US)
While on the subject of local laws, Subsino were one company who exported a large number of their titles to Italy, often under different localized names. Super Treasure Island is one such game, it was released in Italy as Tesorone Dell’Isola with the usual legal disclaimers you find on Italian gambling games.
(Subsino exported many games to Italy with modifications needed for the Italian market, this is Super Treasure Island)
Communities supporting MAME – The Spanish Sets
A big positive for the year was seeing the Spanish emulation community come together to provide dumps of many of the regional clones and bootlegs that populated the Spanish arcades back in the day. This was important for a number of reasons, firstly because it helps document their arcades, shows which games were popular enough there to be cloned and bootlegged many times over, but also because it shows that we do care about documenting these things, many people seem to be under the impression that we don’t! Names like Recreativos Franco (who made the Spy Hunter board) pop up frequently here and a number of their offerings are just as interesting as that Spy Hunter board because they use clearly different base code revisions, but others seem like nothing but cheap hacks!
Unsurprisingly Scramble was a popular game in Spain with many versions of it on the market. The Recreativos Franco version is the most clean looking version, while the Reben S.A. one has slightly modified graphics and new music.
(Scramble was a popular game to bootleg, the Spanish market was no exception to this)
Moon Cresta was also a popular game, much as it was elsewhere. I’m actually going to cheat and include a ‘Star Fighter’ bootleg here as well, it wasn’t sourced in Spain, but is clearly another interesting version, they redrew a lot of the graphics on that one.
(Moon Cresta also had countless bootlegs!)
Also no surprise is that there were regional versions of Pacman. Both of these are quite interesting, the Recreativos Franco version because all the code is shifted around a bit and the coinage is different so it could be based on a different original build (or be an actual licensed version) and the ‘Video Game’ bootleg because it has a high score name feature added. The Recreativos Franco version had full cabinet art with the title ‘Pacuman’. In addition to the ones mentioend here there was a regular MS Pacman bootleg running on the same board as the ‘Video Game’ bootleg of Pacman (the board has ‘Made in Greece’ markings and is a more modern looking production than official boards) I think the board was originally made to run that bootleg rather than this Pacman version, but the actual game looks identical to the regular MS Pacman so is less interesting.
(and naturally a game as Iconic as Pacman had local versions too, although I still wonder if Pacuman was actually a real license)
Phoenix also stands as one of the most bootlegged games of all time and there was no exception to that for the Spanish market with 2 versions showing up, and others rumored. We’ve already had a Spanish bootleg called ‘Next Fase’ supported for several years, so these are in addition to that.
(Phoenix, another popular target for bootleggers again saw Spain get several translated versions)
Uni War S couldn’t escape the bootleggers either, 2 very similar versions of that turned up as well, one is probably a bootleg of the bootleg.
(The number of bootlegs of Uni War S continues to be surprising because it’s a much lesser known game)
Those are all ‘expected’ bootlegs, so you might wonder why I’ve bothered to cover them, especially when I haven’t mentioned quite a lot of original clones that were dumped over the years. I guess in part it’s because I want to highlight the message that we do care about such things (as I already mentioned) and also because they were of interest to me, and unlike a lot of bootlegs you can see a significant amount of effort went into them. There were some more unusual Spanish clones / bootlegs too, for games you might not expect.
Battle Zone stands as one of the more interesting bootlegs, mainly because it’s a bootleg of ‘May Day’ but May Day itself is clearly derived from some kind of version of Defender, but doesn’t play like Defender at all; you have to wonder if they’re originally bootlegged from some unreleased prototype. This bootleg gives the ‘Video Game’ copyright, and like a number of the Spanish ones has a screen telling you that you’re on your last life. May Day itself lacks any kind of copyright message. It’s strange to see such an obscure title get this level of treatment hence why I class it as one of the more memorable bootlegs discovered. It could also have easily been overlooked due to sharing it’s name with the much more popular Atari vector game, a fate which has no doubt seen a number of other rare games either lost or not recognized as something that is needed.
(Battle Zone is a bootleg of May Day which is probably a bootleg of something else or derived from Defender)
Another bootleg that could easily have fallen victim to this, especially with both originating in Spain is ‘Speed Up’, a bootleg of Pole Position. Gaelco later used the very same name for a 3D Racing Game, often confusing people who grew up knowing ‘Pole Position’ by that name. It’s not the most interesting of bootlegs, some replaced billboards like the Italian bootlegs, but no real localization beyond that.
(This bootleg of Pole Position shares it’s name with a later release from Gaelco)
Cosmic Guerilla is an old, and apparently quite rare game so it was more surprising to see a bootleg of that. The bootleg also raises some important questions about the quality of the dump of the original set that MAME recognizes. Currently if you run the original set in MAME it get stuck during the attract mode, apparently there used to be a hack (ROM patch) to avoid this, but it was removed. The new bootleg set doesn’t do this, but does however have an issue of it’s own; the player ship (and a few other objects) leave unsightly trails. I have a feeling both sets could actually have bad roms, not due to a dumping error but simply due to the deterioration of the chips with old (the trails are confirmed to happen on the board the new bootleg set was dumped from) We could definitely do with the ROMs for the original version verifying against another original board.
(A Spanish bootleg of Cosmic Guerilla makes me question the integrity of the ROM dumps we’re using for the original)
In addition to Cosmic Guerilla Inder SA also put out a version of Satan of Saturn, it isn’t translated but does contain an extra ROM with additional code in it. I don’t know if the bootleg is based on an undumped original version or if the extra code is something specific to modifications made by Inder, it could do with some analysis!
Not all the Spanish sets found were bootlegs however. While it appears to have been popular to bootleg games imported from the US and Japan it also appears to have been popular for European manufacturers to actually work together on both production of the PCBs, distribution and development. A connection between Itisa of Spain and Valadon of France was already known about so it was good to see the version of Le Bagnard (Bagman) that was sold in Spain by Itisa dumped and added. We’re actually still missing the original version of ‘Botanic’ which was made by Itisa and sold in France by Valadon, hopefully one day it will show up.
(Itisa and Valadon worked closely together, licensing each others games)
Tecfri managed to license Bomb Jack from Tehkan for the Spanish market. There’s nothing especially interesting about the set but it’s worth mentioning because Tecfri did produce a few games of their own too.
(Bomb Jack was sold in Spain by Tecfri, Tecfri were responsible for a number of original Spanish games)
Home Sweet Home!
The Japanese versions of games originally developed in Japan are usually the most important versions, in many senses those are the games in the form they were originally designed. When the games are exported difficulty levels often get changed without any extensive testing to make sure things are still balanced, story gets cut because it wasn’t translated, excess blood and violence is censored, and countless other minor changes are made, rarely for the better.
If you want a true reference for how a game was meant to be it’s vital that you look at the Japanese releases, or, for the case of games that weren’t developed in Japan, the release corresponding to where the game was developed because the same applies!
The newest Japan version of Street Fighter II was already highlighted in a previous part of this section, but we’ve seen support added for Japanese versions for a number of other titles too. SNK’s Mechanized Attack was one such title.
(There was previously no Japanese version of Mechanized Attack supported)
Sega’s Dynamite Dux got a Japanese set supported for the first time, as did Turbo Outrun. Further Japanese clones of Cotton, Eswat, D.D Crew were also added, often with unique encrypted CPUs that needed dumping too so always good to see those done, even if there’s nothing to really show here.
(Japanese versions of 2 Sega titles)
Looking at Taito instead a Japanese Chase Bombers is now supported, that makes it 2 additional variations of Chase Bombers supported because we also saw the prototype version dumped as I’ve already covered.
The Japanese release of Continental Circus was added too, although this appears to ONLY work with the deluxe ‘3D’ cabinet, and therefore flickers wildly under MAME. A Japanese release of Enforce also designed for the 3D cabinet (and more complex analog controls) as also added, although the controls haven’t yet been hooked up properly! While it’s a non-working game a fresh dump of Air Inferno coming from a Japanese board allowed an error to be corrected in the source (it was thought a ROM was missing from the other set, but that was an incorrect assumption)
(Lots of Japanese clones of Taito games, not all working drivers tho)
The Japanese version of Grand Striker contains the original team lineup, all the other versions use extra ROMs to replace the final 2 teams with different ones, the driver as a whole still needs work tho, the rotation layer used for the ground still makes as little sense as ever.
(The Japanese release of Grand Striker uses different teams, including, unsurprisingly Japan, this is the original lineup)
Sometimes Japanese versions can look strange tho, even if the games are developed in Japan they’re sometimes based heavily on American IP, as is the case for the WWF wrestling games. A proper complete dump of the Japanese WWF Superstars allowed that to run with full Japanese text.
(You associate the WWF more with America than Japan, but the games were developed in Japan)
An unusual one is ‘T.T. Fitter’ which turned up on what appeared to be a bootleg board, however Taito were known the use ‘T.T’ to describe some of their games (Table Top? Cocktail versions?) so it might actually be an original release of the game. The parent in MAME at the moment is Round Up, which seems wrong to me because that’s a licensed version.
I’ve already mentioned the Japanese Zombie Raid and Dragon Gun sets so no pictures of those here. Other Japanese releases like Punch Out!! and Suzuka 8 Hours 2 were added, but it’s hard to see any real difference.
I can understand that now!
I’ve talked about clones from all around the World, highlighted where we’ve found Japanese language sets, Korean language sets, as well as ones from a variety of European countries, but sometimes what interests people the most is when an English language version of a game is discovered when that game was previously only known to exist in Japanese.
Sometimes those English language versions are actually Asian releases, Korean releases were often released in English, and that might well be the case with Gallop Racer, a new set was added with full English texts, but the version number on startup has a ‘K’ appended to it, possibly indicating it was for the Korean market.
(An English version of Gallop Racer, possibly for the Korean market)
Shanghai III is another where an English language set (this time for the US market) was uncovered.
(We didn’t know there was a Shanghai III in English until it showed up)
Sega’s Strike Fighter was another
(There really isn’t much different with Strike Fighter, just a few bits of text on the how to play screens)
Even a world version of Namco’s Star Blade was added, although there really is no visible difference apart from the startup warning being absent.
One recent source of bootlegs has been official online services offering games for playing on current day consoles, for example the Virtual Console service and official re-releases of games using emulators for ‘classic’ modes and such. Sometimes unreleased games, or at least unreleased versions of games end up on such services and are promptly ripped and used on bootleg boards. One such example of this is Wonder Boy in Monster Land. For a long time the only known arcade versions of the game with the text in English were bootlegs with questionable translations done by the bootleggers. What’s odd is the home versions were all said to be based on an official English translation, a translation that had actually been done by Sega, for the arcade version, but there was no trace of that arcade version at all. That version did end up being released on Nintendo’s Virtual Console platform, confirming it existed, at least in some form, and PCBs that ran the existing bootleg versions ended up being converted to this new version and sold.
Unfortunately these versions have a few bugs, for example trying to use your magic weapon will cause the game to pause and consume your entire stock, I suspect this is due to changes made to the game before it was released on Virtual Console in order to work around bugs in their emulator, but with the side-effect of introducing new bugs when running on real hardware or in an emulator doing a proper job. It is still unknown if a REAL, non-bootleg English language version will turn up, but for now it’s quite interesting to see how ‘modern bootleggers’ (eBay sellers etc.) made use of this version we were gifted in order to try and get better prices for their junk. Below are some screenshots of the various versions, this new version is shown in the middle.
(Current day bootleggers have seized upon Virtual Console releases to make new bootlegs, this one, center, has an interesting backstory)
All the other clones…
If you’ve contributed a clone to MAME and I’ve not mentioned it, don’t worry, there are many clones I haven’t mentioned but every single one that was included is worthwhile to our documentation efforts. The ones I’ve mentioned are typically the ones with more of a story behind them, or where I feel people are likely to want to investigate things a bit more. Random clones, even ones without a version numbers are important to support, as are alt. regions because they all help build up a more complete picture. This applies to both Arcade games and Home systems, although obviously it’s easier to tell if a ROM is the same as another ROM as opposed to dumps form CDs and cassette tapes where other factors come into play.
One thing I have continued to notice, especially with the home systems is the sheer number of missing originals. A lot of the collections like TOSEC only have trained, or hacked images, or worse, memory dump / snapshot files of certain games. It seems for a lot of original cassette and disk based systems no real effort is being put into dumping them. While as an end user you might also consider such things to be ‘clones’ I continue to feel it is important that original versions of games, as well as the pirate versions get documented.
So please, if I haven’t mentioned a clone here don’t be put off, it’s simply that I could write an article the size of this one on the clones alone so have to be selective in my coverage!
Console Improvements (where Arcade platforms have also improved)
There was a period earlier in the year when progress was being made blow for blow on improving the Sega Saturn and Sony Playstation emulation. I think it’s fair to say the Playstation won out in the end because it’s a system much more amicable to the way MAME / MESS works than the multi-core beast that is the Saturn but it did lead to some worthwhile improvements both to the emulation of the consoles and emulation of arcade games using the hardware, although especially with the Saturn there is now a lot of room for optimization.
Part 1 : Sega Saturn
Specific fixes were mentioned for a number of Saturn titles, including ‘Heisei Tensai Bakabon Susume! Bakabons’ allowing the inputs to work.
(A fix made to the Saturn emulation allowed for functioning controls in Heisei Tensai Bakabon Susume! Bakabons)
and improvements to the Saturn DSP emulation (a criminally underused sub-CPU) allowing Magical Hoppers to run, although emulation of this is VERY slow, and a number of other titles using it appear to have regressed when it was converted to a real CPU core.
(Magical Hoppers makes use of the Saturn DSP, although it runs slowly as a result)
Fixes to the disc reading improved things like Zero Divide, although also started to reveal issues with the actual CHD images being used, and flaws in the conversion process from the original .cue / .bin files due to vagueness in the specification and a number of images breaking the rules and ending up being incorrectly converted (the whole Software List for this and the Playstation as well as any other CD systems really needs revisiting as a result)
(Other Saturn improvements saw Zero Divide start working)
Some VDP emulation fixes helped the Saturn version of Virtual On..
(Improvements to the Saturn video emulation helped the Saturn version of Virtual On)
One of the less common Sega Saturn setups was games utilizing a ROM cartridge in addition to the CD. Until last year the cartridge for “Ultraman – Hikari no Kyojin Densetsu” was not dumped and the game wasn’t playable. Once this situation was resolved the game started to run in our driver, although does still have stability problems due to emulation issues. Having a documented and verified ROM dump does of course help with running it in other Saturn emulators tho.
(The support cartridge for the Saturn game Ultraman was dumped and added to the Softare List making it clearer how to get the game to boot)/
Just for good measure I tried a bunch of other Saturn titles and made screenshots of them. Performance is also very poor on many of these tho, some of them definitely ran better around the time the fixes were made than they do now, especially things like PD Ultraman Link.
(A selection of Saturn games)
The Saturn improvements also fixed long-standing issues with the ST-V driver, most notably from my point of view the irritating issue that was causing a number of games to boot up with 2 credits already inserted. Some unique games also improved to the point of being playable “Zenkoku Seifuku Bishoujo Grand Prix Find Love” being one of them.
(Arcade title Zenkoku Seifuku Bishoujo Grand Prix Find Love was fixed by the Saturn improvements)
Video rendering for the modes used in Virtual Mahjong II – My Fair Lady was another fix made over the course of the year. The Saturn is a very flexible system, so a lot of screen modes and effect combinations are only used in a handful of places, this one was rather uncommon.
(Visuals in arcade title Virtual Mahjong II – My Fair Lady were also improved as a result of the Saturn console fixes)
Unrelated to the console improvements was a fix for the game logic in Tecmo World Cup ’98. Unfortunately it’s more of a workaround than a fix, the game checks some values in the data it passes through the protection device when decrypting the title screen logos etc. so while the correct values to pass the protection check have been found the title logos are still corrupt because the encryption hasn’t been figured out.
(Protection was bypassed in Tecmo World Cup ’98, fixing the gameplay rules)
As you can gather from my constant mentions of performance issues and regressions throughout this section the driver(s) for the Saturn based platforms still need a lot of work, hopefully we’ll see more improvements in the coming year to address both compatibility and performance issues. There are games I wanted to include screenshots of in this writeup that definitely worked earlier in the year, but don’t work at the moment, so it’s worth trying earlier builds.
Part 2 : Sony Playstation
We entered the year with the Playstation driver not in the best of shape, but with people showing an interest in improving it. The biggest step towards this was getting the actual Playstation driver to boot CDs, this opened up many new test cases for the emulation, highlighting countless defects and providing the opportunity to fix many bugs. Things like Dual Shock controllers and Memory Cards are now supported, the video emulation has seen countless fixes and much more.
As mentioned above, improvements to the Saturn driver were going head to head with improvements to the Playstation driver at one point so I ended up doing quite a lot of testing of the Playstation driver around that point. Let’s have a look at a random selection of games that now run in the Playstation driver starting with Woody Woodpecker Racing, a relatively unknown title, but one for which a game specific fix was made.
(One of many fixes made to the Playstation emulation was to fix Woody Woodpecker Racing)
There are countless other Playstation based titles that are also now perfectly playable in the driver. All the games shown below appeared to perform well with minimal glitches.
(A random selection of Playstation games I tried, most seemed to work very well!)
Just for laughs I tried running the NES emulator for the Playstation, it also works well.
(Is it an Amstrad CPC? Is it a NES? no, it’s a NES emulator for the Playstation)
Finally, just because I was curious I tried running the Playstation Bubble Bobble II prototype, it works fine. I found out about the existence of this prototype when searching for any possible information about the Arcade version prototype that was dumped last year. This prototype is of course a prototype of a port of the final game to the Playstation rather than a prototype of the actual game, it was apparently set for release but is so full of stupid bugs and incorrect game logic it’s probably a good job it wasn’t! One of the most famous examples of a bug in this is the way the ‘PRESS START’ icon for the 2nd player still has collisions enabled and causes bubbles to pop even during a one player game!
(The Bubble Bobble 2 Playstation prototype is completely unrelated to the arcade one that was dumped)
While compatibility and performance of the Playstation driver is very good (with the majority of titles staying above 100%) it does still have limitations. Games protected using the libcrypt system don’t work due to limitations of our CD code, and an inability to convert the various simulation files that exist into real CHD sub-data, or convert clone CD images. Likewise many games have issues with black screens during FMV sequences. Some also have obvious visual glitches like Worms Pinball (shown below). Overall the progress is impressive however, and in my opinion one of the most significant improvements made in the past year.
(Not everything in the PSX driver worked as well as I had hoped however, it still has limitations..)
If we look at the arcade side of things and the various hardware platforms based on the Playstation that were used there then the year just gone saw long standing glitches in a number of games fixed in addition to a couple of titles being improved to the point where they could be marked as working.
One such game was Night Raid, there is a Playstation version of this too but the arcade version is the one I’m looking at here, it runs on the Taito G-Net platform which is essentially a much higher clocked Playstation. Previously it had lots of missing graphics but those are now fixed. Interestingly I’m told the Playstation version suffers from the same issue in some of the popular Playstation emulators, I didn’t try it in ours tho.
(Taito G-Net game Night Raid improved and became playable as a result of the Playstation console fixes)
Aother G-Net game to gain playable status was Zooo. Previously only half the graphics would draw rendering the game unplayable.
(Zooo now correctly displays all the playfield graphics so is properly playable)
One example of where an already playable game ended up being improved was pointed out too. Prior to the Playstation improvements the moon was missing in the Street Fighter EX intro sequence, it’s there now.
(Other emulation fixes made the moon visible in the Street Fighter EX attract mode)
The drivers for the Playstation based dance titles also saw some new dumps supported and general cleanups applied. The ‘Digital’ ones are still non-functional, but things like Dancing Stage ‘Internet Ranking Version’ are amongst the titles now promoted to Working state.
(The Internet Ranking version of Dancing Stage now works)
Part 3 : Sega Dreamcast
First of all, don’t expect any Dreamcast or Naomi stuff to be running at playable speeds in MAME just yet.. This section is merely to highlight some progress that has been made on the driver. One feature of the Dreamcast a lot of the console titles used was the YUV encoding, typically used for video sequences. For GD-ROM based games on the console this made a lot of sense as the way things were setup meant such data could be streamed from the GD-ROM where they had plenty of space to waste on such things. Until the actual Dreamcast was emulated this feature wasn’t really high in the list of priorities because very few arcade titles used it (Space is at a premium for Naomi games because everything is loaded into RAM once at startup) At least one arcade game did however use the feature for movies, and that game is Lupin The Shooting.
(YUV decoder improvements allow the video sequences to play in Naomi title Lupin the Shooting)
Like I mentioned tho, this all came about due to work on the actual Dreamcast emulation, which amongst other things is now capable of actually booting some GD-ROM Images. A variety of changes were also made to the PowerVR emulation allowing for the semi-transparent solid colour shapes used in the system menus to be drawn etc.
(The system menus on the actual Dreamcast were improved too)
Not many games boot, and most of the ones that do hang after a few screens or don’t respond to any inputs, but you can get Chu Chu Rocket to progress to gameplay at least. In all honesty I didn’t spend long testing this because it all takes too long to do anything.
(Not many Dreamcast games run, but Chu Chu Rocket can get to gameplay)
While it’s nothing to do with the actual Dreamcast emulation improvements a number of Naomi games were added during the year, as you’d expect the emulation is preliminary, but Mars Tv. and Shakatto Tambourine 2K1 SPR do boot. Crackin’ DJ Part 2 complains about the JVS board, while Touch de Uno! appears to crash the CPU while lodaing.
(A selection of Naomi additions)
(Not all of them boot tho, Crackin’ DJ 2 wants a custom IO board emulated)
Other Console Improvements
While it might have gone mostly unnoticed it’s been a year of significant changes for other big name Console systems in the project too, although often in low-key areas.
Drivers like the Sega Master System have continued to mature and advance thanks to a steady flow of submissions, with attention being given to a number of peripherals and the specific behavior of various clone models which many unofficial converted games released to the Asian markets rely upon to function correctly.
Old design warts have also been ironed out for things like the SNES, with add-on chips now correctly installed at runtime rather than having to be designated as separate systems. This provides a boost for usability, although performance for many of the add-on chips is still lacking and has dropped over the course of the changes. This applies feature applies to all the add-on chips, both first-party Nintendo, and others created by the likes of Seta. This is a very important improvement as previously you had to know exactly what was in the cartridge and run it on the correct (fake) machine type, now you don’t have to worry about that, only the performance issues some of the chips bring!
(SNES games using special chips can be launched from the Software List without requiring special machine types now)
The new slot system allows addons which had their own slots like the Sufami Turbo to actually act more like the original hardware and present additional slots to the user when mounted, again rather than having to be treated as a separate system.
(The slot system improvements allow easier use of the Sufami Turbo too)
The BS Card support works in a similar way, adding an extra slot. Below is Same Game both with and without a memory pack.
(Preliminary support for the BS unit allows us to see the different title screens in Same Game)
There are of course some SNES add-on chips that MESS doesn’t emulate yet, the knowledge is out there, but either the underlying emulation isn’t good enough, or simply nobody has applied that knowledge to the project yet. Work is being done to change that however and some of the more specific changes and improvements to the SNES emulation came in the form of improvements to the emulation of the SA-1 add-on chip and identification of a few games that use it but weren’t being marked as such, Super Shougi 3 for example.
(Some games had previously not been correctly identified in terms of the extra chips they use)
Other games already known to use the chip saw significant improvements due to more complete emulation of the chip, the Mario RPG being a well known one.
(SA-1 improvements made Super Mario RPG look better)
With the new functionality it was also possible to emulate things like the Powerfest ’94 competition cartridge.
(The Powerfest ’94 Competition cart runs too)
The SNES, like so many systems had a collection of unlicensed games, usually tied to other popular IP. While on systems like the Mega Drive / Genesis some of this material wasn’t too bad the quality of the SNES releases appears to be diabolical, with games barely playable at all. We now emulate the protection on a number of them avoiding the need for patched dumps at least. The unlicensed version of Aladdin is amusing because the SNES did actually get an Aladdin release, but it was a completely different game made by Capcom, instead of using that as a base the people making this unlicensed version ripped all the graphics from the Mega Drive version and attempt to make a ‘game’ around them. The fighting games suffer from barely any animation and nearly entirely unresponsive controls, by design.
(The SNES had a number of unlicensed games, despite Nintendo not wanting any on the platform)
There was also an interesting multi-game bootleg full of NES games, 20 of them, this is one of the few multi-game cartridges where the dump is complete, most have the banks missing due to being dumped with tools that fail to recognize the banking. The actual games currently lack sound and some hang however, this is likely due to flaws in our SNES emulation.
(A NES multigame for the SNES, I’m surprised these weren’t more popular!)
The Sega MegaDrive / Genesis also benefited from the improved slot system, and while there are less games with additional CPUs in the cartridge (really only the one, Virtua Racing) that can also now be launched using the Software List without having to use a special fake machine type to do so.
(The Genesis version of Virtua Racing can now be launched without a special machine type, the extra CPU is automatically added)
The added flexibility also allows cartridges to define their own additional slots leading to the possibility of emulating the Sonic & Knuckles lock-on technology, meaning you can mount the Sonic & Knuckles cart either alone or with any other cartridge plugged in allowing the feature to be used as intended rather than requiring hacked / pre-combined ROM images. This also means you can lock it onto any MD cart and play the randomly generated ‘sphere’ bonus game associated with it.
(The more flexible slot system allows the proper Sonic + Knuckles lock-on mechanism to be emulated)
The way our code is structured also made it easy to add support for the extra hardware found in a number of 3rd party releases, such as Super Fighter Team games ‘Beggar Prince’ and ‘Legend of Wukong’
(Some unlicensed games with custom SRAM / banking setups can now run)
Some less well known unlicensed games also work without patches, Thunderbolt II for example.
(Other unlicensed games can run without any need to patch the protection as long as you run from the Software List)
and pirate games intended to cash in on popular games for other platforms
(Super Mario World 64 was another pirate game, the protection was emulated rather than patched)/
NES / Famicom
The NES has also seen improvements throughout the year, additional ‘mappers’ supported, corrections to information in the softlists, extra peripherals supported, not to mention the numerous improvements to the original Japanese Famicom.
Games like Impossible Mission II, Klax, Napoleon Senki, and Mei Shao Nv Meng Gong Chang are amongst those to benefit from the improved mapper emulation, in reality many, many games improved due to additional mappers being supported, too many to list here!
Impossible Mission 2 was one of several games to benefit from improved Mapper support)
(Mei Shao Nv Meng Gong Chang was another)
(as was Napoleon)
(.. and Klax)
In some cases the main thing required was to identify the correct mapper a game should be using, in the case of ‘Wei Lai Xiao Zi’ it started working after being set to the correct ‘Sachen TCU-02’ mapper in the Software List.
(for some games like Wei Lai Xiao Zi we just needed to identify the correct mapper to use)
Mappers like the ones used by the Lagrange Point gained the ability to install the additional sound chips used on those cartridges allowing for proper sound emulation (although the game still has single line raster glitches, a not insignificant problem that still remains in the NES driver)
The Japanese version of Gimmick is another to benefit from an addition sound chip in the cartridge too providing a fuller soundtrack than the non Japanese releases. I’m not sure about the sound balance in these tho, seems wrong to me.
(You can’t *see* the improvements here, but these games now have an extra sound chip hooked up, giving more complete music)
The slot system in MESS also means you can make use of the NES Game Genie (although in reality the MAME cheat system is far more capable). Here we see the Game Genie with Tiny Toons Adventures plugged in, the first screenshot showing a ‘9 lives’ cheat, the 2nd one showing a cheat to start at a later level.
(The slot system allows for emulation of a real Game Genie, although the built in cheat system is better)
Nantettatte!! Baseball also gained the ability to have sub-cartridges plugged in for different team lists.
(The Nantettatte!! Baseball sub-cartridges allowed the game roster to be updated)
The Japanese version of Arkanoid can be played with the paddle controller now too, assuming you run it on a Japanese NES (Famicom), enable it in the menu and map the buttons correctly. This gives a much more natural experience feeling closer to the arcade version due to the greater freedom of movement (technically this was possible before, but it looks to have been broken for at least 6 years) I believe the USA version already worked with the paddle, but the hardware connects to the regular controller port there instead of the expansion port.
(The Famicom version of Arkanoid can now be played with a Paddle)
One of the most interesting NES / Famicom related developments was support for the tape cassettes used by Famicom Basic. This isn’t the most straightforward system to use, different BASIC programs are only compatible with certain versions of BASIC and several games require special loading techniques, and in addition you MUST make sure you have the Famicom keyboard attached in the emulation for anything to work at all. Once you figure all that out tho it can be an interesting experience, you can load several of the games from the cassette tapes listed in the software list (it would probably help if the BASIC ver. / loading type they required was listed) and even LIST the BASIC source of the program after loading them. It’s fair to say none of them are amazingly good games, but it gives insight into a different side of the Famicom.
(Famicom BASIC games can be loaded from Cassette, you can even see the BASIC listing)
Actual Famicom emulation was improved too, it now correctly recognizes the ‘no disk inserted’ condition and does some cute animations with Mario and Luigi..
(The Famicom ‘No Disk’ animation now plays correctly)
I mentioned the Virus (Dr. Mario) prototype for Playchoice 10, well different versions of the same game also turned up for the NES, these were added to the Software List.
(A version of the ‘Virus’ Dr. Mario prototype was also found for the NES, it differs to the Playchoice version)
The NeoGeo Pocket received a number of fixes targeted at fixing problems with specific games. Of note Pocket Tennis for the original monochrome system, and Gals Fighter for the newer colour units both now work.
(NeoGeo Pocket compatibility was already good, but fixes for certain games made it even better)
Some older console / computer systems saw improvements too, for example the Atari 7800 gained support for the ‘XM’ board, a modern expansion unit that gives the system additional RAM (including battery backed RAM for high score saving) and a POKEY chip for improved sound. There was no listed software using this, although the readily available Donkey Kong XM Demo (single loop only) makes use of it, I’ve since added that to the Softlist for easier testing (in 2014). The way this expansion has been hooked up isn’t really in line with current MESS standards as the additional chips have been added to the base model, but I’m sure this can be improved. It was specifically noted with the change to add support for Donkey Kong XM that care was taken not to break Ball Blazer or Commando, although I suspect handling this properly (and only adding the extra chips if the XM unit is attached) would avoid that problem by default.
(The XM expansion board for the Atari 7800 was emulated, allowing the modern Donkey Kong XM to play the additional POKEY sounds)
Cartridge support was added to the Acorn Electron driver, but the games I tried (Hopper, a Frogger clone, and Snapper, a Pacman clone) run at a ludicrously fast speed leaving them basically unplayable, it seems like some timers, flags or interrupt generation is very wrong. The educational software ‘Logo’ on the other hand performed well. Useful progress for testing, but hard to really recommend anything here due to the aforementioned driver issue.
(Snapper is a Pacman clone, but runs FAR too fast)
(Hopper is a Frogger clone, but also runs FAR too fast, especially the timer!)
(Logo is a lot more usable)
I talked about Virtual Boy a fair bit in the 2012 write-up, but actually a lot of the important optimizations, and some regression fixes, for that system fell this side of the year. You can for example boot Space Invaders once again, although currently only the ‘2D Classic’ mode is really playable due to some missing graphics in the other mode. It feels a little weird running Space Invaders on this kind of hardware!
(The Virtual Boy saw performance improvements, and some small regression fixes during the year, still has a long way to go tho)
It’s not all been good news tho, a number of people are unhappy with changes made to the PC Engine / TG16 driver which have dragged compatibility, performance and usability down compared to last year. Some of these are unavoidable due to the perverse nature of the video system and way in which games do mid-screen resolution changes, with the new code handling them much better and avoiding a lot of ugly scrolling artefacts that were previously present, but a number of the other problems appear to be genuine regressions and the slot system updates also took a toll on the performance compounding the issue.
One of the biggest things with Console emulation in MESS for 2013 was the improvements made to the Save State support. People using MESS for the first time after using other emulators expect things they take for granted like Save States to work fine, but until recently that really wasn’t the case for a large number of the drivers in MESS. We leave 2013 with that situation greatly improved and all the major systems now having reliable saving.
Under The Surface
A lot of work goes into MAME all the time to prepare it for the greater demands of the home systems emulated in the MESS side so it is unsurprising when some of the major changes made throughout the year are to this effect. The 6809 / 6309 / Konami CPU series cores for example were rewritten from scratch with the aim of being much more accurate. The Konami CPU is of course only used by arcade titles, and little accurate timing information is available on it, but the timing of the CPUs on which it is based are now significantly better.
The DSP16 core has also seen improvements, eventually this will be used to properly emulate the Qsound chip found on many Capcom games (with a performance cost of course) but right now it still has too many bugs to run the code properly. There’s also a chance there are still issues with the dump of the internal Qsound rom, although confidence was high enough to make MAME require it as a device ROM for all systems using the Qsound chip. That’s actually another area in which we’ve seen some significant changes under the surface, more and more bits of the emulation are being converted to proper devices, and thus expecting their internal ROMs to be present in the device sets rather than the ROM sets. This model, originating in MESS is also why we can now store the Yamaha sample data in a proper ROM file too.
Sometimes changes have unexpected benefits, one thing we saw rewritten in 2013 was the EEPROM handling code. Many arcade games (and home systems) used EEPROMs to save settings etc. so this was potentially a risky change. While in the end the change did cause some temporary disruption, and didn’t fix a number of issues (for example Kick Goal not saving settings – something that we really need to verify on a PCB) it did have the unexpected benefit of apparently preventing Semicom’s Mr. Kicker from crashing when you reload after getting a high score. The game still requires a valid default EEPROM to boot the first time, so it’s hard to know if the problem is 100% fixed, and the NOT WORKING tag wasn’t actually dropped during 2013, but after testing it while doing this write-up I’ve decided to remove the flag due to the fixes made during the year.
(While no specific work was targeted at making it work the Eeprom rewrite does appear to have fixed Mr. Kicker)
Lots of general code reorganization took place too, we saw generic Tilemap ‘device’ objects too for example, allowing really simple games to define their tilemaps in less code. There’s no real end user visibility of this type of change tho, so it’s hard to really promote it in a write-up like this one.
Small but Still Important
This section is in a similar vein to the above, but more focused on where changes have been made with improving a specific game, or user-visible feature in mind, as opposed to ones where that has happened unintentionally as part of other progress.
New Features / Feature Improvements
It would be easy for some of the changes made this past year to slip under the radar but to specific audiences they’re very important ones. The way MAME handles gear shifters was improved, previously MAME only really supported them in a way that made using them on a regular PC easy, with automatic toggle logic for the shifter rather than requiring a button to be held down. When interfacing with real shifter controls this wasn’t ideal, and was long the bugbear for a number of MAME users with such setups.
While the option still isn’t very visible in MAME it is now possible for a user to modify their game config files to turn off this automatic toggling behaviour allowing users with actual gear shifters to make use of their controls with MAME.
One thing that we often overlook with MAME is presentation, how things look to people who aren’t familiar with the project. That’s why I’m going to mention the new icons in the Windows builds as a worthwhile improvement. With high resolution displays becoming commonplace it was a little strange to see MAME ship with low-resolution icons that seemed more like a throwback to the 90s and Win9x era. UME has had a higher resolution icon since it was first added, but it took until last year for the others to catch up.
(Better looking Windows Icons help improve the image of the project)
The ability to turn on / off the recompilers for various CPUs, or to force the C backend instead of the native ones is another important improvement in MAME when it comes to debugging things. It’s not a feature most users are going to make use of, but if you’re trying to track down a bug and you suspect the recompiler then it’s a very useful feature to have.
Lots of work was also done on the ‘QT’ debugger, this makes debugging easier on non-Windows platforms, and should hopefully encourage others to contribute.
A hack was also added so that an environmental variable can disable the threading behavior of CHDMAN, this allows a long standing hang bug with MAME’s threaded I/O to be bypassed; it causes frequent hangs when converting large HDD images on multi-core machines. A real fix is desperately needed however.
I like to record videos for progress updates on my site, so one of the most important ‘small’ fixes made to MAME over the course of the year was the one that fixed video corruption that occurred on 2GB boundaries in the output file, you can see the problem in many of my older videos, sometimes several times per video because the raw output tends to be quite large so I’m happy to have it fixed. There are still limits / problems with recording videos for systems with multiple screens or where the resolution / frame-rate changes mid-steam but those are problems inherent to almost every video format out there!
Small but Significant Driver Improvements
Some drivers have seen small improvements that aren’t really major progress, and in some cases might even be considered temporary hacks until a better solution can be found, but have certainly helped to improve the outward impression.
Koi Koi Part 2 had the colours ‘fixed’ manually, not an ideal situation, but as a temporary solution it makes things less abrasive to the eyes.
(The Koi Koi Part 2 colours were improved by hand, a real PROM dump would be better tho)
Sound is sometimes an overlooked aspect in drivers, 2013 saw sound emulation added to Heaven’s Gate
(Heaven’s Gate was one of a number of drivers where sound emulation was improved)
Cool Boarders Arcade Jam also saw similar sound improvements at around the same time, like Heaven’s Gate it uses a YMZ280B in addition to the regular Playstation sound hardware.
Still on the subject of sound, the sound banking in Logic Pro 2 was fixed, again a very small change, but the wrong samples were playing in some places before.
It might sound like a minor piece of progress, but ‘small’ changes like the changing Namco’s Steel Gunner II to use the correct internal MCU rom actually required significant amounts of work because the CPU core (a M37450) was actually lacking quite a few features that revision of the MCU code needed. As an end user you won’t notice but obviously the project strives to use the correct ROMs at all times!
Tweaks were made to the timing of the Williams blitter emulation, bringing things like Robotron even closer to having perfect slowdown emulation.
A video bug affecting Hard Times (since the game was added) also got fixed, although we still have no sound emulation because the PIC is read protected.
We’ve also seen small cleanups take place in some early Toaplan drivers, for example better video mixing for Wardner allowed for removal of an ugly conditional hack that was invading far too much of the driver code.
Work was done to start hooking up the additional sound CPU on the ST-V version of Batman Forever, although there is still work to be done before it plays sound.
The OPL key scale level order was fixed for the YMF262 improving the playback of the Doom music if the MAME cores are used to play it.
In other cases bad ROMs were identified, and support replaced with that for good ones instead, one of the main examples coming to mind being the stray pixels in Twin Cobra 2 which were being caused by the most commonly available ROM for the game being incorrect.
Various drivers saw the removal / reduction in use of anonymous timers, this makes Save States more reliable for them (drivers using anonymous timers typically refuse to save the state at all)
Over the course of the project development some useful features have been added, but sometimes misused. One of these was the ability to look up devices etc. by a name string. While this is definitely a useful feature string lookups (which get converted into hash lookups) are actually very slow. A number of drivers in MAME (& MESS) had adopted this either via automatic bulk conversions, or a lack of understanding of the performance cost of using such techniques. A significant amount of work was done in cleaning these up over the course of the year, resulting in small (or in cases where the feature was really abused, large) performance gains across the project. Real-time installing / uninstalling of read / write handlers has also become much slower in recent years, so likewise some work was done there to refactor drivers in a way that avoids it.
Ideas, Direction, Experiments
It is fair to say I’m a little disappointed not to see more movement towards a single unified project as our main offering this year, however that does not mean we’ve not seen other interesting ideas being developed within the project, ones that have the potential to change the ways in which people can use MAME / MESS.
Internal Web Server
One of these developments was the inclusion of a built in web-server, allowing for some basic management of a running instance of MAME via a web interface. If all you want to do is play games then something like that isn’t really going to mean a thing to you, but it does open the way for a number of useful features if it gets further developed.
(MAME now has an internal web server which can provide information about the current running game)
People building MAME cabinets might look forward to this feature as it would reduce the need for unnecessary extra hardware in the unit, for keyboards and buttons to bring up the MAME menus, because the new features open the possibility to handle a number of those tasks via a remote device such as a phone or another computer. On a more serious front it could result in remote debugging interfaces and the like (being able to monitor a running MAME instance + logs from outside of MAME)
Expanding the idea further maybe it could also be used as a ‘MAWS’ replacement, offering up information from the internal database directly in a user-friendly format, possibly not optimal for use on an actual web-server but certainly something that might be interesting to have locally.
‘Lua’ and Autoboot scripts
A similar under the surface change was the introduction of some basic ‘lua’ scripting within MAME. This has implications for automating and thus simplifying some complex loading / initialization routines in both projects which will could make things easier to use and easier when it comes to performing regression testing.
Being able to call scripts from within MAME / MESS also has potential later down the line. We see a lot of original home software with manual based copy protections, having a set of scripts that know where to look in memory for the correct result, and automatically enter it is essential if we’re to allow for easy testing of such software (and thus testing the quality of our emulation) without having to rely on users running cracked copies, or waste time looking things up in manuals every time they simply want to boot / test something.
The autoboot logic is also especially convenient for home systems, as you can specify the loading instructions for a game from the commandline, in it the simplest form this looks something like the following screen shows (assuming you’re using a 64-bit build of UME)
(an example commandline for using the autoboot command)
that will boot up the C64 driver, and automatically enter the command needed to load the game (don’t touch anything during this process!) The -joy1 joy part is just to ensure a joystick is plugged into the correct port so the game can be controlled. Loading does take a while because the C64 driver is very slow (it runs at about 50% speed here for most of the loading process) but this is just an example, the same can be used for several other systems!
(Boulderdash loading with the above autoboot script)
Maybe one day this could be expanded so that loading instructions could be automatically used from the software list, although a number of cases are too complex for that!
The Modern Scene / Homebrew
One area MAME traditionally fails to cover is the more modern arcade scene. I’m not strictly talking about newer games, but instead the scene that has built up around arcades in more recent times, the bootlegs created to aid in hardware repairs, or just because some unscrupulous individuals / groups have seen it as a good money making opportunity.
The MESS side of the code has always been more embracing of the current culture, supporting many add-on boards and a large amount of software that has been made freely available by the authors.
For this reasons I was glad to see the recent CPS3 multi-game bootlegs supported, these are hacked versions of the games designed to run on either standard SH2 processors, or using dead cartridges. While this is obviously a last-resort measure if your hardware dies and you’re effectively forced to run bootleg code it is useful to have these things documented and they also make it much clearer how we could run test code on CPS3 units even if we’re faced with dead cartridges. There are actually newer versions of the multi-game CDs available with bugs fixed, however some people have decided they want to make money out of their bootlegs, so they’ve been made available only to people who donate.
(Some CPS3 bootlegs were created to allow the games to run on dead CPUs, or regular SH2s)
Support for the CPS3 bootlegs isn’t pushing the envelope too much of course, the CPS2 ‘Phoenix’ sets were already supported, and allow for similar and they were also widely used as the source of various bootlegs (an unfortunate side-effect of them existing) It isn’t clear if the Cyberbots bootleg that turned up is yet another bootleg derived from a Phoenix set (it contains none of the Phoenix code) or just another conversion made using the same process that is used to make the actual Phoenix sets. It does however show that you need to be on your guard when buying any CPS2 boards these days, because a lot of people have killed them in order to get rid of the battery, effectively turning them into bootleg boards because they no longer run original code. Unfortunately this isn’t always disclosed on the auctions (or is used as a positive advertising point when really it shouldn’t be!)
In MESS we’ve seen things like the Genesis remake of Oh Mummy! added to the Software List after the developers made it available for free.
(1985 Alternativo made their Oh Mummy! remake for the Genesis freely available after selling out of cartridges)
Homebrew demos also provide a good test of our emulation because they often exploit features of the hardware that regular retail games didn’t. An example of this is a Genesis / Mega Drive demo that has no issue with telling us our emulator sucks (we should probably look into that!) While it might sound odd, things like this are greatly appreciated because they provide test cases we KNOW should work on real hardware but fail in our emulation and by fixing such issues we end up with a better emulator and test cases to ensure they don’t regress again.
(Homebrew software that has been tested on real hardware is good for pointing out flaws in our emulation)
The Williams Multi-game made it to MAME, this ended up being installed in some arcades, it currently relies on some hacks to work tho, and they could be causing reliability issues.
(The Williams multi-game was used by some arcades)
Other MAME Builds
While having a section talking about other MAME builds might seem a bit out of place in an article about progress in the official project they do remain an important part of the ecosystem. I’ve mentioned above that the arcade part of our project fails to catch a lot of the homebrew / modern developments that are going on even when the MESS part of the very same project makes an active effort to cover them. For that reason builds like HBMAME are very important because until there is a change of policy they give a place for such things to go. Obviously not everything supported by HBMAME is worth mentioning (there are a lot of cheap / uninteresting hacks) but the legitimate developments that have been tested on real hardware such as the new 1.2 release of ‘Bubble Bobble Lost Cave’ current end up there so it acts as a nice supplement to the official builds and helps ensure that these things (especially older releases that are no longer hosted) aren’t simply lost to time. I hope to see the more important homebrew developments included in MAME eventually because they represent the ‘today’ part of arcade development and can also provide invaluable testing material in the cases where people have developed test software to run on the original hardware, but until then projects like HBMAME remain very important.
(Bubble Bobble – Lost Cave is not in the mainline MAME builds, but is in many of the derivatives, for example, HBMAME)
I should also mention MAME Plus here. While I’ve tried to promote the idea of MAME and MESS being a single project under the UME ‘brand’ name and also in articles like this one, the MAME Plus project takes things one step further and simply presents the extra content under the regular MAME branding. This has been influential in the use of the MESS drivers by people who might not otherwise have used them; I’ve actually looked at several non-English sites and MAME (in the form of MAME Plus) is actually starting to become the first choice emulator for a number of 8-bit and 16-bit console platforms as a result of this. While I still find it a shame that the official project hasn’t yet taken this direction it is good to see others taking it, and people appreciating it and using code that would otherwise simply be ignored due to it being in the less popular ‘MESS’ project.
AAE ‘Another Arcade Emulator’ was for a long time the home of vector emulation if you wanted to try and recreate the ‘glow’ an authentic vector monitor would produce when drawing the lines.
2013 saw MAME gain a similar technology via extension of the HLSL system that has been in development for a while. I’m grouping this in with the ‘project direction’ changes because a couple of years ago features like this, which some might consider gimmicky, would have been rejected, but I’m glad to see this has changed because while it might still not look 100% authentic when compared to a real vector monitor (such levels of brightness etc. simply can’t be reached on a regular monitor) it does come a lot closer to presenting the images as intended.
Below you can see a comparison shot using Sega’s Tac Scan, on the left is a screenshot without the HLSL effects, on the right is one with them applied. Values are exaggerated slightly for the purposes of these screenshots, but you can see the general effect it produces.
(Tac Scan in MAME, with and without HLSL effects)
One of the big advantages of MAME and MESS in reality being the same project is that features added to either part are automatically available in the other, meaning that the Vector HLSL features also apply to the Vectrex. This does highlight how dated the actual Vectrex artwork we have is, and I’m not entirely convinced the vector/artwork alignment is correct on Spinball!
(The HLSL effects also apply to our home system emulation, for example the Vectrex)
It is rare that any driver in MAME or MESS can be considered ‘complete’ In the majority of cases there is still work to do, still improvements that can be made, work done to bring our actual emulation closer to the real hardware than ever. This is one reason I find it difficult to ever recommend older versions of MAME, sure, if you stare blankly at the ‘working game’ list you might be able to pick out a 10 year old build and on the surface it might run all the game you care about but that doesn’t tell you the full story.
Important Data East Protection Work
For the reason stated in the previous paragraph the work done on the Data East protection devices this year ranks amongst the most satisfying work to have seen and been involved in. For the majority of MAME’s life the protection schemes for the 16-bit Data East games were handled in MAME with a series of per-game kludges and half complete protection simulations that gave the illusion things worked when in reality there were some serious shortcomings and glitches in the games because of this.
Gameplay breaking bugs in Rohga and Fighters History were closed, bugs people hadn’t even noticed / reported in Funky Jet and Edward Randy were fixed with confidence; the new working status of games like Super Shanghai and Double Wings was really just a footnote to the real achievements and newfound confidence we can now have in the emulation of the protection devices being used across a significant part of the Data East library. The work was a beautiful example of where once things started to make sense everything fell together in a way that just worked because the new emulation was simply correct and we’d done hardware stress tests to prove it.
(Protection emulation improvements correct critical bugs in Rohga and Fighter’s History that have been there since they were added)
When I say that Super Shanghai and Double Wings are just footnotes it isn’t really meant in a negative way, Double Wings is, after all one of the things that has been mentioned / requested time and time again, and while you could previously play the game it was a lot easier to trigger incorrect behavior due to the protection than in some of the other games, so it remained market as NOT WORKING rather than being prematurely promoted as I feel was the case for the two games mentioned above. Super Shanghai was only playable before in bootleg form, although interestingly the bootleg was in English and the newly working original is Japanese. I don’t know if there was an English original, or if the bootleggers translated it when making the bootleg, they certainly made enough other changes. There still seem to be a couple of video priority bugs with Shanghai to sort out, mainly because the video system was changed in a number of subtle ways for the bootleg and it needs a bit of extra studying.
(The protection improvements allowed us to promote Double Wings and Super Shanghai to WORKING state)
I’ve said Edward Randy and Funky Jet benefited too. In Edward Randy handling of a protection read was missing during the car sequences, it seems to change the flow slightly in the attract mode, allowing the ground to scroll more to the side, although the exact influence isn’t 100% clear to me, all I know is the new implementation is verified against how the hardware would work. For Funky Jet the real difference you notice doesn’t kick on until you’ve completed the last level of the normal worlds; previously you’d be taken back to a glitchy ‘Select World’ screen, instead the last few levels follow directly on from where you were.
(Edward Randy and Funky Jet saw small improvements from the protection emulation improvements too)
The list of Data East hardware titles affected by these changes is as follows:
Edward Randy, Mutant Fighter, Captain America, Lemmings, Robocop 2, Super Shanghai Dragon’s Eye, Funky Jet, Sotsugyo Shousho, Nitro Ball, Fighters History, Stadium Hero 96, Dragon Gun, Lock ‘n’ Loaded, Caveman Ninja, Wizard Fire, Pocket Gal DX, Boogie Wings, Rohga, Diet GoGo, Tattoo Assassins, Dream Ball, Night Slashers, Double Wings, Schmeiser Robo
Many of these don’t use any of the protection functions, but simply use the protection device to scramble I/O offsets a little, but the key words here are trust and confidence in our emulation. The fact that all these games can now go through a common set of functions for common chips rather than having to rely on their own game specific ones is exactly the kind of progress that increases confidence in our code, testing methods, and completeness of emulation.
Other drivers have matured too without hardware testing, Taito’s Birdie King has suffered from collision issues in MAME for as long as it has been emulated, but a fix made during the course of the year should hopefully have improved things there.
(Improvements to the collision emulation make Taito’s Birdie King games work a lot better than they did before)
The NMK16 driver has also matured over the year, bringing for the first time proper sprite priorities in Thunder Dragon 2, improved sound banking in Rapid Hero and a number of other video fixes that mean you really don’t want to be using older builds if you’re running the titles in that driver. Unfortunately progress made on replacing the sound simulation on the earlier titles with actual emulation didn’t come to fruition, but I’ll mention that more later.
(Thunder Dragon 2 should have accurate graphics for the first time)
Another worth mentioning is Double Dragon. For years there has been debate over the gameplay speed, with many claiming it to be too slow in MAME compared to the real boards and others still reporting bugs with the game hanging sometimes despite there being a hack that was meant to avoid that issue. Progress this year significantly improves the emulation in that driver, especially for Double Dragon 2 with speeds hopefully much closer to original PCBs now.
(Slowdowns in Double Dragon and Double Dragon 2 now match real hardware a lot more closely, they were too extreme before)
Off Road Challenge also saw improvements, you might consider them minor, but having correct colours for the terrain makes a world of difference to the visuals in the game, previously there were whole stretches of road with very obviously incorrect textures.
(Badly coloured textures were fixed in Off Road Challenge)
Some drivers mature without any real visible results, this year also saw significant work in the Seibu SPI driver, removing a number of hacks in favour of more correct emulation, but at the same time failing to identify how some of the more mysterious video features work (blending enable) which would have made a more visible different (although Mahjong title E-Jan High School is the only one where you really notice it’s wrong right now) Emulation of the sound chip used by the system was however improved at the same time so while the games look the same as they did before they are starting to sound better.
While it’s unlikely many people will care about the games it was good to see Sang Ho Soft – Puzzle Star / Sexy Boom improved. Previously these games rendered all the images with incorrect colours, but improvements to the emulation of the VDP chip fixed this. While the screenmodes used for these images aren’t much good for a fast paced action game they are good for this type of title, as well as static screens such as cutscenes or title pages. The hardware is an MSX clone, so naturally some MSX2+ titles also benefit from this, although compatibility in that driver is still low.
(Proper support for the MSX screenmodes used by Puzzle Star and Sexy Boom correct the colours of the images)
Speed Ball, one of the older drivers in MAME, saw a number of improvements too with the additional non-video score displays hooked up, something which simply wouldn’t have been possible at the time the driver was written and until last year nobody had even mentioned was missing. They don’t really add anything to the game (all the information is already on the screen) but in terms of making the emulation complete and understanding all the outputs etc. it’s good to see it all properly hooked up.
(The Speed Ball cabinet looked like a fake Pinball table, complete with LCD scoring panels, these are now emulated)
Important work was also done on the Konami drivers over the course of the year. Large monolithic files were split up into multiple files, one for each device family to help give a clearer understanding of the purpose of each chips and make it easier to locate the relevant code. Duplicate implementations were also merged down where possible (there is still a lot of work to do there tho) and things like emulation of the timers was also improved leading to better music in things like Winning Spike. Many, many hacks were also removed from the Konami GX driver leading to cleaner code, although a couple of games have temporarily regressed as a result.
The 2D Konami drivers aren’t the only ones to have benefited from this, we’ve also seen the GTI Club driver improved with video fixes for GTI Club and improved controls in Jet Wave / Wave Shark. Visuals on Thunder Hurricane also improved at some point.
(A Number of Konami’s 3D games were improved over the course of the year)
Other old drivers like Taito’s Top Speed also had fresh eyes look at them resulting again in the removal of a number of hacks and significant improvements to the sound emulation.
(The Top Speed driver also received significant polish)
Dedication to Systems
One way in which drivers mature is when developers show a high level of dedication in an attempt to make them the best in the field. The PGM work in MAME that was mentioned earlier was the result of such dedication being shown to improving the emulation of that system, even when at one point things looked impossible. I could have easily included that here instead. These levels of dedication are more often seen with home systems tho, where people know the platforms inside out after owning them and developing on them for years, so it is more in the MESS side of the project you see such levels of dedication, although we could definitely do with additional dedicated developers for a number of popular systems!
Concentrating on the positives, the Texas Instruments ‘TI99’ series and associated TMS9900 CPU have seen an incredible number of improvements over the year with changes bringing timing in the driver and core very close to perfect. It’s not a family of systems I’m intimately familiar with myself so I’m not sure of the real-world benefits to a lot of the changes made, but it does mean you can be confident of a high quality of emulation when using the system in MESS.
In terms of software the TI99/4A is an interesting little system compared to many of the others too, it has a library consisting of a number of arcade ports, including Data East titles that weren’t really ported to a great number of other systems. As well as the large number of emulation improvements over the year the driver was also hooked up to a Software List making it a lot clearer what software was available for the system as well as making it possible to document the content of the cartridges properly.
In writing this article I’ve tried a number of them and 99% performed well and were easy to get running without any noticeable problems, which a good sign of a mature and easy to use system in MESS. The only game on the system to actually fail on me was Robotron 2084 which crashes entering gameplay 99% of the time, or shortly after if you do manage to start a game.
(The TI99-4a emulation was being refined throughout the year, the majority of games now run, only Robotron failed on me)
The Commodore machines have seen a similar level of dedication continue throughout the year with more obscure cards emulated, unfortunately basic performance and compatibility still leave a lot to be desired from what I can tell despite the attempted level of accuracy.
One addition I can write about is support in the C64 driver for the Partner 64 cartridge. This unit turned your C64 into something of a personal organizer.
(The Partner 64 is an add-on device for the Commodore 64)
Another C64 addon where we saw development was the Vizastar, which seems to be some kind of office package consisting of a cartridge and floppy.
(The Vizastar 64 is another C64 expansion device)
The Videopac G7000 / G7400 saw a fair bit of attention early in the year too, especially the G7400 side. Many games, when used on a G7400 have enhanced backdrops, the emulation of these was improved significantly. Also when running on a G7000 ‘Killer Bees’ now has the Speech emulated (not when running on the G7400 tho).
(Emulation of the enhanced background graphics when running Videopac games on the G7400 was improved)
One area in which the project has always been keen to impress is in the support for more obscure systems, including many of the Japanese ones. While it’s certainly been a quieter year this year we’ve still seen small improvements / fixes, including ones to the Sharp X1 emulation benefiting (for example) Silver Ghost. I’ve no idea how to play it tho. The actual change causes it to show the full border area, although I do wonder if it isn’t showing too much now? (Note, to see the title sequence you must force it to boot from disk 3)
(Japanese systems like the X1 saw improvements too, this is Silver Ghost on the X1 Turbo)
There are going to be regressions with any project, and keeping them under control is important especially when dealing with something the size of MAME.
MESS systems are often the worst for regressing, mainly because of the lower user base, but also because they’re more demanding, harder to use, and much harder to apply any kind of automated testing methodology to.
This year has seen improvements to the BBC series drivers, adding, or possible ‘fixing’ tape loading (I’m not sure if it ever worked before, although I guess it must have done in some capacity) This doesn’t seem 100% stable, many games fail to load unless you overclock the CPUs or rewind the tape to try again several times (it feels like the system probably misses some interrupts at times) and furthermore the base systems boot into what I assume is an odd interlace mode (@~25hz) due to the default dipswitch setup which seems to cause further problems but aside from that clearly the state of that driver is clearly starting to recover. I suspect it will need heavy analysis of the system code, MAME core code, MESS code in addition to somebody familiar with the original systems to improve it further, the current success / failure on loading appears semi-random but it’s progress, and definitely does more now than it did this time last year.
(BBC Micro Tape loading has improved, but is still randomly unreliable, you’ll see ‘Rewind Tape’ far too often, but they load eventually)
Amstrad CPC disk support is also getting better after the floppy rewrites killed it last year. Many protected disks don’t yet run but the basics once again function which is enough to load significant parts of the disk library.
(The Amstrad CPC driver can once again read from .dsk images, at least the ones without copy protection)
The Sharp X68000 driver has also seen improvements, and likewise is once again actually capable of booting disks. It’s also not perfect, but again showing signs of recovery, for example you can now run the game ‘Direct-X’ from the Software List although it hangs after the Game Over screen for some reason.
(The Sharp X68000 driver can boot floppies again, although the game pictured hangs after game over)
For the arcade side we’ve seen things like the Unico games ‘Zero Point’ and ‘Burglar X’ fixed, these had regressed for over a year without it being noticed, highlighting exactly why it’s important we have users on the latest versions testing things, it’s very easy for easy-fix regressions to slip in and not even be reported if nobody is actually testing.
Other small regressions were fixed, some of them more short term, I was surprised to see Cyber Tank broken because it hadn’t even been added long (it was covered in the 2012 article) so it can only have actually been functional for a version or two before a global change broke it. Games like Daraku Tenshi also saw fixes for regressions after core changes.
I was also glad to see the service mode access fixed for the ‘Hoops’ games in the Data East MLC driver, it also revealed to me that the MLC unit is meant to be capable of driving 2 screens, these games have an option for it in the service, but all it does right now is cause some minor graphical corruption. Looking at this is definitely now on my todo list thanks!
(Hoops ’95 service mode works again)
A regression with the Omega Race sound also got fixed, as did a display timing bug with the Genesis / Megadrive that crept in during a refactor. The Amstrad GX4000 driver also saw a regression with the controllers fixed, and proper support for 2 players added.
The ‘4 player special’ version of Kizuna Encounter on the NeoGeo has been a puzzle for as long as NeoGeo emulation has been around and a screenshot of it surfaced. For many years people thought it was a special very rare, very expensive cartridge but slowly evidence mounted to suggest otherwise. Attention then turned to it maybe being a special bios revision but people had dumped bios ROMs claiming to be from such versions and they matched what MAME already supported.
In the end it turned out to be something much more mundane, the game code was designed to detect the 4 player adapter cable and automatically switch to 4 player mode if that hardware was present. This is now handled in MAME as a ‘fake’ clone with the hardware already set up for you, so for the first time the 4 player Kizuna Encounter is actually visible and easily accessible under emulation even if it was right under our noses the whole time.
(Kizuna Encountered needed to be able to detect the 4-way adapter in order to boot at the special version)
Another mystery at least partially solved was that of the English version of Crazy Cross. The Japanese version, Taisen Puzzle-dama was often mis-sold as Crazy Cross and it was starting to seem like there was no real Crazy Cross arcade game, with people simply using the Crazy Cross title to refer to the game because they were familiar with it from the Playstation port released in English under that name.
I say the mystery was only partially solved, because what turned up over the course of the year was a game called ‘Let’s Attack Crazy Cross’ but to the surprise of everybody involved it wasn’t on GX hardware at all, and wasn’t really a direct clone of Taisen Puzzle-dama but instead clearly a port of the game that was being converted to the Playstation running on Playstation based arcade platform. It is still therefore unclear if there was actually a plain ‘Crazy Cross’ release in English on the same platform as Taisen Puzzle-dama, or if this is the only time that name was used in the context of an arcade game.
(An actual English language arcade game with the ‘Crazy Cross’ name was found)
One ‘MAME’ mystery was the problem of Data East title Dragon Gun hanging after defeating the first form of the final boss. For a long time it was thought it could have something to do with the protection, or an ARM CPU bug, but over the course of the year it was discovered that neither of those was the actual cause of the hang. It’s well known that we don’t emulate the video backgrounds in Dragon Gun, however, what wasn’t known until recently is that the ROMs for the video data actually map into CPU space, hooking these up so that reading them returned valid data instead of unmapped reads actually ended up fixing the hang at the end by pure-coincidence, it also made some other work on studying the video data file structure redundant as it appears it is the responsibility of the game CPU to parse the data and send it to the chip (unfortunately that part is still not understood) Either way, the result of this is the game can now be completed. A new Japanese clone of the game was also dumped during the year, these pictures are taken from that.
(The bug causing Dragon Gun to hang on the last boss was fixed)
Sometimes we have bootlegs with alternate control methods, usually inferior ones, for example games with Rotary sticks, or 49-way sticks hacked to work with regular 8-way Joysticks, however the case for Jackal was the other way around. The only set we had where the game used a rotary stick was the ‘Top Gunner’ set taken from a bootleg board. It seemed quite likely therefore that an original using a Rotary stick must exist as making the controls more complex isn’t something bootleggers usually did! That clone finally turned up, an original set of Jackal using a Rotary stick instead of the 8-way Joystick.
(Previously the only version of Jackal using a Rotary stick was a bootleg, now there is an original supported too)
Discovery..(mostly Software List additions / hookups)
I did a discovery section last year because I think it is an important part of the MAME / MESS project. This year is no different, a number of systems have seen improvements to the softlists (or brand new softlists) which in turn allows for a clearer understanding of the systems, and improved knowledge of the software available for them.
The Exidy Sorcerer is one system where a simple Software List was added at the start of the year and with a little detective work I was able to get the software to load. The hardware is primitive (it’s from 1979 and I doubt it was designed with games in mind) but the Galaxian game is at least quite playable. The ‘Eliza’ title is written in basic and therefore needs the BASIC cartridge mounted in order to load.
(Some fast paced action games belie the limitations of old systems like the Exidy Sorcerer)
The ZX Spectrum floppy list was also improved, adding the Software Preservation Society images to the known images list.
The MSX cartridge lists were expanded, although no disk list has been added yet (I’ve finally figured out how to get some disks to load, but the required material wasn’t in the Software List in 2013, so I’m not going to cover it here)
The MSX is actually quite an interesting system when it comes to cartridges, several Konami games have cheats involving plugging 2 carts in at once (one into each slot) MESS of course handles this just fine, and the Software Lists make it even easier to use.
(A random selection of the MSX titles that are now documented in the Software List)
One interesting addition to the MSX list was a set of tapes for the Golf game ‘Albatross’ This means that in addition to the regular set of courses in ROM there are 2 additional sets of courses on each of the cassette tapes. Loading them isn’t always obvious, make sure to press the ENTER key at the ‘ready’ prompt if you want the cassette to load, also fast forward a bit first if you want to load the 2nd set from each tape!
(Albatross is an interesting one because it allows you to load extra courses from Tape)
As I mentioned, a number of the Konami games have secrets if you have a 2nd cart plugged in, for example launching the emulators with “ume64 msx -cart1 gradius -cart2 twinbee” gives the Twinbee ship in Gradius / Nemesis, obviously this is much easier when you know the referenced images are good and so get detected correctly so having them all referenced in the Software Lists certainly comes in handy here!
(Some Konami games have special cheats if you insert 2 cartridges, having them in the Software List makes this easier)
The Sega PICO softlists have also been expanding, although support for the system doesn’t work yet. Some ‘Copera’ images that were incorrectly placed in that list also ended up split out into their own list because it’s a different system with different hardware despite the similarities.
(note the Copera doesn’t actually work yet, I needed to use the debugger to bypass some loops to get these screenshots)
(The Yamaha Copera Software List was split from the Sega Pico one)
I mentioned the Copera Software List being split from the Pico one but it’s also worth further highlighting that the actual Pico list has seen vast numbers of additional dumps added over the year. The Pico is likely the final / longest running official use of ‘Genesis’-like hardware, although I doubt any of the software pushes it in interesting ways (the games are all fairly straightforward educational titles with minimal gameplay). Currently the emulation needs a lot of work, for example, the correct interrupt / status hookups for the sound chip are needed (either it’s not the chip we think it is, or there is a lot of extra glue logic in the way it hooks up). Furthermore the system needs to be implemented properly using an image of the system and book rendered with the artwork system rather than trying to act like a fake touchscreen which will never work. Some screenshots can be seen below, this is definitely a system somebody could pick up and make a really good driver for but right now it isn’t really usable beyond booting the titles and some still don’t boot at all due to the problems mentioned.
(Many Sega Pico titles were added to the Sega Pico Software List although emulation remains incomplete)
For the Gameboy Colour a number of Sintax pirate games were dumped and added to the Software Lists, these are mostly low quality attempts to cash in on other popular games or movies, but they’re still interesting to see, even if not to play.
(A selection of Sintax games for the Gameboy Colour, you can see unlicensed use of Metal Slug 3 and Harry Potter material)
The Sintax Gameboy games weren’t the only ones improved, in addition to allowing custom cartridge types to be defined by the Software List support for a number of other custom cartridge types was added. The pirate game Rockman 8 is an example of a pirate game that is now emulated. Beast Fighter is said to be another, using a unique mapper, however the status bar appears to be missing so I’m not sure I’d consider it working properly yet.
(Some other Gameboy pirate games were added to the Software Lists and hooked up to the appropriate mappers)
The Gameboy Advance list also had some unlicensed games added, possibly also by Sintax, although they’re significantly less interesting and don’t require special mapper support.
(The Gameboy Advance also saw a number of unlicensed games, these have been listed too)
The interesting thing about the Socrates / Professor Weis system is that the games are multi-language, and will adapt depending on the system they’re plugged into.
Controls however don’t currently work properly, this is especially noticeable on the Game Wizard where you can’t press the same key twice in a row, you have to press another key before it will register again.
(The Socrates / Professor Weis system run the same cartridges but in different languages, inputs don’t quite work properly yet tho)
The CAD package is more of a glorified paint program with clipart than anything serious.
(The same system has other ‘educational’ software like this ‘CAD’ package)
A change was put in to allow the CoCo 2 game ‘Dragon Fire’ to do proper mid-scanline effects. A further requisite of this was apparently a cycle exact 6809 core. In theory we should have both of those things now, and while the game does run it appears to be rather glitchy still so I’m guessing there’s still something missing / wrong somewhere in the emulation. It does look good in still shots (I can’t say if it looks correct) but there is a bad frame every couple of seconds. Still, an enjoyable discovery, although I was hoping it would be perfect based on the changelogs.
(Some changes seemed to indicate that the Coco 2 game ‘Dragon Fire’ would be correct now, it’s better but still needs work)
Another system with a number of significant Software List additions was the Megaduck with 5 games previously listed as being ‘undumped’ added to the known dumped list. The Megaduck is basically a Gameboy clone and some of the games are quite clearly influenced by Nintendo titles.
(The Megaduck was a Gameboy clone with a number of original titles, several new dumps showed up, many are just rip-offs of more popular GameBoy games tho)
The Thomson MO5 and T07 were machines primarily marketed in France. They also gained Software List support early in the year showing that a handful of popular titles were ported to the platforms (the T07 at least) of note Choplifter and Miner 2049er.
With this in mind I gave the TO7 Choplifter a spin, although encountered some issues, it seems any presses to the keyboard stop the game or at least drastically slow it down, joystick inputs are fine but by default MESS maps the joystick and keyboard to the same keys, by removing the keyboard mappings the game appeared to be playable, although this did serve to highly how disorganized the internal interface is for dealing with such situations.
(Choplifter for the T07 was difficult to make run properly, I had to unmap keyboard keys)
Miner 2049er performed well too, at least once I figured out you need to press the ‘END’ key to select a 1 player game, not knowing what key you should be pressing is common with home platform games of this era however, usually the cassette inlay / manual would tell you.
(Miner 2049er ran well once I found the key to start the game)
There was another game called Threshold which appears to be a simple shooter.
(Threshold is a fairly dull shooter for the same platform)
The MO5 seems to have less interesting software listed, but was the interior machine. There is also a port of Miner 2049er and it looks identical to the TO7 version but beyond that it seems to be mostly applications and very basic logic games. I also found compatibility didn’t seem quite as good.
(A Paint package running on the MO5)
The Japanese PC98 family gained a Software List too, cross comparisons with some Japanese fan-sites seem to suggest a lot of the more interesting titles are missing from it still, but it’s enough to do some testing of the system with. The emulation of the system also saw numerous fixes over the year, allowing some games like Quarth to boot, although it still has other issues (the split screen effect is wrong ) The art style used on these games is interesting, making heavy use of dithering etc. to compensate for a lack of colours.
(Fixes were made so that Quarth booted on the PC9801, but it still has visual issues)
The list is good for scoping out the general compatibility of the driver, some software runs fairly well, but there is clearly room for improvement still. Unfortunately the majority of the library is ‘adult’ titles or obscure Japanese RPGs, so I don’t really have much to show here.
(A PC9801 Software List was also added, I tested some of the software)
The RM Nimbus also gained a software list, the only software present in it is a collection of welcome disks however, but it does allow for easy testing of the driver, and playing of the ‘worm’ game found on said disks.
(A Software List was added to the RM Nimbus, it contains the Welcome disk where there is a snake clone called Worm)
Towards the end of the year we saw some additions made to the GamePark 32 Software List. Performance on these isn’t very good (we desperately need an ARM recompiler for these high clock ARM systems) but it’s still good to see the emulation holding up pretty well.
(The GamePark 32 Software List was expanded with a number of new additions, they all run rather slowly tho)
The Sharp X68000 got a brief mention in the ‘regression fixes’ section, but it also had a large Software List update during the year as well. Compatibility seems a bit hit and miss (mostly miss when it comes to better known commercial titles such as Fantasy Zone and The New Zealand Story, both of which failed to load for me) but a number of the shooters run, as long as you remember to map the Joystick! The aspect ratio seems a bit strange on some by default, but maybe you were expected to adjust the controls on your TV. This is an interesting Software List because the Sharp X68000 had many near arcade perfect ports and a large library of original and exclusive software much like a number of home systems did in the rest of the world.
(The Sharp X68000 Software List was expanded significantly, a number of ‘shmup’ games are shown above)
The rush of redemption games we saw in 2012 slowed significantly in 2013, I don’t think that’s because there are none left to emulate, there are literally hundreds, you’ve only got to check eBay to see gambling and redemption games we don’t support (especially coming from Italy and Asia) however many of them are too well protected (entire game code in MCUs) and the others the market in which they’re sold too highly regulated for the games to ever be dumped.
Many of the new gambling games that show up often seem closely related, if not derived from existing codebases, a couple of unique / interesting ones did show up however. New York Joker, Good Luck II, Crystal Colours, Top XXI and a game called ‘Number One’ by San Remo were all original titles.
(Some of the new poker additions have attractive graphics and are different to anything already supported)
Dream Ball fits in with the rest of these but stands out for another reason. The game uses the same title screen as Pocket Gal Deluxe, and has a 1993 NDK copyright; you could easily be excused for thinking it was a cheap bootleg of Pocket Gal Deluxe if you didn’t look beyond that screen. What it was however is a unique and official Data East board. The board has no room for a sprite chip, it’s a minimal design and clearly designed to be low cost. In the end this was one of the two boards we used for testing the Data East protection chips (see the Driver Maturity section) and sow while the game isn’t memorable the role the board played should not be forgotten.
(Dream Ball ended up being one of the boards used to figure out the Data East protection)
Some of the less noteworthy ones included the likes of Bonne Chance / Good Luck, Royale, Mun Dial and Soccer New. Many of these were designed for European markets (for example Italy) where the display of actual card graphics was outlawed. Most of them are more interesting due to the actual code, hardware modifications and protection schemes rather than what you see on the surface, which is strikingly similar between games in some cases.
(Other Poker games reuse graphics and/or code from ones we already emulate, and aren’t as interesting from an end user perspective)
It has been a quiet year on the gambling / redemption front. I think some of it is still burnout from the initial additions, and knowing the sheer amount of work that still needs doing (each and every one of the non-video games will require per-game attention) There’s also an element of waiting for other areas of MAME to catch up because they’re a real stress test for many of the I/O devices in MAME.
That said we’ve seen things like Spooky Night moved to working status with new graphic dumps, we’ve seen the final game Igrosoft released on their Z80 based platform, Crazy Monkey 2, added as well, albeit in non-working state due to graphic and palette encryption.
(Spooky Night is an Amcoe title on a Z80 based platform)
I mentioned Crazy Monkey 2, if you compare it with the original Crazy Monkey you can see that most of the sequences behind the scrambled graphics are the same, however it isn’t going to look correct until somebody descrambles the graphics. The palette encryption also doesn’t seem as trivial as some of the other games in the driver, and is not obvious because the palettes are only ever uploaded once and there isn’t much data to work with.
(You can compare Crazy Monkey with the sequel Crazy Monkey II, almost the same game runs behind the encrypted graphics)
Poka Poka Satan is a redemption / novelty game with ridiculously large setup, as is often the case with more recent ones, triple screen, two of them being touch-sensitive, and plastic hammers..
(Poka Poka Satan is a 3 screen touchscreen game with plastic hammers and whack-a-mole style gameplay)
Power Kick was an interesting one because it connected the Sunwise games to the Toaplan 2 video chip, a link we’d missed before. This allowed the Othello Derby driver to be merged in to the Toaplan 2 driver.
(Power Kick was mostly interesting due to using the same VDP as Toaplan’s shooters)
Gunpey occupied a significant amount of developer time earlier in the year and is a good example of a long-standing non-working driver getting fresh eyes applied to it. Unfortunately for all the progress that was made the emulation stalled on figuring of the graphic compression scheme being used. We ended up with something that was playable, but has too many missing / incorrect graphics to actually considered as working.
(Good progress was made on the game, but the compression used for the Gunpey graphics continues to confound us)
Other discoveries along the same lines ultimately stalled too, it is speculated (and strongly believed) that there are links between the encryption / compression used Sega’s Naomi and the earlier platforms, with games on ST-V (Final Fight Revenge) and Model 2 / 3 using similar techniques, although as is typical for Sega in most cases the actual protection was criminally underused and for most games makes such light use of it that it was bypassed without even considering that what was going on was an encryption scheme on par with CPS2. A level of infighting and a lack of time sadly put off a number of people who were going to look at this. Maybe next year?
..but Inching Forward
Some drivers have been in a non-working state for so long it’s no longer common knowledge as to why they’re broken. Usually it’s because they use some kind of unique hardware setup making them difficult to emulate, other times it’s because nobody has twigged that there is a bad rom. Progress on such systems is important, and we’ve seen a bit of it this year, although not an incredible amount.
One driver that saw some work along these lines was the Stern Great Guns / Mazer Blazer driver. Progress has been slow because the video chip they use is unusual and quite complex, in addition to this the boards aren’t exactly common so it’s not always clear how things should behave because running tests is impossible, the only references are low quality video clips that don’t tell us much. The games are still a long way from being properly playable, but the improvements, especially in Great Guns, are noticeable.
(The VDP used by Mazer Blazer and Great Guns has held back the emulation for many years, progress is slow)
SNK’s Hyper NeoGeo 64 is another system that continues to throw hurdles at us so it was good to see progress there too, with kludges to allow Buriki One to be coined up.
(A hack allows Buriki One to coin up, but the ingame graphics are still a mess)
Other improvements were made to show significantly more of the geometry in the driving games and Beast Busters 2nd Nightmare although the driving games still can’t be coined up however, and Beast Busters eventually hangs.
(Most of the Hyper Neogeo 64 games now show more geometry, although flicker badly at times)
The flickering graphics in Fatal Fury Wild Ambition were also fixed by these improvements, and several additional decal graphics now display too.
(Wild Ambition is the least demanding of the Hyper NeoGeo 64 games in terms of 3D use, but also improved)
Work was also done to improve the Atari Jaguar in MESS, although it’s still a long way from being a ‘working’ system. These changes haven’t really helped with any of the CoJag titles in MAME otherwise I would have included it in the ‘Console improvements helping arcades’ sections, but the CoJag games make very limited use of the system hence working in the first place! I think eventually the drivers will have to be replaced / completely rewritten and while Virtual Jaguar (which would be ideal for re-integration, aside from the code being a little ugly) claims to be derived from MAME sources they’ve released it under an incompatible license so that issue would need resolving first.
One of the most significant parts of the Jaguar changes were the CPU core fixes allowing the cartridge checksum tests done by the BIOS to pass allowing for the removal of a very ugly hack!
Either way titles like Tempest 2000 and Rayman were greatly improved (although Tempest 2000 seems to have since regressed and is rather unstable now – if it doesn’t crash when starting a game you’re usually fine, if it does then you’re out of luck)
(Rayman and Tempest 2000 were both on the end of targeted fixes in the Jaguar emulation)
The likes of Checkered Flag also improved (you can now see colours) but clearly there are so obvious bugs in the video emulation (or CPU emulation) that need fixing before it can be playable.
(Other Jaguar based software improved too, but not enough!)
Additions were also made to the Jaguar software list, which is important too, a bad dump of Air Cars was replaced with a good one (the new one at least boots) and some less common titles were added like Breakout 2000 (which boots, but is glitchy and has no sound)
(Improved Software Lists show more possible test cases, although most of the additions don’t run well)
Changes were also made so that the Jaguar CD shows something, but with the baseline Jaguar emulation in such bad state, and the Jaguar CDs requiring features our CHD format doesn’t support that one is a little hopeless for now. Unfortunately there’s a long way to go with this driver, inching forward is very much the correct expression here.
(The Jaguar CD now shows something, but is still a pipe dream at this point)
Also in MESS we saw tiny improvements on drivers like the Tiger Game.com with sound being hooked up, there is a long way to go with the rest of the driver tho, although I am a little surprised more work hasn’t been done on it, it seems like an ideal target.
(Tiger’s Game.com plays some sounds, but appears to have problems with interrupt generation in games or something similar)
Some work was done to make the Vsmile boot a couple of cartridges. The majority of games display nothing of any meaning, but the ones that do boot seem to share a common boot sequence…
(Some VSmile games boot with this common sequence)
After that point they display a title screen, and an option menu, but don’t appear to accept any further inputs. Again this might not be the most interesting of systems being an educational one / and basically nothing more than a toy for kids, but it uses an uncommon CPU and would be a good target for somebody to work on improving. I could easily move this to the ‘potential’ section.
(A handful get to screens like this, menus, but no further progress is possible)
Back to MAME we saw progress on Air Raid / Cross Shooter, with the hardware being identified as being very close to Empire City. Sound was hooked up and a previously missing Colour lookup PROM was dumped, but that’s as far as the driver can really go until somebody figures out a way to extract the graphics (including the tilemap layouts, which are hardcoded) from the custom ROM modules on the PCB.
(The palettes were fixed in Air Raid, Sound was also added, the game can be ‘played’, but the graphics need extracting from custom modules still)
Due to various fallings out, and disagreements MAME did lose out on a few things over the year, I was looking forward to seeing the proper NMK004 work done by trap15, but it was never submitted due to tensions and desires within the team to change the license to one that would permit the selling of MAME. It’s a loss because now what was apparently a painstaking hardware hacking process will have to be repeated entirely by somebody else, there are no winners from such progress being withheld even if I understand the reasoning.
Some drivers have also regressed, or remained in a regressed state. For all the promise of the vector HLSL that was introduced we’ve still got games like Tempest in a semi-broken state, resetting after a certain point due to protection failures. Likewise Star Wars has noticeably wrong sound effects in places. Both of these should be showcase titles, highlighting how important the HLSL work is when it comes to actually making an attempt at simulating the glow of vector monitors properly, however due to the aforementioned issues older versions still give a better experience.
The problem with Tempest appears to have started last year, when a fix for Atari’s Liberator went in. Both games use the Random Number Generator features of the Pokey chip as protection at late stages in the game. For Liberator this is easy to test, ‘set 2’ of the game (which is very different to set 1 in terms of presentation!) allows you to select a later level, resulting in an almost immediate crash if it isn’t happy with the protection values. Tempest on the other hand is more subtle and requires you to reach a certain score before doing the protection checks making it much harder to notice / debug unless you’re a good player. Unfortunately it appears they disagree on what data sequences should be returned, or at least that’s the point at which I think Tempest broke, when Liberator was fixed.
(A fix for Liberator put in last year appears to have regressed Tempest)
Other long standing regressions like the sound in Mario and the complete non-functionality of Ninja Kazan have persisted over the year without being fixed too. Apparently the last time Ninja Kazan worked was 127u1, back in 2008! These are things that get reported often and make it hard to recommend recent builds without having to mention them. People are very sensitive to issues with sound, so when Mario’s walking sound is very loud while all other sound effects are quiet and muffled it is seen as a serious failure, likewise with the TIE fighters in Star Wars sounding more like they’re making death sounds from Gauntlet or Golden Axe than any kind of ‘Woosh’. The calibration on several Atari titles like Star Wars and Red Baron seems off too, while the display is fine in Test Mode, Star Wars insists on the controls needing re-calibrating ingame after each coin just to remain centered!
(Star Wars and Mario Bros. are both long term victims of sound regressions, not yet fixed unfortunately!)
Games like Tempest, Star Wars and Mario are the classic era games people *expect* MAME to have perfected by now, so when there are imperfections, or, in the case of Tempest, worse, it does not reflect well on the project and they remain a key reason a lot of people simply use old builds because they appear to be better and more trustworthy despite the thousands of fixes we’ve made elsewhere. This is a problem, so the fact they remain broken disappoints me and in the case of the vector games I’ve mentioned means there are no builds that offer both a solid game experience, and the new visual effects.
Oversold and not quite there..
It’s also been disappointing to find out that some advertised progress does not live up to expectations when tested. This might be because things have regressed since then, the additions were never fully tested from a clean state, or they simply never actually worked. I’ve mentioned some of these during the article here but there are more. For example, the changelogs for the year list Aristocrat MK4 games ‘Fortune Hunter’ and ‘Caribbean Gold II’ as now working, but for all my attempts to follow the initialization instructions in the source they still appear unresponsive and impossible to initialize. Other games in the driver work with the procedures listed, so I’m not convinced it’s a user error!
*edit* I’m told turning on dipswitch ‘5201-5’ allows the sequence to be performed, but this isn’t the default, and wasn’t documented
(These Aristocrat MK4 games are marked as working, but the INIT procedure listed in the source doesn’t appear to work?)
While we do want to be promoting our progress both on arcade drivers and home systems it is vital that we don’t oversell what we’ve done. If we say a system works then people have a level of expectation, and if we fail to match that because vital things broken / missing, the driver is unstable, or usability isn’t clear then people are going to go away disappointed. I’ve noticed a situation, especially in MESS, where some drivers get promoted to working without much software being tested at all (when in reality a lot doesn’t work) while other drivers where a lot of software does work take a more conservative approach and are still marked as not working. I feel honesty is the best policy here, let people be pleasantly surprised rather than disappointed.
Having to work with incomplete dumps can be disappointing too, sometimes this is because the ROM types are weird / unknown (as was the case with Print Club 2 ’97 Winter Ver), sometimes it’s because the chips have gone bad, or are missing (we found this with the sound ROM on the 1941 prototype / bootleg and are having to use the original ROM instead which may not be a 100% match). Other times it’s because the people dumping things inexplicably think it will be easier for us if files that already match known ROMs are stripped out (it never is). The worst case scenario is when people have just been lazy / made bad assumptions that things will be the same when they really shouldn’t be. On occasion it’s nobody’s fault, just the original board contains a mismatch of roms either from a failed repair job, factory error, or because it’s some kind of unfinished test board.
(We can’t get Print Club 2 ’97 Winter ver. to a title screen without the missing ROMs)
We’ve been hit by problems caused by several of the cases just mentioned over the course of the year, especially when drivers have been revisited. Toaplan’s Outzone is one example, it turns out that the entire reason the ‘oldest’ set has different sound effects / music in MAME is because the Z80 program ROM isn’t for that version, it was just assumed to be when the set was dumped many, many years ago. One of the other sets also had a mismatched sound rom because when it was dumped the person dumping it simply stated that the sound ROM matched one already in MAME without realizing there were multiple revisions of it so knowing which one to use was much harder with the file stripped from what we were meant to work with.
While working on the Data East improvements I was hoping to fix a bug with Dark Seal II, but that turns out to be a similar case, the Japanese version should use a different sample rom, and that sample ROM was never dumped, only the main program roms. The recently dumped (in 2012) Biomechanical Toy (Ver. 1.0.1884) set has a similar problem, the sample roms from the parent set are clearly NOT meant for that version, it plays garbage but when it was dumped somebody thought they could save time by not dumping them so we’re left with an incomplete and buggy set.
Performance is another area we’ve seen not insignificant regressions in some drivers, I’ve noted a few during the course of the article, but there are others. Some are understandable if we want to offer good quality emulation, but others we should really be avoiding if possible. I think some of the widespread changes that get made are made without really testing their impact while increases in real world CPU speeds continue to be slow meaning that such changes don’t end up being swallowed by improving host machines as quickly. We have, as I mentioned earlier, offset some of these over the course of the year, but it does still concern me.
Looking to the Future..
Some development over the year points more at things to come rather than anything immediately useful, let’s take a look at some of that as well as looking at where the project could possibly go in the future.
The Chihiro arcade platform is an X-Box, and while there is currently no support in the driver to boot the X-Box bios, and no support in MESS for the X-Box platform I feel it appropriate to mention it near the console work.
It’s currently a bag of hacks to get what we see at the moment, but the year has seen noteworthy progress on making the Chihro title OutRun 2 boot and display scenes from the attract mode of the game. As a fast and relatively modern x86 based platform, newer than the x86 based ones we’re seeing running in MESS this progress represents a great deal of ambition. It’s currently dog-slow, and unlikely to get any faster in the short term, but simply knowing that underneath what you see at the moment the game code is running is really quite amazing.
I doubt we’ll see this develop into anything actually properly playable in the next few years because it is so far out of the comfort zone of the project it’s not even funny (and yes, it’s sad to have to say that about an original X-Box when we know there are far more powerful platforms we’ll need to emulate) but it is still very good to see the progress we have seen over the past year.
(Chihiro is an arcade X-box based platform, any progress on it shows great ambition)
While less ambitious than Chihiro the work done on systems like Taito Type-Zero System still represent a step above what people really expect from MAME. While there hasn’t been a huge amount of progress over the year on the driver in question the game ‘Stunt Typhoon Plus’ was added to it. The game can be booted but runs very slowly (11% speed) and doesn’t seem to respond to inputs, also I wonder if a topmost layer isn’t missing. You can watch the attract mode and it actually looks very impressive, although there is a lot of flickering, the screenshots below don’t tell the whole story!
(Taito’s Type-Zero platform is also significantly more powerful than a lot of ones we traditionally consider emulation targets)
Potential can be split into two main fields. Probably of most interest to the average reader here are the things I think have a realistic chance of improving in the next year or two, however, it is also important to look at the things which lay the groundwork for much longer term work in the project so I’m going to start by looking at some of those.
PC based platforms?
I’ve already mentioned that I consider the Chihiro emulation in MAME to be ambitious, so what of some of the skeleton drivers that have been added over the year? We’ve seen drivers for a number of PC systems added in non-working states, PC systems that in many cases exceed the specifications of the very machines many people are running MAME on. We can’t emulate those can we?
My gut feeling is no, we probably can’t, as much as the MESS PC drivers are advancing they still struggle to give any kind of reasonable performance when emulating a lowly 486 with a barebones SVGA card and the games we’re talking about in MAME are in some cases running on 64-bit CPUs with dedicated modern GPUs, they’re a world apart from the kind of thing we’ve successfully emulated in the past.
(Some Game definitions for Taito Type-X games from the source, this is modern PC hardware)>
People are already playing some of these games on their PCs through ‘loader’ applications that simply load the games as PC games, patching / hacking the code as appropriate and simulating any additional devices, these works fine for basic cases but throws away important information about protection schemes etc. in favor of easier to use hacked up ‘bootleg’ dumps. They’re also only a temporary solution, they depend entirely on running an OS close to the original games on hardware that is also close to the original games and such requirements already cause their own issues with certain configurations / driver revisions and thus doesn’t really represent a long term solution either because you don’t really want to be having to depend on such things.
It would be better to see some of the ‘loader’ authors embrace the MAME images, and mount the original dumped HDDs we use rather than folders full of hacked files, although that still doesn’t solve the aforementioned problem.
I’m mentioning this because in many ways how MAME eventually deals with this kind of problem will define the future of the project. Practically all arcade hardware these days is PC based, it can’t be ignored, it’s also incredibly fragile hardware from the actual components used all the way to the operating system installs, and fact that these days many of the games do live updates from the internet, or depend on online servers to function, many of which won’t be available in a couple of years from now.
It also has a significant role in the future of MESS because again it must remain competitive, many of the most lucrative use cases and demonstrations of how capable our emulation is are going to come through the emulation of older PC based platforms and custom add-on cards, with such emulation technology providing a significant boon to the legal use cases and the like for the project which in turn benefits MAME (or at least benefits MAME if we do see the projects finally become one)
How best to deal with it, without encountering the hardware / OS dependency issues already mentioned? I don’t know, that’s why I put it under potential, sure there are PC emulators out there, but very few of those actually have to deal with the problems MAME will face in having to emulate very specific models of CPUs and specific architectures while maintaining the timings of the original machine as closely as possible to ensure the actual emulation results are the same regardless of host system.
Maybe MAME / MESS will never achieve this, and their role simply becomes to document without running in those cases, allowing others to make use of the information by providing more temporary solutions like the ones we see today based on our documentation, however that isn’t really the future I hope for.
Moving on from the discussion of PC based platforms to more realistic potential for the year to come leads me on to talking about the sheer number of new skeletons added in MESS over the course of the year. The majority of these are terminals and other devices that would probably have ended up in the ‘things I don’t understand’ section if more work had been done on them but for now they exist as potential.
Examples of skeleton drivers added over the year include the following, none of which I’m really sure what do or how far have developed nor what they’re actually meant to be in many cases!.
Genrad Futuredata 2301 Network Control Processor, Control Data Corporation CDC721 Terminal, Sharp Zaurus, Seattle Computer SCP-300F, Onyx C8002, Intertec SuperBrain, IBM6580 DisplayWriter, Telcon Zorba, Microtek Mice, ICS8080 Trainer, Millennium Systems 9540, Wicat, Callan PM68K, LFT 1230, LFT 1510, Televideo TS816, Televideo TV950, Imsai MPU-B, Jade JGZ80, Jonos Escort, Quadtel Harriet, Hilger Analytical AB6089 Mk. 1 (LSI Octopus), Commodore PC 10 III, Atari PC-3, Ithaca InterSystems DPS-1, EVMBUG (Texas Instruments TMS9995 Trainer), Sharp MZ-3500, RCA COSMAC Microkit, Dragon 200-E, Scientific Micro Systems SMS-1000, SH4 Robot, Forward Technology FT-68M and the MOLECULAR Computer
A number of Ensoniq systems (synths I’m guessing) includes the EPS-16 Plus, MR-61 Workstation, ASR-10 and ASR-X
There were also device skeletons, some of which saw further work over the year. These skeletons included various Keyboards where the MCU / ROM has been dumped, in addition to several Hard disk controllers including the IMI 5000H, the Mator SHARK (a 22 MB Winchester hard disk for the Commodore PET), and the WD1002A-WX1.
There was also a dump dump of a Taito Nostalgia TV game, although the entire hardware setup was a ROM and epoxy blob, so it is unclear what type of CPU it should be using (it appears to be SNES-like) and also unclear if the dump is complete (custom ROM type) or if there is internal ROM data in the epoxy block. It would be nice to see some progress on it, or at least the ROM dump tested on the real hardware with an adapter so we know it’s usable! The games are fairly interesting remakes of arcade titles in a similar way to the Namco Classics arcade games, but for a home audience.
(We’re not 100% sure what CPU Taito Nostalgia Vol.1 uses nor if the dump is good, or if there is an internal ROM)
More realistic Short Term targets
There have been a number of MAME additions over the year that I’d count as potential for next year too, Music Ball springs to mind, when it was dumped I expected it to be a nice simple addition, despite the encrypted CPU block I’d placed my bets on it being a simple 20 minute decryption job, however, I was quickly proved wrong with the encryption proving to be a lot more annoying than I hoped it would be. There doesn’t actually seem to be anything too complex about it, but figuring it out without knowing for sure what the data underneath should be has turned out to be very annoying.
(The Music Ball encryption halted us in our tracks)
Back to MESS and we’ve seen progress on the Casio Loopy, resulting in what I feel is enough information being known about the system to attempt extraction of what is thought to be the internal BIOS rom. Without the BIOS rom it is unlikely emulation can be completed because the games make numerous calls to the internal area but now we have a situation whereby we know a certain amount about the code-flow of the games and how the video system works there is potential for us to manipulate that information in order to trick the system into dumping the internal area in a similar way to what was done with the later PGM titles in MAME.
(The Casio Loopy runs enough code that we might be able to find exploits for dumping the internal BIOS)
In terms of more realistic potential we’ve also seen drivers like “Fresh Fruit” where in reality it just needs some more video work to be considered ‘working’.
(Fresh Fruit just needs a little more work, but isn’t the most interesting target)
There was also Frantic Fred, where inputs need sorting out, one of the developers has identified how it works (the dial generates interrupts) but it still needs hooking up.
(Frantic Fred runs attract mode, but the wheel inputs don’t work)
The Super Pinball Action prototype could do with more work too, that might end up being revisited in the coming year, we need to establish if the extra rom is for a 2nd screen, and if all the data is present.. It should be possible to improve the emulation of the main screen either way.
(The Super Pinball Action prototype is weird, and might use a 2 screen setup with a real Pinball display)
Another in MAME that could easily be finished off is the Guttang Gottong bootleg on Galaxian hardware. I could have grouped this with the Spanish sets because it was found / dumped in Spain with the rest of them, but I’m not sure it’s a Spanish specific bootleg. It is interesting because it has custom ROM banking just so that they could squeeze the sound effects in (completely redone compared to the original). Sadly the colour PROM was never dumped, although we do have videos of the original running to manually fix the colours if needs be. The main thing it’s missing at the moment is a simple bank for the sprite graphics, so it displays the correct tiles instead of garbage, should be a 15 minute fix really!
(The Guttang Gotton bootleg just needs graphic banking hooking up, and the proper colour PROM)
Having the Cave games restored also means that ‘Medal Mahjong Moukari Bancho’ once again becomes a potential emulation target. It has a touchscreen hooked up to the SH3 serial ports, both of which need implementing properly for it to work, in that sense it’s one of the most interesting games on the Cave hardware.
(Medal Mahjong Moukari Bancho requires more complete emulation of SH3 peripherals than the better known Cave shooters on the hardware)
We also saw work done on the Mattel Hyperscan, including a brand new CPU core, however nothing was done after that. Another where maybe we’ll see more progress this year?
(The Hyperscan currently has no inputs and could present an interesting challenge)
Some potential has already been realized at the time of writing this. Carket Ball was added in 2013 as non-working, but definitely counted as ‘potential’ because there was a clear route to getting it working, and because I’m really bad at getting these articles out on time we already know that happened at the start of 2014. Prior to this (in the build we’re considering for this write-up) the game ran but with the occasional crash and buggy sound/music due to incorrect protection data. It feels a little awkward including it here now, but had this article been finished in time we wouldn’t know the emulation had since been improved.
(We already know Carket Ball emulation was finalized in 2014, but it wasn’t during the period I’m covering here)
With a project like MAME there are certainly valid arguments you could put forward for wanting to keep things out of the public eye.
Historically however there was always a bit of a buzz about MAME, and emulation in general. People saw it as something special, something magical. Back then progress was often talked about, people wanted to talk to developers and users for magazine articles, non-emulation related sites would end up talking about MAME because the people involved with the sites were excited about what was happening.
These days public awareness of MAME has dropped off significantly over the past few years and this doesn’t do the project any good either. People are becoming less and less aware of what MAME is all about which is a real shame because the work we’re doing today is in many senses even more amazing as a technical accomplishment than a lot of what was being done back in the day.
I feel it is important that people know what is going on with MAME, that’s why I do write ups like this, it’s also why I can take some positives from the press coverage we’ve seen over the course of the last year even if I feel a lot of that coverage has been for the wrong reasons.
The positive are that it helps remind people that we exist, it might make one or two people look back at the project, actually dig a bit deeper beyond the surface value of the article, see that we’re not actually still at 0.36, see that our scope is so much larger these days, that the developers are working on much more than arcade games, and that there are countless ways for somebody with the right skills to contribute and improve what we have or emulate a specific piece of technology they care about when nobody else does!
Of course only people that dig get to discover that, like I said, the articles I’ve seen don’t even scratch the surface of that. It’s easy to understand why writing an article that focuses solely on promoting MAME as something to play classic arcade games for free is easier than writing an article that looks at the development of our technology and the hundreds of potential uses it has, but it’s still a shame. I do wonder if we only have ourselves to blame to a degree tho, we do still strip everything that isn’t an arcade game out of MAME and place it in MESS for example, that almost screams ‘MAME is about playing games’ which is completely the wrong message.
The problem is mainstream media take years to catch up, so even if we were to make a change now it wouldn’t be noticed until much further down the line.
Other articles have focused on ROM collections being hosted in various places, again this rather misses the point, having a ROM collection and ROM dumps doesn’t mean things are automatically emulated, so having an article focused on that might put the project in the news, but again it doesn’t really get across the message that we actually need developers to emulate a lot of the material you can find. There are already lots of ROMs out there for things like cellphones and MP3 players (Firmwares etc.), but currently nobody is emulating them, I’m not even sure if anybody is documenting them or they’re just going to vanish with time, sometimes the most important aspect is looking at what we’ve failed to document so far, rather than what we already know about.
Anyway, like I said, it is good to have seen MAME mentioned a few times, but it would have been much nicer to see more modern, better researched pieces looking at the real potential the project has, and how people could help improve it even further.
Conclusion / Future Direction
I started off by saying I expect to conclude that 2013 has been a slower year for MAME progress, at least in the arcade side than 2012. My gut feeling is still that, and I still I think we’ll continue to see a dip in the arcade work being done next year, although a lot will depend on what shows up.
I guess as a counterargument if you compare the 2012 article with this one you could make the point that some of the work done this year has been more grandiose with things like Cool Riders while a lot of the arcade progress in 2012 was just relying on a steady flow of new dumps, but it’s a tough call, for example, I felt the SunA work done in 2012 was just as impressive as anything done this year. For this reason I would not actually disagree with somebody who feels this year has been more productive, I think some of it is a matter of perspective. The fact that I have been involved with a lot of the arcade progress means less of it has surprised me and it’s the surprises I find more memorable, the times when somebody else makes progress on something I’d all but given up hope on ever seeing work.
I’ve just stated that I’ve been involved in a lot of the arcade progress this year, so does that mean I agree with the ‘Year of Haze’ statements people were making when I asked for input on things to include in this article. In a word, no. Let me explain why.
First of all I wanted to show that this year has been about a lot more than the work I’ve done and featured on my page and I think I’ve done a comprehensive job of covering a large amount of progress I was not involved with at all. Even with what I felt was a reduced amount of work over the year it’s taken the best part of 2 months to look at what has changed, figure out how it works, test it, make screenshots and write something worthwhile about it. Even without names being mentioned all over the place it should be obvious that there’s a lot more than the work I was involved in, it’s simply impossible that I could have been involved in that amount of work myself!
You could argue a lot of this article is bulked up with changes that aren’t ‘real’ progress at all, Software List additions in the home / console side that don’t improve the actual emulation likewise there are other changes which alter the way in which things are used, but don’t actually provide anything ‘new’ from the point of view of the end user. Such changes still represent what is going on in the project, they still takes time, and it still provides an opportunity for testing things, making it easier to understand and discover what the emulator we have can do, so I’d argue that I’m not bulking up the article with them because they still represent progress, still improve our documentation value and open up new ways of using the emulator.
Other bulk you could say has come from clones, again not really leading to driver improvements in most cases, but still, like I’ve said in the actual article they provide additional information, additional history, they help make our document a more complete one so can’t (and shouldn’t) be ignored.
Furthermore, even with an article of this size there are systems and bits of progress I’ve barely covered, progress that was on obscure systems devices, progress I ended up having to put in the ‘things I don’t understand’ section which even without further research is not insignificant. A lot of work has been put into these drivers too even if on the surface they look dull and uninteresting; it’s a fact of life that many of them likely ARE dull and uninteresting, but we don’t emulate things based on a criteria of how much fun they are to use.
So how do I think people reached that conclusion?
If you do strip all the things I’ve just mentioned away, or even strip away the non-arcade side of developments completely, the article you’re reading here would be much smaller. It’s fair to say I’ve not been heavily involved in the non-arcade side this year, I actually can’t even remember making any contributions of note there, but at the same time a huge part of this article is covering that part of the project. If you consider that side of things it’s an immediate counterpoint to the ‘Year of Haze’ theory, however a lot of people do ignore that side of things, it either doesn’t interest them, or they don’t notice it because it’s gets released in MESS not MAME.
People also tend to ignore / not understand / not care about all the underlying changes that go on, the ones that even this article barely covers because they make no real visible difference outside of the code, while I have been involved in some of those I haven’t been involved as heavily as some of the other developers.
If people are choosing to ignore all the progress in the part of the project completely (unwise, because that’s where the future of our project is, as evidenced by the continued decline of exciting arcade progress) then it is easier to see how people might start to conclude that I’ve done most of the work because the more visible arcade part of the project is the part where I still find myself most active and still making a difference.
Taking things further, if you strip down ‘progress’ to a simple list of Arcade games that work / work significantly better this year than they did last year (ie really limited view on things) then I can almost understand how some people have reached that conclusion and fully believe it.
The problem with this way of thinking is that things like Cool Riders, the Data East protection work, PGM progress and the re-added Cave titles are indeed all things I’ve had a hand in to varying degrees, but they’re also all examples of team work, not a single one would have been possible without work from other developers.
If you look at some of the other bits, like the newly working Arcadia titles, it is an accurate statement to say that I got them working, but that was just a matter of figuring out the correct bitswaps to decrypt them; the actual process of dumping them, the creation of the original Amiga / Arcadia Systems driver years ago were what made that work I did possible.
It is also true a lot of the clone work was done by me, but again it was more me working with other people, working directly with the dumpers, figuring out the extra bits of protection discussing what was different on certain boards, providing a 2 way communication channel while things were worked on.
I’ve always tried to promote where other people have helped out with progress when I’ve done Work in Progress updates here, but one comment I’ve continually heard throughout the year is that a number of people still see me as more of an official communication channel for Mamedev than the official site and contact forms, simply because comments here are publicly visible and I spend a lot of time actually promoting the progress being made, much as I’m doing here with this article. This seems to have a side-effect of making people associate me with the MAME progress even in cases where I am clearly naming all the other people involved. Unfortunately a lot of people don’t actually read, just look at the pictures and draw incorrect conclusions. Just for the record I’ve chosen not to name any names with this article because the list of people I’d have be naming over and over again is far too long and would detract from the actual talk about the progress.
I can see how people might end up drawing that conclusion, but I strongly disagree with it.
There is even plenty of arcade progress where nothing can be attributed to me. You only need to look at things like Turret Tower where I wasn’t involved in the emulation at all. Beyond you can see that the improvements to the Playstation based titles came as a direct result of improvements to the home system emulation, likewise something I was not involved in at all. These are just 2 examples, but there are countless others and all these bits of progress are just as important as things I was involved in.
The key thing all this highlights and that people should be taking away from this year is that the real progress comes when teamwork is involved, progress tends to stall when it isn’t. It is true I end up involved in a lot of things because I either initiate this, or I’m quick to offer help and assistance in getting something done properly when I see the opportunity, but the important part really is people working to their strengths.
The areas we’ve seen less progress is where work has been done, but nobody has picked that up and continued with it, for example the Fruit Machines, where I did put in a huge amount of groundwork the previous year but are really in need of people with a good understanding of all the assorted peripherals inside the more modern 68K models, the external Z80 support chips etc. or somebody to create a more capable presentation layer that lets us model things with moving (rotating etc.) parts and lamps with decay models more easily than the current system where an incredible number of ugly hacks are required even just to give the illusion that something is moving.
This requirement for teamwork isn’t new of course, but as the systems involved become more complex it certainly helps to have more people looking at them. There are exceptions of course, sometimes having one person who knows a system inside out is sufficient, but even then on a project the size of MAME you often need support from other areas, especially if doing something complex requires fundamental changes to how things work in order to make progress or keep things easy to use.
So no, this isn’t ‘Year of Haze’ and while I did play a role in the emulation of a lot of the things people cared most for over the course of the year, the amount of other work going on, and other people involved was not insignificant at all. Had others not been involved we’d have only seen a fraction of the progress we’ve seen over the year, even on systems people associate as being ones where I was the lead developer.
As I’ve said it’s been arguably felt like a quieter year in terms of emulation progress, at least for the arcade side, although I have eventually managed to get this piece to a similar length to the previous one which hopefully shows that the project as a whole is still very much active. Strange as it may seem the article length was an issue at first; having covered the major arcade progress and surface of the work outside the arcade progress as I did last year I was left with a piece only 1/3rd the length, that version of the article was mostly ready for the new year, but I wasn’t happy with it, in the end it required some significant digging over the past 2 months to get what you see here!
A lot of the progress made this year has been amazing to see, and as significant and relevant as always. We’ve definitely seen a greater willingness to experiment when it comes to adding new features and many of the discoveries made throughout the year were remarkable to see even if some had little to do with actual emulation progress (things like the Bubble Bobble 2 Prototype just dropped in after working out the ROM loading) Improvements to older drivers were especially good to see too, the debate over how much slowdown should be in Double Dragon had raged on for far too long and the increased confidence in our Data East protection emulation is one of those landmarks when it comes to emulating titles form the 90s.
Some of the regression fixes have been good to see too, especially the non-arcade ones with several older drivers starting to get back on their feet, sometimes working for the first time since we added the capability to have Software Lists and began hosting everything under one roof and UME builds became available, meaning in some senses they feel like new drivers because they broke so long ago and weren’t quite as easily testable back then.
I do still feel an eventual dip in progress is however inevitable, I’ve been saying for years that the main thing about MAME is becoming not our arcade emulation, but how the project supports other things, the value of our components, how well tested they are, and how they can be used to emulate the platforms beyond what we currently support. I think this year has continued to show that, there are still many more realistic targets / areas for improvements outside the realm of arcades that better fit the profile of platforms where MAME excels in emulation (mostly 2D systems with moderate clock speeds) Things like the VSmile platform, the X68000, the Super A’Can or older handhelds like the game.com strike me as perfect fits where what we offer could easily become *the* number one choice with some more work, there’s definitely more obvious room for making progress on significant platforms than there is with the arcade side of things.
While I’ve said I disagree with the ‘Year of Haze’ comments people were making it remains true that I did have a role in a lot of the arcade progress over the year, and even I’m struggling to see how that can be repeated. This year wiped away a significant number of things that had been lingering on my personal ‘todo’ list for a long time, the remaining tasks are harder still so any progress that does happen on them will be slower.
Whether or not other people see things the same way is debatable, I’ve always said I think eventually MAME and MESS will officially collapse into a single MAME project because there isn’t enough arcade work to really keep MAME going as an arcade-only emulator and nothing we’ve seen this year has done anything to convince me otherwise. As I’d like to see this official unification (hence maintaining / promoting UME) I often feel like I’m my own worst enemy in this situation by continually putting the amount of effort I do into the arcade side when lower levels of activity might actually convince people more! There will come a point where it won’t matter how much effort I put in, or want to put in, progress will slow anyway.
What does this have to do with the rest of the article, and why am I rambling about this here you might ask, well, as I’ve said, I think this year brings the arcade side several steps closer to running on empty, and I think it also shows that the non-arcade side, while harder to discuss and not even as well covered here as the arcade side, has more potential. Due to this I feel in writing the article I ended up spending a lot more time looking at non-arcade platforms, not by choice, but because that’s where most research was needed this year. Really, it’s as simple as that.
In conclusion however, it has been a steady year, there’s been something for almost everybody to enjoy regardless of if you like classics, more modern titles, home systems, arcade systems, obscure hardware, beautifully simple hardware, or simply have a thirst for knowledge and love to see all the things that have been discovered over the years and can sit content in knowing that what has been uncovered will now be with us forever. Personally I love to see it all and while it’s certainly a shame that some developers have been less involved this year we have still managed to achieve some remarkable things.
Will 2014 be able to match this year? I have my doubts, but I’d certainly like to be surprised.
Fantastic read. Thanks Haze for all that you’ve done for the project. You’re the man!
A mammoth writeup and for sure an interesting read!!!
Hopefully 2014 will be the year we see sound added
for the toaplan games that currantly remain silent
Proper Toaplan sound still depends very much on outside factors, somebody needs to be able to decap the chips and deprotect them to read out the content.
The problem is there are almost no people capable of doing this so I certainly wouldn’t count on it. If they’re mask parts then maybe one or two people involved with the project could handle them, but I don’t think they are.
In regards to Street Fighter II Champion Edition, Polygon’s “Street Fighter 2: An Oral History” is a little interesting.
James Goddard says that he had to work to convince Capcom of Japan to make Champion Edition, including getting distributors to prove that the machines would sell. Akira Nishitani says that he’d kept tweaking SF2 after release even when he felt Capcom wouldn’t do anything with it, and thus had already been working on “Champion Edition” when the company decided to make it.
Also interesting is Jeff Walker (Capcom USA’s VP of Sales and Marketing) saying that he locked out the ability to set Champion Edition to 25 cent starts, instead making it 50 cent. And that complaints were so strong that they had to do a chip change to allow 25 cent starts.
I don’t know if the latter story would show up as different versions or as some other part of the board. Or if maybe the different popularity of SF2 is a factor in a missing early Japan version. Or even if those parts of the oral history are accurate to reality (as you can see different people having different recollections of the same events elsewhere in the article.)
2014, I started hope with the PGM2 , when the new SVN shows that they can be decoded. This is video English version of Oriental Legend 2 from Youku. http://v.youku.com/v_show/id_XNjczNjE2MjM2.html
This was an impressive and lengthy read, but as an outsider reader, my impression is that it could have been an easier read with some restructuring: for example, starting with the optimizations+regressions, press coverage, and bug fix sections, and then covering all the new additions (most of which are ultra-obscure and follow the same format). For example, the vector graphics material or the Tempest regression were much more interesting than how the review actually starts: discussing _Attack Force_ and _Long Beach_.
Thanks for mentioning the BBC ‘minor’ improvements, still lots to do but I’m on it. Keyboard dips are correct, so not sure why you’re not starting in MODE7.
I’m also looking at the Electron driver so will investigate speed issues. Am currently adding the expansion port, as cartridge slots should be in an expansion device.
The SVN also shows that PGM2 uses an ARM11, with THUMB2 instructions in the external ROM.
We don’t even have an ARM11 core yet, and the ARM11 CPUs usually run at very high speeds (up to 1ghz)
By the looks of it PGM2 is powerful enough to *emulate* PGM1, so even if we get it running (which will require extracting the internal ROMs, which are likely very well secured) it will be slower than ‘touryuu’ in MAME.
Well I wanted to keep things a bit mixed up, as to make sure there are interesting bits all over the article.
I started with things like Attack Force and Long Beach because having them emulated has saved them from simply being lost and forgotten pieces of history which IMHO is an important part of what the project helps do. A lot depends on what you care about tho, that’s why I opened with a cross section of newly working stuff form different periods, looking at the old and the new. Much of what we work on these days is obscure so they seemed like an appropriate place to start.
The vector graphics stuff, as pretty as it looks is just fluff, it hasn’t actually helped emulate anything or discover anything new (which to me is the real value of the project), it’s more a user nicety, obviously important to keep people interested, but not critical to our actual emulation goals. For Tempest you can still use older versions if you want it to run correctly even if I’m disappointed at such things being broken.
I’m not 100% convinced by the current structure, I do agree on some points, but I couldn’t quite pinpoint what I wasn’t happy with. I did try shuffling things around a little, maybe the Press Coverage bit would be best higher up as to lighten the block of text at the bottom. I had considered starting with the ‘Driver Maturity’ section (the Data East work is easily some of my favourite from the year) but felt people would rather see something new rather than just see screenshots of things that have been emulated (in some capacity) for years and think I covering them first because there was actually nothing new to show at all.
It’s good to see progress on the Acorn systems, they don’t get half the attention or respect they deserve really.
Maybe I’m biased here because I grew up using them in school (and still remember Podd from back then) but I’ll always remember them being solid and interesting machines.
The Archimedes systems were well ahead of their time too, and don’t work at all in MESS which is a real shame!
I never played Podd back then, but still have my original working BBC from 1981, so can do side-by-side comparisons.
Can’t help with the Archimedes as I never had one unfortunately, was at uni when they came out.
Still got my Amiga A1200 too but never got into it technically, was just a games machine to me.
There was a game for the SNES called “Super Noah’s Ark” where the cartridge had a pass-through design to get around the lockout chip. Does mess handle this yet?
More info: http://www.eurogamer.net/articles/2014-01-14-unlicensed-snes-game-super-3d-noahs-ark-to-be-reprinted
The BBC Micro was one of my first exposures to computers too. The one thing I still remember about that system (other than Granny’s Garden) is a special yellow hard-plastic thing in the rough shape of a 3&1/2″ floppy disk that you put into the floppy drive to protect it when it was being moved.
Cant find a picture of this disk part, nor can I find a picture of the exact BBC system I remember (I do remember it was a BBC system since none of the other system Wikipedia says “Granny’s Garden” was ported to fit what I remember)
that was just for security purposes, I’m not sure anything in our emulation actually cares.. I don’t even think the game code would be able to detect it.
This is what the original version of Ball Boy looked like:
Passed by the ratings board in December 2001. There’s also a version with a 2004 copyright that looks very much like the 2003 one in MAME.
Incidentally, there actually was a Korean Snow Brothers III, but it was a very different game for PC: http://blog.naver.com/PostView.nhn?blogId=lee_su105&logNo=40132323975
Also, how certain is it that Pandora was the name of a company that put out Hot Bubble? I have read a Korean interview with the boss at Afega from 1996, and he mentions Pandora as the title of a game made for the European market. Could it also be that Hot Bubble is rather an update/bootleg of that game Pandora, and that’s why the Pandora logo is left there in the intro screens?
>> This is what the original version of Ball Boy looked like:
Yes, that’s what I was thinking of.. That’s the version that was clearly done for the 2002 World Cup and is earlier than these we support. I hope it shows up one day, but I think it will be difficult to find.
>> Incidentally, there actually was a Korean Snow Brothers III, but it was a very different game for PC
interesting, I hadn’t heard about that before :-)
>> Also, how certain is it that Pandora was the name
>> of a company that put out Hot Bubble
I think it was licensed to a company called Pandora, and the boss of Afega is misremembering the details or the interviewer got confused about what was said.
I certainly hope to see some of the dumps I’ve made get emulated in some fashion over the course of this year. While I mainly specialize in Japanese clones, I still have new titles to submit for this year. Sega Netmerc being one of them that was submitted at the end of last year (even though 1 sound mask ROM needs to be redumped).
Ah true, I should have mentioned Netmerc, it looks like I missed a small range of dates at the end of the year when I copy+pasted the SVN logs into a file to narrow down.
Nothing is really guaranteed with Model 1 emulation tho, as you’ve probably noticed (the existing emulation hasn’t really improved at all over the last few years). I did briefly look at the memory mapping / mirroring for Netmerc (it’s wrong at the moment) but correcting it only caused things to fail in other ways. It’s also possible Netmerc will require a different HLE simulation for the TGPs.
There are a couple of things that have been mentioned to me now that I should add to the article.
Haze thank you for putting in the time to write this. I am a big fan of your write ups. Too many times the end user forgets how much work you and the rest of the MAME team put in, and this really highlights how difficult and time consuming your/our hobby is. Excellent Job!!!
While the new Studio II dumps you mentioned are playable on the Studio II (a black and white American system), they came from European carts. In Europe, there were a number of Studio II clones which added color. A good one to try is the Victory MPT-02 (mpt02). I recall Concentration Match being particularly colorful (at least as much as these games get).
The Visicom game includes both Baseball and Sumo Wrestling. On the Studio II, there was only a cart with Baseball alone. No one’s exactly figured out how to play Sumo. There are some moves I can’t reliably pull off. Maybe it’s because I haven’t seen a manual for it. There are brief instructions on the cart label, which have been translated as:
“Sumo Wrestling (for two players)
1. Press clear, then press the 5 key on controller A, and press the 0 key on both controllers to do the initial charge.
2. The left wrestler (A) uses the 6 key to push, the 5 key to throw, and the 4 key to pull. The right wrestler (B) uses the 4 key to push, the 5 key to throw, and the 6 key to pull.
3. When the match is complete, the winner will be indicated, both players will press the 0 key, and the game will continue for 15 matches.
Note: For more information on how to play the game, please read the manual.”
I find it somewhat disturbing that you keep talking about arcade work running out of steam when there’s an OVERWHELMING number of things left to do.
* From the Rampage driver:
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
How the fuck is Rampage not completely figured out in 2014? Seriously? Rampage?
* Street Fighter 2: Hyperfighting runs almost twice as fast as a real PCB. I don’t see anyone lifting a finger to emulate the wait states or figure out what’s really going on there. I guess it’s not a big deal, though–just one of the most significant games of all time.
* Daytona USA, one of the profitable and popular arcade games of all time, runs like fucking crap in MAME. Yup. Running out of steam. Suuuure!
* Virtua Fighter 2 doesn’t work even though El Semi’s given up his code (although, to be fair, M2 doesn’t run VF2 or Daytona perfectly, either).
* Raiden II is still laughing at you.
* The sprite zooming/scaling in basically every 16bit Konami game is still fucked (random horizontal lines through the sprites).
* The priorities in basically every 16bit Konami game are still fucked.
* Virtually every game in MAME has bad default gamma settings that aren’t accurate.
* Virtually every game in MAME has improperly balanced audio.
* Sunset Riders never got its protection properly simulated/emulated.
* Terry’s background in Garou is still fucked.
* It’s a safe bet that the generic sprite zoom/scaling implemented in most drivers is not how the actual hardware works and is wrong. Psikyoshhhhhhhhhh!
* It’s a safe bet that virtually none of the games in MAME run at the right speed. Basically any driver you look at says “timing not accurate” in the comments. Yeah. Running out of steam. Right.
It’s not that arcade emulation is running out of steam. It’s that emulation developers are notorious for not actually giving a shit about whether games run perfectly or not, and that’s why almost everything in MAME kinda-sorta-basically-almost-runs-perfectly-but-not-really. Yes, I understand that fixing tiny bugs that aren’t game breaking is pretty much the bottom of the barrel in terms of what would interest a person intelligent enough to fix these problems. The real problem is the most of the MAMEdevs left actually working on stuff or the amount of people actually smart enough to fix these problems don’t really give a shit about actually playing games, and these issues only piss off people who actually, you know, want to play the games.
Regardless, though, the things I mentioned above are 10+ years of solid work (although I guarantee you that virtually none of the things I mentioned here will be fixed in 10 years).
that’s always been one of my points for looking at console / computer stuff tho.
for platforms with shared hardware they’re one hell of a lot more demanding. in MAME, yes, it’s easy to do things the easy / lazy way, that doesn’t work once your project has a primary goal of emulating thing which fall apart *completely* when your timing is wrong (ie most 8 / 16 / 32-bit home systems/software where platorms, and thus the MAME framework and emulation gets pushed to the llimits)
it’s also why I’m advocating actual test software being developed and supported as part of our list of supported software. It’s much easier to develop some test software for a NeoCD and include it in the software list to demonstrate raster / timing issues, software that we know exactly how runs on real hardware, software with actual values from real hardware where we can have simple ‘pass / fail’ lists and know if any change at any point causes things to regress because it’s an instant test you can run.
running out of steam doesn’t mean nothing to do, but emulating only arcade stuff and disallowing actual test software set our bar far too low. for a lot of the cases people need to supply actual data from hardware for the issues to be fixed properly (ie not hacked) so as a simple developer of the code I can’t improve them. That’s one part of the problem.
The other part of the problem is MAME developed as an arcade emulator, a quick dirty hack in most cases to get things running, that’s why waitstates are just an afterthought, if we’d started with a zx spectrum and wanted a perfect emulator for that we would have realised much earlier on that they were essential, not optional.
Running out of steam means equally that the current approach being taken is not encouraging the right development patterns anymore, that if pretty much every issue you list is going to improve then we need to set higher standards, that we need to open ourselves up to people with interests in different areas, improve our emulator, and see drivers improve along with that. Typically that is what has happened to a point already, the drivers we have for most systems today are of a much higher standard than 5-6 years ago, but there comes a point when you have to see that arcade games alone won’t raise the bar high enough. Unfortunately some of the team do seem more obsessed with code clarity and refactoring rather than actual measurable emulation improvements, but that’s another issue altogether.
for many aspects you are right about the large number of problems still are present in MAME, but it is a gross simplification to claim that this is because devs do not care .
you have to take into account that in many cases perfect timing is a lost cause until we have support for wait states in the CPUs, which we don’t at the moment.
at the same time, if devs would not care about correcting unverified clocks and aspects of the emulation, you would not see in the svn log of the past 2 years ~ a hundreds of drivers where finally correct CPU speeds have been added (sometimes at cost of regressions in the functionalities, see e.g. MT#05276 for witch.c games)
problem is that after for 10-12 years half of the dumpers failed to document correct xtals freq (partially due to emu authors not asking for those values, of course), you cannot expect to magically fix all those datas in a few days ;)
final aspect to take into account, often remaining issues require real PCBs to perform tests, and these are not always available, or the owner does not have the equipment needed to run the tests
Do you need a Sunset Riders board? Do you need a Neo Geo board with Garou?
If you’re willing to fix any of the things I listed, I will send you the hardware. I’m LOOKING for someone to throw resources and money at.
a great article, as was the previous one. You should really consider posting them in a separate, non-blog format somewhere – maybe add in a few things like more links or a table of contents. These write-ups are useful documentation in themselves.
I am curious as to why you think Silver Ghost might be showing too much, though?
To get the games to display all the video Kale had to add a bit of a hack to the CRTC emulation, allowing it to display the whole screen, including blanked areas. The problem is they appear to set the visible area to only a few lines high and fail to display anything otherwise. I’m guessing it’s some kind of raster trick we don’t support properly.
As a result I think several games (in the X1 and SMC777 drivers) now so far too much border area.
I genuinely hope that UME becomes the default build/distribution soon.
The whole system is pretty modular, so if people don’t care about any of the games in one or the other, they can simply omit them.
I like to have access to both, and I find it MUCH more convenient than running separate copies of MAME and MESS.
Something good would be to get the same syntax for launching games in MAME and MESS so UME in this case would be very great. At this time MAME launch games and using the same way MESS launch only bioses… It would be better to get like in MAME a full list of available games (arcade or home) in the UI or in a FE and be able to launch them directly (bios can be defined according to the game launched as it is for MAME).
The problem is there are hundreds of thousands of games that way and for a lot of them it is important to understand what system they run on so that you have some idea how to launch them; not everything is a simple console game. This is why the console / computer software is a far better test and the MESS part of the project will eventually be the main part (there’s just so much more to test / provide evidence) but if you’ve studied the vast amount of software available it’s kinda obvious you can’t just do a ‘flat’ listing of it.
in reality the arcade stuff is just a small subset of the overall project, maybe the MAME syntax should actually treat ‘arcade’ as a platform so ‘UME arcade gng’ to better match ‘UME c64 gng’ etc. although obviously ‘arcade’ covers a wider set of actual hardware (but from an end user perspective that doesn’t *really* matter)
I kinda agree for the -listxml ‘brain dump’ that we should just list everything, but that would mean Clrmame would need better handling of sub-folders etc. because right now it struggles, even with Software Lists outside of batch mode.
ok… but in this case only for commun home systems like SNES and Genesis for exemple.
As you said it’s already in the hash files…
So ok for computers and stange electronic machines but for most “home” game systems it would be better and more user friendly :)
For your simplest braindead ‘arcade game’ cases it’s really simple to launch.
Then you have the common consoles, which for most cases are a simple additional command line parameter. This is still a fairly simple use case (and would be even easier if more frontends supported it, which could be achieved either by making it neccessary in MAME for certain systems – eg NeoGeo, or by going ‘full UME’ route on the main project)
Beyond that you have more complex use cases for common consoles, things like the Sonic & Knuckles plug-in system, or the team rosters on the NES baseball game I mentioned here. These are intermediate use cases.
Then you have older home computers, where typically you’re going to have to know which machine to use, know a little about what expansions you need plugged in (some games require specific joysticks in specific ports etc. require you to enter commands to play tapes, swap disks etc.) these are more complex cases..
Then there things like the PC drivers where you get very little out the box, you have to tailor the hardware to your needs, install the OS etc. these are much more advanced use cases..
Beyond that you have things like linking machines together running in different instances of MESS, and the really obscure still I covered in the “don’t understand” sections.
In the grand scheme of things learning how to use the console stuff is a small step up from learning how to use the arcade stuff, and an important step in learning how to use the even more advanced features.
Arcades just happen to be the simplest use case, because they’re fixed configuration devices. From the point of view of somebody approaching the machine there was nothing to configure, they were plug in and play. Incidentally the single game ‘TV game’ units are handled in MESS just the same. The actual difference in the way you use the systems tends to reflect actual differences in the way the systems were used and I still feel if anything it is MAME that needs to change when it comes to systems like the NeoGeo, Megatech, ST-V etc. that were effectively a console ‘cartridge’ model in the arcades and designed to be easy to swap games.
Thank you to answer and for your dedication to communicate with users, I appreciate and many others seams to do so.
Some years ago you have released HazeMD for exemple. It was working as MAME for users. Many derivatives builds included it in their MAME versions (MAME+ for exemple) and MD/MS games were included in the fulllist as any other MAME ones. You probably disliked that but it was very great for users, I would deam to see an UME like that (at least for very popular “catridge” consoles).
I can understand this is not the way MESS is developped and even less the gall devs have for the full project. And you are right (even if users are also those who promote the project).
For my part from now 13 years I still have less than 300 games for MAME and probably less than 100 others MESS ones that I would be happy to include easily in my gamelist. So yes a full list would be perfect and suitable.
I don’t think having a full set is something interesting. Most people using MAME or MESS wants simply keep memory of some games they liked before and are happy to play them times to times. These games/machines are differents for each user. Having the ability to discover some others ones is also great (and I’m sure that being able to start again a very rare/old/unknow electronic machine/application is also very enjoying and bring up the project in term of memory/support) but having 100K roms for UME is ridiculous for an end user so having them all mixed in an “available” list is not a problem for common users who have just a few games.
So yes MESS is a lot more than a simple console machines emulator and yes I understand your point of view. I just wanted to show what would be great for a simple user ;) In any case thank you very much for your work on MAME and for your articles. I’m a big fan :)
Incidentally, there actually was a Korean Snow Brothers III, but it was a very different game for PC: http://blog.naver.com/PostView.nhn?blogId=lee_su105&logNo=40132323975
where can i get this??