David Haywood's Homepage
MAME work and other stuff

Taking the FLAC

January 18, 2012 Haze Categories: General News. 70 Comments on Taking the FLAC

One of the criticisms often made of MAME / MESS’s CHD format is that it doesn’t actually provide very efficient compression, especially when it comes to CD AUDIO data. I’ve had a number of people ask me if I can look into improving this, especially when you consider that in with the current format a complete Saturn set is almost 1TB, with a large portion of that being AUDIO.

The reason it’s inefficient is because it’s using zlib’s inflate algorithm for the blocks, blocks which are rather small to ensure that data is decompressed quickly. While this is fine for DATA (it’s the same thing that ZIP files use) it’s absolutely hopeless for AUDIO.

There are dedicated audio lossless compressors out there, FLAC is a popular one.

I’ve spent the last 4-5 days solid integrating support for this into the MAME / MESS tree, and extending the CHD format to not only support it’s native blocks (hunks), but also reference to embedded streams via ‘virtual hunks’ which point at a stream, and allow the actual FLAC codec to do the seeking and decoding work for this.

By doing this I can achieve a good level of compression with FLAC, far better than trying to split it into CHD hunks due to the lower overhead, and improved ability of the compression algorithms to predict how data best compresses. I also still get good speed decoding, as the FLAC format is designed to be quick to seek, and has built in seektable support of it’s own which I’m levering.

I have to say FLAC is an absolute joy to work with, the API does everything you can expect, the documentation is great, and it’s very good at letting you know if something is wrong. (the only issue I had with the documentation / API was with the seektables, whereby calling things in the wrong order / wrong time during encoding could cause data to be overwritten without throwing an error)

I’ve also added support to the MAME SAMPLE interface to playback files from FLAC sources, this should allow the recently dumped tape loops to be compressed much better than they are now (they’re uncompressed PCM .wav files)

The other possibilities for this are endless, -wavwrite could also output FLAC data if support was added, MESS could potentially load cassette based software from FLAC images. It’s an incredibly useful codec to have around.

I’ve uploaded my first pass of this code Here (link offline for the time being, there is definitely still an error). This should be considered ALPHA SOFTWARE and I won’t be held responsible if you end up destroying your CHDs with it. I’m currently in the process of batch converting many images and haven’t found a broken case yet, but still, it’s in testing. While I’m happy with the current format extensions and CHD format created it could change in a final version, you have been warned.

This code has been submitted to R.Belmont, who is currently making some portability fixes. FLAC is designed to be portable, so this shouldn’t be too much of a problem, so fingers crossed it can be sorted out soon.

Usage is simple, I’ve added an additional -createcdflac commandline option which will use the FLAC routines when compressing AUDIO. If you already know how to use CHDMAN then it’s simple enough.

Have fun :-)

Go to article.. »

UltimateMAME 0.144u4

December 29, 2011 Haze Categories: General News. 29 Comments on UltimateMAME 0.144u4

UltimateMAME

This one is actually just based off MESS SVN revision 13871, so I’m not 100% sure which MAME version it’s synced to, but it’s post 0.144u4 for sure.

The process is simpler than it’s ever been right now, requiring minimal changes, in essence just a tool to combine the lists, and a new build target. A source diff of the needed changes is here.

I’m simply offering a single package this time, this includes
complete.exe / complete64.exe – 32-bit and 64-bit builds of the combined binary
as well as the rather redundant
mame.exe / mame64.exe – 32-bit and 64-bit builds of just the MAME target
mess.exe / mess64.exe – 32-bit and 64-bit builds of just the MESS target.

32-bit and 64-bit compiles of the tools are included in tools32/tools64 folders too
the full source is in there as well.

You can download that package here. It’s quite big because as mentioned above, I’ve just included all the builds for both 32-bit and 64-bit as well as the source.

To build the complete source do ‘make TARGET=complete’ although it’s recommended you build ‘TARGET=mess’ first if you want all the tools tho as it avoids a minor linker problem with some MESS-specific tools (needs looking into, probably something trivial)

Saturn Puzzle Games

The Saturn was just one of many Sega products which failed to achieve the same heights outside Japan as within it. To many it is considered a failure, beaten hands down by the Playstation, with little of worth to offer. Granted, it might not have been a 3D powerhouse, I’d be hard pressed to actually call it a 3D system, and the arcade ports of various fighters might not be quite as amazingly arcade perfect as some of the fanboys rave on about as if some great injustice has been done to the system, but, it had its fair share of interesting titles, especially in Japan.

Over the last few weeks I’ve been going through the Saturn Software List in MESS, which can be found in the UltimateMAME build to try and get an overall picture of how much of the Saturn library is actually dumped. If you factor out demo versions of games, the situation isn’t too bad, there are only a handful of games which don’t appear to be dumped at all, although frustratingly many are dumped to low standards, some just cheap iso + mp3 rips, even for relatively popular games. Also frustrating is that the Ultraman ROM cartridge (needed by that specific game) doesn’t seem to be dumped at all, that would have been an interesting project to get working moreso than the KOF95 one, which is dumped.

