At the end of last year / start of this year I did an article covering many of the noteworthy (and some less noteworthy) advances in MAME (& MESS) during 2012. I ended up not publishing that until the end of January because it took so long to research and write, so I figure it might be a good idea if I get started early if I want to do one for 2013 too.
We’ve just over a month of this year remaining, so I’m starting to go through builds, changelists, previous build summary updates here etc. to pick out my personal highlights from the year. In addition to this I’m looking at some of the disappointments and potential we’ve both fulfilled and introduced over the course of the year. If you’ve read the 2012 article you’ll know the general angle I’m aiming for.
So.. I’m leaving this post here for people to submit their own thoughts. I’m especially interested in things in the MESS section of the project; areas where people think there have been worthwhile improvements that might have missed my usual summary posts (as I’ve said many times I’m not 100% familiar with many of the systems which means sometimes the progress doesn’t get the coverage it deserves) but of course I’m also interested in knowing what people think of the MAME progress made over the last year, it will help when it comes to organizing the different sections of the yearly summary.
Obviously there are some areas people might consider disappointing. Raiden 2 etc. still not being emulated is obviously going to still be a big deal for some people and from a personal viewpoint not being able to find a decent enough chunk of time to look at and improve the Fruit Machines / artwork system is a significant one, because I think they have an important role to play in MAME’s future. I do ask however that for now people try and concentrate on the positives, I don’t want a comments section full of ‘you should have done this’ I want comments that will help with building the 2013 write-up article. Progress I’ve managed to overlook / failed to highlight in other updates here would be very useful!
The period I’m interested in is anything after 0.148, so progress made after 11 Jan 2013 (everything prior to that point was covered in the previous article, even if some of that was technically work done in 2013) Releases in the period I’m looking at are 0.148u1,u2,u3,u4,u5 0.149, 0.149u1, 0.150, 0.151 and the current progress towards 0.152. Due to the slower release pace that’s not as many releases as the previous period, but many of them are larger in terms of the changelists.
Has the work done in MAME/MESS made a difference to you this year? Have you been impressed? Surprised? Let me know!
(and no, I don’t have the Christmas decorations up yet)
As mentioned in the Arcadia update ‘Unigame’ also has a vast stash of protos from a number of manufacturers, and early possibly proto versions of many other games. If you’ve been following in the past you’ll have seen the mention of the Taito Bubble Bobble 2 and Growl prototypes but the fun certainly doesn’t stop there.
First up there is a prototype of Super Chase from a point in development where the code name shown in test mode is still ‘Chase 3’ (ie Chase HQ 3)
This lacks a lot of polish, especially in the intro, but still resembles the final game and could in theory have been used as a location test. Original game is on the left, proto (much darker colours) on the right.
Next up is a prototype of Chase Bombers, this is significantly different from the final retail version and seems very glitchy, including a number of bad (placeholder?) sprites and bad colours for many objects. It is unclear at this point if all these glitches happen on the PCB or not. It’s clearly a development revision, and seems unlikely it was used by the public even for testing. Hopefully we can get a video of the original PCB running at some point.
You can see the rear view mirror at the top of the screen in the proto (moved to be nice little indicators at the bottom in the final) and different placement of most UI items. There’s no manual / automatic selection, and even test mode is a mess when it comes to button mappings / options working. This is clearly an early build in the middle of development.
There was also a Cadash prototype, unfortunately large parts of the PCB, including many roms were covered in a layer of epoxy. For the time being I’m using the graphic + sound roms from the final game to run this, it’s possibly Taito only covered the PCBs with epoxy once the final mask roms etc. had been put into development (to prevent further changes to the graphics) because it does *appaer* to work with the final graphics, unlike the above protos which have and need different everything!
I’m not sure exactly what the changes are, clearly it’s less polished, and doesn’t seem to have working link-up code yet, nor a complete attract sequence, but I’m not really familiar with the original game. Clearly the translation differs slightly, and the placement of some UI elements like the time is moved too. The behavior in attract mode seems to suggest some game features (magic use?) might be different too but I’m not sure.
Moving away from Taito there is also a prototype of Capcom’s 1942. This runs on significantly different hardware to the final game, including different port addresses for almost everything (for some reason the test mode shows the addresses for the regular retail board, but the code is clearly incomplete)
Instead of using PROMs for the colours this uses Palette RAM, with a single look-up prom for sprite colours (same as the final game) Background colour banking is therefore done by writing a new palette rather than a bank register. The I/O mapping is also different as mentioned, the sprite format is different too.
Gameplay-wise you can also tell it’s a proto, there are some flaws in the design, for example the powerups enemies drop don’t move down the screen, they simply stay where they get dropped, this actually (rather frequently) makes them impossible to pick up because your plane can’t move the full area of the screen, oops! Sadly the PCB has sustained a heavy blow at some point in the past and the window on the sound rom is smashed, the game works fine with the retail rom, and it’s possible it was the same, but we’ll probably never know for sure as these protos are almost certainly one-off builds.
He also had alt versions of “4 en Raya”, “The First Funky Fighter” and “Brick Zone” which have been added, although it isn’t immediately obvious if those are prototypes. 4 en Raya and Funky Fighter were added and work. Brick Zone has version 1.1 strings in the ROM (the working versions in MAME are 4.0 and 5.0) but also has different protection, hopefully Luca will look at it as he did an excellent job with the Suna games / sets we have emulated right now.
The last board was a Data East Cobra Command (the Laserdisc game). This is also possibly a proto or the Japanese version (although it had English labels stating Cobra Command) and has significantly less graphic data than the other sets in the driver. It doesn’t work, and it’s entirely possible that when it does it will need another Laserdisc that no longer exists. I’m not in any way familiar with the LD hardware types so somebody else will need to take care of that.
Keep in mind this was over 16-hours of dumping work for the person involved (there were 62 roms on the Chase Bombers PCB alone) and also only possible thanks to the kindness of Unigame in allowing for his collection to be dumped. Obviously when dealing with prototypes like this you’re seeing things you’ll probably never see again, boards that were simply left-over from testing and development cycles with unique, often buggy revisions of code on them, but if you like to study that kind of thing then it’s all part of a fascinating process showing how the games came to be and in some cases (like 1942) how the hardware also evolved during that process. There’s still more where these came from!
Unigame has been going through his collection of PCBs and allowing many of them to be dumped. In addition to a number of prototypes I’ll talk about later this also includes several previously undumped Arcadia games; the Amiga based arcade system.
He also had some alternate bios revisions, those have been added too.
Adding them was fairly simple, each game requires a basic bitswap (which only applies to odd bytes) Getting them running was just a case of figuring out the right bitswap in each case, Pharaohs Match had no swapping at all.
The Amiga version of Delta Command is known as New York Warriors
In order to the the ‘V100’ set of The Gladiator running I had to analyze the ARM code a little more. It quickly became apparent that the V100 set expected a different internal ROM, with the code offset fro what all the other sets expect.
For this reason I actually have a feeling it might be pre-V100 despite identifying itself as V100, because the internal ROM we have is supposedly ‘V100’ and it clearly expects an earlier one. I have a feeling the true V100 release is that found on the PCB version.
Anyway what I found was that all jumps to the internal ROM were done through a table of function pointers, so as a temporary solution (until we can find that actual cart again) I patched it to call the functions in the internal ROM we have, ugly, but effective.
However, I noticed another thing after poking around a bit. The table of function pointers in Happy 6 was the exact same length as The Gladiator, and by applying the same patches there the game actually started to boot. You can coin it up, possibly because in reality it needs a different ROM (we have a cart on the way for analysis) but the game can now run through it’s attract mode.
There was a further problem with Happy 6, unlike all the other IGS PGM originals it had address scrambled graphic roms / sound roms as well. I found this a little strange because typically only the nasty bootlegs employed such techniques, but it was easy enough to deal with.
I guess the function pointer table was the same because the codebase is actually built on the same code as The Gladiator was, and the internal ROM acts a bit like a bios. If you observe the high-score table sequence in Happy 6 the presentation of it is almost identical to The Gladiator for instance.
Please note, this game is NOT playable yet.
and before you ask, no, I can’t use the same trick on Spectral Vs. Generation, the jump table is much bigger so clearly isn’t a 1:1 match in terms of the functions it should be calling.
Hopefully when we get the cart the remaining issues can be solved, assuming they’re not caused by my simulation of the Execute Only area, but either way we really should run the proper code! The fact this runs as well as it does is a surprise.
Note, when set to Singapore the title logo is different (there IS an Overseas codepath in the code, but as none of the game is localized to English I doubt it was ever shipped as that) Also if you enable ‘Girls’ in the Dragon World game (Test mode option) there is a small subtitle on the screen.
UME is the complete/combined version of the MAME / MESS project.
As I’m doing public testing of ‘The Gladiator’ emulation this build is being put out just to get a binary with the latest code out there.
0.151ex2 is based on SVN revision 26195
The changelog (simply a copy/paste of the SVN log) can be read here. This isn’t formatted as a whatsnew, but as usual I’ll summarize the main points below.
Points of Interest
Really there isn’t a great deal you’re going to notice (as an end user) changed over the last release unless you’re testing out The Gladiator.
The main points are
– a new clone (V101) dumped by Artemio Urbina
– some changes to patch the ‘V100’ cartridge set (which appears to actually be earlier than V100) to run with the internal ROM we dumped (it’s actually designed to work with a different revision of the internal ROM but for now this is the best we can do)
– hardcoded ‘thegladpcb’ set to run as Japanese (it looks like ALL PCB versions were Japanese, and all cart versions were non-Japanese) and added the extra sample ROM present only on the PCB versions; it contains the changed music for the Japanese version
The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.