Anyway, needless to say a couple of titles have caught my eye. I’ve always enjoyed puzzle games, everything from the likes of the staple titles of Tetris, Columns, and Puyo Puyo to the more obscure ones. Mushihimetama for example was by far the most interesting of the Cave SH3 games to me as it was a true sequel to the absolutely brilliant Uopoko.


Columns Puyo Puyo
The classics – The Saturn actually has a port of Columns 1 (and the rest) as part of the Sega Ages Columns collection. It seems only Puyo Puyo 2 was ported tho, not the original.

Uopoko Mushihimetama
Not Saturn, but two of my absolute favourites Uopoko and Mushihimetama, which I feel could have been influenced by one of the games featured later in the article, keep reading!

Back to the Saturn, amongst the many dating simulations, fortune tellers, JRPGs and board game conversions the Japanese library also has a large selection of Puzzle games. Many of these are arcade conversions which from a gameplay point of view are rather made redundant by the emulation of the actual arcade versions in MAME although some do offer extra modes. Below are a selection of comparison shots.


Deroon Dero Dero Deroon Dero Dero
Deroon Dero Dero (Arcade left, Saturn right)

Magical Drop 3 Magical Drop 3
Magical Drop 3 (Arcade left, Saturn right)

Monster Slider Monster Slider
Monster Slider (Arcade left, Saturn right) This one is very different, not a straight port at all!

Puzzle Bobble 2X Puzzle Bobble 2X
Puzzle Bobble 2X (Arcade left, Saturn right)

Tekimori Puzzledama Tekimori Puzzledama
Tekimori Puzzledama (Arcade left, Saturn right)

There are more too. I wanted to include a few more, but the emulation of Mouja seems to be broken in the current version of MAME, and a couple of the Saturn titles don’t work in the MESS driver (Super Puzzle Fighter 2 runs in slow motion even at full framerate) but luckily, for the most part, the emulation of the puzzle style games holds up a lot better than the overall Saturn compatibility in MESS, which is sketchy at best. The Saturn also naturally got conversions of many of the ST-V puzzlers such as Columns ’97, Baku Baku Animal, and Puyo Puyo Sun, as well as ports of number of the C/C2 hardware games (Sega seemed to have had some easy way to either port or emulate Genesis based games on the platform) Interestingly the arcade game Mausuke no Ojama the World does not appear to have been released on the Saturn despite being on ST-V arcade hardware, a real shame because it’s probably my favourite puzzler on the system, the unique mechanic of having to link things diagonally to give them power before you get rid of them make it shine.


Mausuke no Ojama the World Mausuke no Ojama the World
Mausuke no Ojama the World, ran on Saturn hardware in the Arcades, but didn’t get a home release?

None of that is all too interesting on its own tho, games you’ve seen before. Thankfully the Saturn also had a couple of unique puzzlers of its own, maybe not exclusives (I really haven’t checked) but non-arcade conversions nevertheless.

Pastel Muses

Uopoko was mentioned earlier, and that’s what Pastel Muses reminds me of the most. It predates Uopoko by a few years, but relies on a similar game mechanic of having to hold down a button longer to fire your ball projectile further, clearly an idea borrowed from the various pinball and pachinko machines but one which at the time wasn’t extensively used in arcade puzzle games. Pastel Muses differs from Uopoko in that you’re also in rough control of the direction of your projectile, although you’ll often set it once for a level and leave it so the overall feeling is similar, the guide line which you get during the first few levels also vanishes in the same way so you need to get a feeling for the power levels quickly. Did this game actually influence those later Cave titles? You have to wonder, Cave were certainly aware of the Saturn as they produced several games for it.


Pasel Muses Pasel Muses

Pasel Muses Pasel Muses

Pasel Muses Pasel Muses

Pasel Muses Pasel Muses


Tenchi Muyou! Rensa Hitsuyou

This one is easy to overlook, the name doesn’t stand out to an English reader as ‘Puzzle Game’ but it actually stands up as one of the better games on the platform. You’re initially presented with a poor quality ‘Pioneer LDC’ video sequence, that alone might be enough to put you off the title or lead you into thinking it’s some poor laserdisc conversion, but persevere, and much better looking attract / title screens arrive.

The game again follows the simple ‘Connect 3’ equal algorithm, the playfield in this case isn’t entirely flat which changes your link patterns a little, but the real twist with this game comes from the water. Rather than your traditional ‘drop lots of blocks on opponent’s attacks which you commonly find in this type of game you instead cause the water level to rise on your opponent’s side of the screen. This has the interesting effect of causing new blocks which aren’t anchored down with the special anchor items to float. It’s a simple change, and truth be told it might even confuse you at first, but once you work out what’s going on it does successfully add a new dimension to a tried puzzle formula. In game this is another really well presented title, and I can have no complaints about either the graphics or the sound. Emulation seems a little slow, running at around 80% speed on my system, which surprises me for such a simple game, it’s likely there is room for some optimization in the driver to help here.


Tenchi Muyou! Rensa Hitsuyou Tenchi Muyou! Rensa Hitsuyou

Tenchi Muyou! Rensa Hitsuyou Tenchi Muyou! Rensa Hitsuyou

Tenchi Muyou! Rensa Hitsuyou Tenchi Muyou! Rensa Hitsuyou

Tenchi Muyou! Rensa Hitsuyou Tenchi Muyou! Rensa Hitsuyou

Kururin Pa!

Another block dropper, this one takes the ‘pipe’ block approach, dropping pieces resembling those found in Pipe Dream, although in this case they’re actually ropes, or to be more precise, fuses. Bomb items will drop, too, as will fire icons. Drop the fire on the end of a fuse and any correctly connected blocks will burn, drop it on a bomb and that bomb will explode, lighting any surrounding fuses. It might sound complex, but it really isn’t. Like most games you’re playing against a computer opponent trying to do the same thing, as time goes on the speed increases, but the controls always remain sharp and snappy which is a big plus.

The only thing that really lets the game down is the presentation, and while there is nothing really wrong with the graphics (apart from the Title screen which simply burns your eyes out) they’re very plain, and remain functional rather than fancy. Of course with these types of games it’s really the gameplay that counts, you could create an absolutely gorgeous game, but if it simply offers nothing beyond that it wouldn’t be worth playing, unlike this, which most definitely is.


Kururin Pa! Kururin Pa!

Kururin Pa! Kururin Pa!

Kururin Pa! Kururin Pa!

Shingata Kururin Pa!

Shingata Kururin Pa! is actually the sequel to Kururin Pa! and manages to address a good number of the previously raised concerns about the graphics. It’s more stylish, has a lot more animation, and is overall a lot more polished, but somehow it just didn’t seem to play as well, but maybe that’s just me.


Shingata Kururin Pa! Shingata Kururin Pa!

Shingata Kururin Pa! Shingata Kururin Pa!

PD Ultraman Link

Ultraman games are usually considered terrible. The Saturn fighter which uses a ROM cart is often ridiculed for how poor it is, and the other Saturn Ultraman releases just appear to be some kind of infobook / FMV game hybrid type things.

Ultraman Link breaks the trend a little, by not actually being terrible, and despite using CG rendered graphics for the most part it even looks good with smooth colour gradients and no ugly dithering. The game, like Kururin Pa uses ‘pipe’ type pieces falling into a pit. The rules here are very different tho, linking 3 or more pipe pieces together causes them to disappear, regardless of colour, although linking blocks of the same colour seems to be most beneficial if I’m understanding the rules correctly. The secret as always is chaining, but because the pipe pieces only have links on certain sides this requires different thinking to your standard stack + chain methods used in the likes of Puyo Puyo; you have to carefully think about where the links are on your pieces rather than the colours.

As a game it seems to play well, I can’t say I’ve put as much time into this one as the others mentioned, but the brief times I played it I did enjoy it, and will be coming back to it again at some point.


PD Ultraman Link PD Ultraman Link

PD Ultraman Link PD Ultraman Link

PD Ultraman Link PD Ultraman Link

PD Ultraman Link PD Ultraman Link

Pappara Paoon

Ecole Software, I’ve heard of them, they were behind the rather popular Melty Blood games. It surprises me therefore that this title seems so bad. It feels like a poor public domain Amiga game coded in AMOS. It’s ugly, has horrible controls, and a from what I can tell, a completely uninspired game design.

The gameplay is horizontal, you link X pieces in a row much as you would in Columns, all while your opponent is trying to do the same. I might have to come back to this one later, because I feel I must be missing something, or letting the poor presentation values sway my judgement on the quality of the game too much.


Pappara Paoon Pappara Paoon

Pappara Paoon Pappara Paoon

Tsuukai! Slot Shooting

From looking at screenshots I thought this might be some kind of Puzzle game. After playing it, I’ve concluded that it really doesn’t seem to be, you just seem to have to shoot the falling crabs before they have time to accumulate below. Not a great deal of fun.


Tsuukai! Slot Shooting Tsuukai! Slot Shooting

Make Your Own

The Saturn also has a piece of software designed to help you make your own games of this type. Sadly it’s entirely in Japanese, full of menus, and I don’t understand a word of it. I couldn’t even work out if it comes with any built in games, a real shame this kind of thing didn’t get released outside of Japan. It’s called “Ochige Designer Tsukutte Pon!” apparently.


Ochige Designer Tsukutte Pon! Ochige Designer Tsukutte Pon!

Others

There were other puzzle games on the Saturn which haven’t been mentioned yet too. The Saturn had its very own version of Tetris dubbed “Tetris S”, but that doesn’t work in MESS / UM yet. “Heisei Tensai Bakabon Susume! Bakabons” looks like it could be worth playing too, but the inputs don’t work.

There were also a good number of ‘Puzzling’ games which don’t quite fit in this genre due to being more action based. Things like ‘Noon’ and ‘Tama’ both look to be worth playing, the former runs in MESS / UM, the latter again lacks working inputs.

Overall if you enjoyed this genre the then a Japanese Saturn was well worth owning, between the excellent arcade conversions and the original titles there’s enough puzzle action to keep you busy for a long, long time.

Go to article.. »

Positive MAME memories of 2011?

December 10, 2011 Haze Categories: General News. 52 Comments on Positive MAME memories of 2011?

So, we’re a third of the way through December now, which means the close of another year is drawing near and I was wondering what positive memories people have of MAME progress in 2011.

For me the year started out with a bang, there was a flurry of activity surrounding the Seibu COP emulation, and of course the emulation of the sound on many Toaplan 2 games (Fix Eight, Dogyuun, V-Five etc.) but after that the early promise really faded away. SSV, STV and Megatech improvements were all piled high with the January stuff, as was the initial adding of the Pinball sets setting the ball rolling for later mechanical additions.

In terms of overall MAME core changes it’s hard to see any real overall benefits, there were lots of driver code cleanups, but in the end many of them simply lead to more broken titles, and as a result we’ll likely be leaving the year with a number of significant regressions on drivers which worked fine when we entered it. On the flip side some long standing regressions have been fixed, but when an equal amount seems to be getting broken it’s hard to really feel progress. The majority of real core improvements have come in areas more heavily used by MESS, such as greatly improved usability of the softlists.

Kale has shown a few glimpses of brilliance in fixing long standing problems like the Riding Fight sound he recently demonstrated, improvements to the Nichibutsu text layer protection simulation, and support for missing effects which had gone unnoticed there, but by and large the majority of his noteworthy progress has also been in MESS (Saturn + various Japanese computers)

In terms of added games we’ve seen a bunch of Korean titles such as Candy Puzzle, Penfan Girls, Mr. Kicker and Baryon, the last of those being the Korean shooter from Semicom which I added, the first two being Eolith games which are sadly still silent due to the unemulated QDSP sound system they use.

I guess the thing that really got everybody talking and showing an interest in MAME again was the Cave SH3 board emulation, but unfortunately that ended up being removed again. I’d still put it down as a positive memory tho because it came at a point where MAME was really starting to fade into obscurity, and the only comments about it were rather aggressive ones from people who didn’t like the idea of the emulation of Mechanical machines and recent additions related to them (despite the first step of this process being added in January with the Pinball sets)

A handful of rare things have shown up, Taito’s Galactica, Mama Top’s Birdiy, and some really interesting prototype revisions of already supported NeoGeo games, but again compared to other years nothing that knocks your socks off. I was meant to have one such thing to display here, a unique, groundbreaking title from the 80s, but due to circumstances beyond my control that’s going to have to wait until next year at the earliest now. I guess Galaxy Game *could* be considered one such title, the first arcade game with a ROM / ‘CPU’ based program and all which from a purely historical and technical point of view is very significant but it’s cultural value is almost nothing.

Namco System 22 got some attention, bringing a number of titles closer to a state that could *really* be considered working, but the main issue people still call the driver up on is still present, the pesky Time Crisis helicopter.

There was a lot of work on the HLSL rendering, which for me is no more than a novelty, some people like it however, so it’s worthy of a mention.

From a coding point of view, the main codebase has been more stable in 2011, which makes it easier to pick up and code for without having to relearn everything. For newcomers it gives a better chance of learning how things work. That’s a positive, but the lack of newcomers even with a more stable codebase is still a negative.

I think the negatives probably still outweigh the positives for this year, and I’m starting to get the impression that even within the team it’s more than just me who thinks current policies are bizarre. I see a recent CPS1 submission enabled the CPS changer sets, which for each set is just a single line addition, no real cost and a nice benefit for users / developers alike, they were promptly disabled again because they’re not true arcades.

Maybe 2011 has one or two final surprises left yet, and maybe 2012 will start all guns blazing just like this year did, there’s certainly no shortage of things left to do, or things that could be done easily I can’t really say I’m optimistic at this point tho, there just seems to be a complete lack of talking points, and a lack of progress of the magnitude needed to inspire people. I definitely have one last little surprise myself, *if* things work out, but I can’t promise that will be done for the end of this year..

Does anybody feel there is significant progress in 2011 that I’ve missed? Any personal highlights from this year that you’d like to talk about? Maybe you’re overjoyed by progress in something I haven’t mentioned? (Return of Lady Frog sound?, Support for various Gambling / Medal video based games etc.) I’d be interested in hearing thoughts on this year from other people. We’re talking about everything after the MAME 0.141 release, so maybe Xidy making available several more of the early Exidy ROMs (again in January) is something you consider a highlight (even if it isn’t related to MAME progress directly), I certainly wish more companies would come forward and do that!

Go to article.. »

C-C-C-C-Combo … Ultimate MAME 0.144u1 (MameComplete?)

November 29, 2011 Haze Categories: General News. 42 Comments on C-C-C-C-Combo … Ultimate MAME 0.144u1 (MameComplete?)

Ultimate MAME 0.144u1

The main official complaint with regards my previous ‘UltimateMAME’ proof of concept seemed to be the merging of everything into the single MAME tree. While I personally consider this an advantage (less places to look = less confusion) sometimes compromises have to be made in order to get things accepted officially.

Therefore, I present, based on the current codebase, a new proof of concept.

This, instead of combining the folders , adds a new build target to the system ‘complete’

The basic changes are still very simple, the mame.mak / mess.mak files have been reorganized a little to support what I’m doing, a simple tool has been created to merge .lst files to a final .lst file (right now it just joins the files, but additional validity checks could be added)

To support this the shared systems between MAME and MESS (where retail console units were used as the base for arcade machines) have been put in their own shared.lst to avoid conflicts, and an additional set of rules have been added to the makefiles to build the correct .lst for each target.

This, if accepted (and there really is no good reason it shouldn’t be, the base changes are legitimate and useful progress regardless) will reduce the actual number of files needed to create a combined build down to 2. The ‘complete.mak’ and ‘complete.c’ in the ‘complete’ folder. Therefore, even if a decision to not include those 2 specific files is taken it will be a LOT easier to maintain externally anyway.

From the point of view of Mamedev this allows the projects to maintain their individual identity, and keep the folder separation.

From the point of view, or somebody working on cross-project drivers it gives the option to build a single combined binary as a target. As an added bonus, if you have a single ‘Complete.exe’ binary built, and want the individual MAME.exe or MESS.exe out of it then everything you need is already built, so changing the target in the makefile will give you the split build in a matter of seconds, no need for a new rebuild!

For people who don’t care about having a combined binary this is a 0 impact change, absolutely nothing about the project work flow changes, and the combined target can happily be ignored. By default MAME.exe / MESS.exe will be built, you have to specify that you want a combined binary.

This is in essence win-win for everybody.

—-

Binaries / Source stuff
The following MAME/MESS sync positions were used:

http://git.redump.net/mame/commit/?id=72c99a93fb4102fe870562eeaf31ae49cfb4dc6d
http://git.redump.net/mess/commit/?id=9983e6ed75e51c8974318b3706853b6c5da63a5e

Both being slightly newer than 0.144u1 on the ‘Better error handling for softlists’ change.

After combining those sources, the following diff was applied to update the build system as I describe above.
That still leaves the default build target in the makefile as ‘mame’ change it to ‘combined’ to get the combined build.

Combined Source here
64-bit Binary here
32-bit Binary here

I’ve still had some issues building the tools, but it should be possible to resolve those quite easily, it just wasn’t necessary for this 2nd proof of concept, which was targeted at resolving the issues MameDev had with the first patch.

Fingers crossed that the basics of this will actually be accepted, I can’t think of any legitimate reasons why it wouldn’t be, but you never know with Mamedev these days… Anyhow, it’s all been submitted yet for some reason I still have a bad feeling I’ll come up with answers to all the problems, then just get radio silence instead of a real reason for things not being included tho…

Given that I’ve called the build target ‘Complete’ (which is a better description of it) and the exe is therefore complete.exe maybe I should call any future builds produced like this ‘MameComplete’ as they represent a more complete Mame build than the baseline. The current name was just really based on the most complete version of Windows being the ‘Ultimate’ editions ;-)

—————

Mini Game Review – Willy Wino’s Stag Night (Amstrad CPC)

I’ve recently been having a bit of a play with the Amstrad CPC driver, scoping out how well it runs things (definitely room for improvement) and it’s on that system I’d like to highlight a game I think is a good example of classic platforming action.

Released in 1988 by Probe Software, Willy Wino’s Stag Night utilizes the lower resolution, higher colour mode of the CPC to good effect. Unlike many games on the system which overload the screen with action, and attempt all sorts of fancy scrolling at the cost of fluidity Willy Wino’s presents clear graphics, and a solid framerate, boasting some very nice animation of the main character.

The game is a flip-screen ‘collect all the objects’ style game, think Manic Miner, but with multi-screen levels and bigger objects and you’re pretty much there. It’s not the longest game in the world at only 8 levels, but with only 3 lives it remains challenging without ever seeming unfair.

In keeping with the theme of the overall game you’re picking up bottles of Willy’s preferred alcoholic beverage (which would appear to have no ill effect on your protagonist) Enemies are your typical spikes, traps, fire, and a random assortment of other objects, you’ve got the conveyor belts you expect in this type of game and everything is pretty much as you’d expect. There’s no music, just a little tune each time you pick up an object and the sound of your footsteps, jumping and deaths. All fitting and polished like the rest of the game comes across as.

Overall presentation is good, you have all the option to choose your keys, some brief instructions, and if you leave the game running on the menu you’ll get to see a collection of screens from the game which just makes you want to play more to actually reach them.

The main difficult comes from the movement speed, your character is quite slow, no faster than any of the enemies, which means you have to carefully plan what you’re going to do, when you’re going to make a run for it. You turn slower than the enemies, so indecision can be fatal, also like most games in this genre it’s important to get the jumps right, jump into a spike and you’re history. Again, this never feels unfair, and once you get the hang of the timing you’ll be able to anticipate most dangerous situations well. To keep you on your toes there is a timer in the form of the ‘Air’ bar top left, so you can’t just hang around forever!

All in all it’s classic platform action and a very good example of working to the strengths of the system, there are definitely flashier games but as far as standing up to the test of time goes this one is a gem, and not one to overlook!


Willy Winos Stag Night Willy Winos Stag Night Willy Winos Stag Night

Willy Winos Stag Night Willy Winos Stag Night Willy Winos Stag Night

Willy Winos Stag Night Willy Winos Stag Night Willy Winos Stag Night

Willy Winos Stag Night Willy Winos Stag Night Willy Winos Stag Night

For the purpose of testing the current ‘Ultimate MAME’ build posted here was tested, system ‘cpc464’ and entry ‘-cass willywin’ which is the cassette version from the Software List.

To use, type |tape and hit return (the | character is mapped to the { key here) and then type run” hit return, then press any key.

To start the tape in you have to turn the full keyboard emulation off with SCROLL LOCK, press TAB to bring up the internal menu, Scroll down to Tape Control, select that, scroll down to Play, select that, close the menu with Tab, then hit SCROLL LOCK again to turn the full keyboard emulation back on.. Then wait a while for it to load, enjoying the ‘Bleep Loader’ which owners of both the Amstrad and Speccy will be very familiar with ;-) In terms of emulation quality, I didn’t notice any problems at all with the emulation of this title.

————

Mini Game Review – Ghouls (Amstrad CPC)

When somebody says ‘Pacman with Legs’ most people instantly think of Crazy Otto, the prototype which was to later become Ms. Pacman. I think of this. The concept is so simple, so perfect, Pacman, as a platform game.

Ghouls is a game I want to love as a game, but it’s also a game I’d dearly actually love to be able to complete the first level on. Actually merely overcoming the first obstacle is a challenge. This game has issues.

When it comes to collision detection helping you, for example, needing to land on a platform, it seems you need to be spot on, or you miss. When it comes to something killing you, the slightest touch will do it. Controls are also terribly laggy too, you need pixel perfect jumps, but there is a noticeable delay between pressing the jump button, and actually jumping. Worse still, if you actually hold down the jump button for more than a fraction of a second, even if you release it prior to jumping, you’ll jump once again upon landing, usually to your death. Usually this is because falls kill you, jump off a ledge, and you die. Was that really necessary?

This could have been a really good game, but the execution lets it down so badly it really borders on unplayable, it’s a real shame, because you can see what the game designers and programmers wanted to achieve, and they’ve got the visual style of a side-on Pacman game down to a science here. Simply to get screenshots of other levels I had to leave it in running the demo mode, a demo mode where the character makes no attempt to actually play the level, possibly a wise move, death after all is inevitable ;-)

The levels have moving platforms (which kill you) Ghosts which home in on you (and kill you) Gaping canyons (which kill you) Spikes (which kill you) Extending bridges (which usually just end up killing you) and to top it off you don’t even get that many lives, there’s no password system, no checkpoints in the levels, and sometimes the ghosts actually spawn in positions which make the levels seemingly impossible even if you were to get the jumps spot on.

Somebody could go back to the drawing board and produce a really good game out of this, I’m sure, but issues with the controls, issues with the collision, the sheer number of things which will kill you and the lack of any feeling that you’re making worthwhile progress means this game falls at the first hurdle, much like you do 9 times out of 10 when you play it. Worth looking at just to imagine what it could have been, but ultimately terrible.


Ghouls Ghouls

Ghouls Ghouls

Ghouls Ghouls

Ghouls Ghouls

For the purpose of testing the current ‘Ultimate MAME’ build posted here was tested, system ‘cpc464’ and entry ‘-flop1 ghoulsuk’ which is the floppy disk version from the Software List.

To use, type run”ghouls and hit return.. the game will load from the emulated disk drive.

No emulation problems were observed, the game really is just as unplayable on a real system!

Go to article.. »

Immediate Plans

November 25, 2011 Haze Categories: General News. 17 Comments on Immediate Plans

After leaving the Fruit Machine emulation for a bit while 0.144 was put out the door I think it’s about due time I got back to looking at that. I’m effectively down a man on that front tho, because James who was providing some assistance is currently out of action due to real life goings on.

Also, as outlined below NeoGeo Multislot is in my plans, this shouldn’t actually be too difficult to implement now, just requires a bit of planning.

There are a couple of MESS-side issues I’ve noticed while going through systems with UltimateMAME which could do with some attention (not specific to my build, just general problems in MESS) For now I’m just waiting to see what the actual MAME/MESSdevs come up with as a solution as far as building a unified binary goes tho. If they are serious about doing a merge then any sensible solution would at least have the option to build an ‘UltimateMAME’ like target, so I’m going to bide my time on that for a while. I’ve shown that it can be done so the ball is very much in their court now as far as delivering anything as complete and functional as what I provided, but in an official capacity is concerned.

I _won’t_ be working on Raiden 2, Gaelco, HNG64, Later release PGM or anything along those lines, sorry.

I might do some more mini-reviews / game(s) of the week type things, pointing out some obscure, or forgotten games which are noteworthy for some reason or another. There are many interesting titles out there beyond MAME, and due to various factors (difficulty in using the systems without prior knowledge, vast size of software libraries, assumptions that old computers/consoles just weren’t as capable, lack of a popular MAME-like project for non-arcades, the number of closed source ‘best’ emulators which simply fail on modern platforms etc.) a fair number are being completely overlooked, or at most relegated to ‘best 100 games for xxx’ YouTube videos with little explanation as to why.

I’ll probably use my UltimateMAME builds, or MESS for the purpose of this, as while compatibility, and usability may be inferior to some of the standalone emulators people can actually depend on it to work as described regardless of their platform. It’s just a shame compatibility on some of the systems is so bad (PSX, Saturn, Jaguar etc.) of course being open software there is always the opportunity to improve it, although that requires people to actually know it exists, and one of the most evident things about UltimateMAME is that a lot of people apparently didn’t even realise what MESS was, so I can only guess it’s just as hidden from developers.

With the above in mind, one final thing I will say is that it MESS exists, and if you’re considering doing your own 100% accurate emulator for a platform please consider coding in MESS instead, and improving the MAME framework while you’re at it because one thing about the project(s) is they’re always going to be there and somebody is always going to be maintaining them, so if you care about things being preserved for the generations it’s a good place to do your work. It might seem like a silly ‘nothing’ project split off from MAME, and relegated to obscurity, but it really is just as important, if not more and we’re quickly approaching a period where most of the developers who are likely to be interested in these things are getting older, and moving on to other real life ventures which IMHO puts some systems at risk of never being emulated and preserved properly in an open, active project.

Go to article.. »

Ultimate MAME 0.144a

November 18, 2011 Haze Categories: General News. 26 Comments on Ultimate MAME 0.144a

I wasn’t expecting quite such a positive response from the initial ‘Ultimate MAME’ post, but it seems like a decent number of people really like the single binary concept.

Anyway, there were a couple of issues with the MESS 0.144 source on which it was based, these have since been resolved, as well as several other changes made which may be of benefit to this build. In the 0.144 release things like c64 would just crash due to aforementioned MESS bugs, and the code for some MESS drivers would end up being compiled differently to a standard MESS binary due to it being hidden behind #ifdef MESS defines in the source. Micko has done some work on removing those cases, although he did manage to introduce some additional conflicts in the process which I’ve fixed and submitted a patch for.

Anyhow, what this means is that I’ve done a quick update of the build against 2 newer GIT revisions (MAME and MESS which should fix this handful of issues.

Combined Source (0.144a)
32-bit Binary (0.144a)
64-bit Binary (0.144a)

Also I’ve decided to add some screenshots of various things running in this build :-)


Miner 2049er Island of Dr. Destructo
Left: Miner 2049er (from the C64 software list)
A classic C64 platformer shows that the C64 driver works in this release, simple and popular arcade style gameplay on a home system,

Right: The Island of Dr Destructo (Amstrad CPC, from a TOSEC disk image)
Inspired by the classic arcade Two Tigers but arguably more fun, albeit a bit slow paced like most things on the platform. Always lots going on as you attempt to sink everything from Battleships to an actual island. One of my favourites

Pi R Squared Time Gal

Left: Pi-R-Squared (Spectrum, from TZX tape image)
A unique puzzle style action game on the ZX Spectrum which would have IMHO made a good arcade title. Two directions and a ‘switch’ button allow you to traverse between rotating gears. You must complete 360 degrees of each circle to collect the item inside it, and to finish a level you must collect the parts of a formula in order, while avoiding the enemies. Sound is sparse, but the gameplay is addictive.

Right: Time Gal (Sega CD, from Software List)
The laserdisc arcade version of this isn’t emulated in MAME yet, but the SegaCD version is fully playable. Not a big fan of these FMV games, but some people like them.

Pole Position Sonic The Hedgehog Megatech

Left: Pole Position on the Vectrex, Port of the classic Namco title running on this unique vector based home system, if you thought Vector monitors only existed in fancy arcade games like Battle Zone, think again!

Right: The Arcade Megatech system running Sonic The Hedgehog. The actual rom is identical to the Megadrive / Genesis version, but crippled by a ‘pay for time’ timer. You could install multiple games tho!

Pole Position Sonic The Hedgehog

Left: The original Pole Position Arcade from Namco

Right: The Megadrive / Genesis version of Sonic running in the very same Genesis driver as the Megatech version above, but without the crippling timer system!

The Apprentice Speedy Dragon

Left: The Apprentice on CDI. The CDI might not have had many good titles, and you could probably even make a case against ‘The Apprentice’ rather easily, but it sure is pretty, and much like ‘Hotel Mario’ on the same platform it presents what could have made a pretty decent arcade game rather than the god-awful (yet still better than most of the home output) quiz games which were released on the platform in the Arcades.

Right: Speedy Dragon, from the obscure Super ACan system. Emulation is still preliminary, but it’s an interesting Sonic inspired adventure.

Wec Le Mans Burnin' Rubber

Left: Konami’s Classic Wec-Le-Mans, one of the most solid arcade racing games of it’s time.

Right: Burnin’ Rubber for the ill-fated GX4000 (an 8-bit home console based on the Amstrad 6128, released far too late) Burnin’ Rubber is clearly inspired by Wec-Le-Mans, with the majority of gameplay elements mirroring it closely, sadly it’s so sluggish it’s nearly unplayable, the original Amstrad 464 port of Wec Le Mans was a lot more playable! Still, an interesting experience.

Summer Carnival '92 Recca Aleste

Left: Summer Carnival ’92 Recca for the NES – an early game from Shinobu Yagawa, who is better known for his work at Raizing and Cave. The SH3 based ‘Pink Sweets’ takes it’s bomb mechanic right from this rare classic which is every bit as manic as his later games.

Right: Aleste for the MSX. Nowhere near as manic, but interesting to see actual MSX games running in MESS as the offerings based on the hardware in MAME are all a bit weak.

Parasol Stars Dracula X

Left: Parasol Stars for the PC Engine – Many claim this did exist in the arcades, Taito say it didn’t. There were ‘licensed’ but very crude timer-based PCE systems which could potentially run it, but you may as well just run the real thing without an ugly timer tacked on to reset it when you stop inserting coins.

Right: Dracula X for the PC Engine CD – Just to show that CD support works too

Disney's Aladdin Disney's Aladdin

Left: Disney’s Aladdin, the original classic Megadrive / Genesis Game

Right: Disney’s Aladdin, the original classic Megadrive / Genesis Game but with some ugly hacks applied by Chinese bootleggers so that it works as an arcade game. This one is supported in baseline MAME as a result while the original isn’t due to it being a home only game. A great injustice I say.

Metal Slug Metal Slug 2nd Mission

Left: The NeoGeo MVS classic Metal Slug

Right: Metal Slug 2nd Mission for the short-lived NeoGeoPocket Color, a solid adaptation of the game which due to the premature death of the system never really got the credit it deserved.

Bari Arm Bomb Fusion

Left: Bari Arm (Android Assault) for SegaCD… One of those crazy ‘This should have been an Arcade game’ shooters.. developed by Human who did make a couple of arcade games, missed opportunity for sure!

Right: Bomb Fusion for the ZX Spectrum… This one could easily have been a classic arcade, make contact with the various balls which are falling around the screen to have them follow you, and take them to the crate. You need a certain number to exit the level, but all the time there are bombs ticking away which you need to defuse to avoid the radiation level increasing, all while avoiding the other enemies.

Pac Attack Cosmo Gang The Puzzle

Left: Pac Attack on the SNES, Home Only Release

Right: Cosmo Gang The Puzzle… Somehow the Pacman theme of Pac Attack suits the game mechanics far better, a real shame this was the only true arcade version.

Penguin Land Doki Doki Penguin Land Arcade

Left: Penguin Land for the SMS

Right: Doki Doki Penguin Land Arcade, notice how the Arcade version look a lot worse than the SMS version, it’s actually based on older hardware, so much for that theory that the home versions were always just inferior versions with worse visuals ;-)

Puyo Puyo Kirby's Avalanche

Left: The original Puyo Puyo arcade game, running on SegaC2 hardware (derived from the Genesis VDP)

Right: Kirby’s Avalanche, a SNES exclusive adaptation of the game featuring Nintendo’s well known Kirby character. The Genesis also had a similar adaptation using Dr. Robotnik as the lead character. It’s a shame these adaptations never made it back into the arcades really because they’re appealing in their own ways.

While creating these screenshots I have noticed that things like the inputs in the X68000 don’t seem to be working properly (which is a shame because there would be some nice comparison shots otherwise) I need to check if that’s just a regression in MESS, or if I’m using the driver incorrectly, or it’s something MESS specific which isn’t getting compiled quite right in this build. Likewise I was a little surprised to see the BBC Micro not booting because I wanted to put up a Chuckie Egg shot. I’ll investigate those later.

As you can see tho, the code does a reputable job for a good number of the major systems, and while some of the later ones still need significant amounts of work the MESS component of Ultimate MAME does give a good variety of extra functionality to the base MAME emulator, allowing for easier testing of shared components via. a far expanded library of games using them. There is huge potential in such a combined project!

A lot of people who only care about ‘the games’ write off console versions, and old computers as being trash and simply not worth playing, but each and every library contains a good number of gems which can hold their own against any arcade game in terms of gameplay and graphics, and even when they fail to do that they often have their own unique charm and are in some cases of great importance, as I hope some of the shots above demonstrate. Open your mind :-) For the majority of the things pictured above all the code is actually already in baseline MAME, just not being used to it’s full potential there due to the arcade only policy, to me that’s a real shame and one of the reasons I created this build, what’s the point of writing code, and painstakingly testing if it’s then only ever going to be used to 5% of it’s potential in the primary project?

Go to article.. »

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

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

Close