Links

HazeMD Releases

    0.14a
  • Source+Binaries
    (internal database rebuild)

    0.12a
  • Source+Binaries

    HazeMD is a Megadrive / Genesis emulator based on the MAME code. It works in exactly the same way MAME does.

Radica (Custom Genesis)

Super Bubble Bobble MD (Unofficial Genesis)

Radica (Custom Genesis)

Indiana Jones' Greatest Adventure (Genesis)

Indiana Jones' Greatest Adventure (Genesis)

Kolibri (32X)

Kolibri (32X)

Archive for October, 2009


October 28th, 2009

CDi in Review

So.. I’ve been testing out various CDi Titles in the recent MESS driver, and I can only feel sorry for anybody who spent 700$ on one of these when it came out. You can count the number of good games on one hand, and on most other systems those would merely be considered average. The bad games, you’d need more than just a desert to bury them. Almost every game on the system suffers from glaring design flaws (as does the actual system), some of them so obvious that you wonder how they were ever released. I approached the system with an open mind, thinking that all those videos on YouTube of people ripping into the games were just for show, they’re not, actually if anything they’re too kind on some of these titles.

While not all the games work well enough in MESS to make a fair assessment the majority don’t need to, overloaded with ‘multimedia’ content, poor controls, illogical menus, no gameplay value, and deeply flawed designs are obvious even through the bugs.

The only 3 games I actually enjoyed were the following

Hotel Mario
Despite some people hating this it is actually a solid arcade-style game, had it actually been released as a sequel to the original Mario Bros arcade I think it would have done rather well. The action all takes place on a non-scrolling screen, just like the original and the whole thing plays like a classic arcade title, even if the controls can feel a bit ’sticky’ at times.

The Apprentice
The graphics and animation on this one make you wonder why none of the other CDi games come even close in terms of presentation, they’re stunning. The sound / music don’t work so it’s hard to know if they match the graphics, but at least with this game you know you’re looking at something better than you’d see on the Genesis. It’s another simple platformer, this time a vertically scrolling one. You must get from one end of the level to the other, avoiding various enemies, and collecting items that will help you pass other parts of the level. It’s not a flawless game, you notice straight away that any enemy which even leaves the screen by 1 pixel becomes inactive, and the control system only allows you to fire when you’re on the ground. These problems don’t however stop it being by far the best thing to have been released on the CDi and make you wonder what could have been done with the system if more good developers had been involved.

Dimos Quest
This one is from the same team as The Apprentice, and shares a similar graphical style. It’s not as polished as the former, and the ingame sprites are tiny so it doesn’t look quite as good. The game is puzzle-based in it’s nature. Each level consists of a number of pieces of candy, you have to collect them all and reach the exit without being killed. The levels are full of hazards and obstacles, and each one must be dealt with in an appropriate way. There are a large number of special items and the later levels are of a large enough scale to present a significant challenge to even a skilled player. My only gripe is that the controls feel very laggy and you often overshoot the square you want, sometimes leading to your death; I don’t know if this is an emulation bug or a problem with the original, bad controls seem to be a theme mentioned even on the YouTube CDi videos on a frequent basis.

Thankfully these 3 are playable right now in the MESS driver. I’ve also compiled a Tiny MAME build which incorporates the MESS code, below.

A couple of other games look interesting but simply don’t work. MegaMaze looks like it could be a good puzzle game, sliding marbles around a maze.

As for the bad…

The Zelda games are an abomination, seriously, they have no redeeming features at all, neither works well enough in MESS at the moment to make any great amount of progress, but the game mechanics are so bad you simply don’t want to anyway. The video (cartoon/fmv) based games are mostly pointless, especially the Wacky Golf game, which isn’t even funny the first time you see the clips, and most games are laden with FMV where FMV doesn’t need to go.

The ‘board game remake’ titles (mostly from ‘CAPDisc’) just serve to annoy, by being slow paced, ugly and clumsy in their implementation.
As for the ‘Arcade Classics’, ‘Family Games’, and ‘Golden Oldies’ packs, each and every game feels like a poor joke; for Family Games 2 you can almost sense that the programmers knew it was awful, so simply made it into a joke with their parodies (Mortal Pong??). There is no consistency in the games aside from them being consistently bad, each one of the arcade classics is prentend in a completely different way. Galaxian has no decoration, Galaga has so much decoration it looks like the game is afraid to use more than 1/4 of the screen, and MS. Pacman has been tarted up, has had a (flawed) 2 player mode added, but the enemies have been dumbed down so much it’s not even worth playing and those are the official ports!. The unofficial ones found in ‘Golden Oldies’ are even worse, BlockBuster is Arkanoid, but done so wrong it’s not even funny. The initial jingle you get on starting a game is a direct rip-off of the official Arkanoid jingle but a bit more ’spacey’ (I’m surprised they weren’t sued) but the rest of the sound effects just sound completely out of place, and when you miss the ball they decided to add a long winded animation where your paddle turns into a skull and falls apart whilst playing a generic Aaaaargh sample. You’ve also got a Defender remake, a Centipede remake, and a Space Invaders remake, none worth your time. There were better classic ports and remakes on the 8-bit systems, these are just embarrassing. For the most part these compilations work well in the driver, althouh the official Namco one has issues, and some of the minigames in the Family Games series don’t run properly.

Micro Machines has a port, but it’s a disaster, the framerate is somewhere around 20fps, they’ve added some bad FMV sequences, and it has no in-game sound only music, those aren’t emulation issues either, it’s exactly like that on the original hardware.

Video Speedway seems like it has potential, until you reach the actual game. The menus are well presented, but the actual game is a very, very poor clone of the Genesis version of Super Monaco GP, your car sounds like it has a broken lawnmower for an engine, and your tyres screech like a screaming teenage girl, the graphics are bland and the game near unplayable.

Honestly, the CDi is terrible, most systems have their share of bad games, but the bad games on CDi make up the majority of the titles, you have to play some of them simply to understand how bad they are but once you’ve played them once, you’ll never want to go back and play them again; at least not unless you’re suffering from a severe case of memory loss and forgot how bad they were.

Good to see emulation of the system improving… Now.. to wash my eyes out..

——————–

TinyCDI 28/10/09

This is a ‘Tiny’ MAME build containing the CDi code from MESS as it is on 28th October 2009
using a fixed gamelist like MAME.

Most games will lockup or crash at some point due to imperfectons in the emulation, a couple
of them do however play well.

Hotel Mario, The Apprentice (no sound), Dimos Quest, Alien Gate, Jokers Wild, Tetris and a
number of others seem to be perfectly playable.

Digital Video titles won’t work because MESS doesn’t emulate the MPEG card.

For most games only one revision has been added for testing purposes, while multiple revisions
exist in the TOSEC dats. Non-games haven’t been added at all for now.

I haven’t marked games as working / not working because most of them haven’t been tested far
enough to make a good judgement on that, the main guarantee this tiny build gives however
is that if your CHDs match the expected ones, you’re getting the same results as everybody
else; something which is hard to know in MESS which lacks any kind of fixed set list.

I (Haze) take no credit for the work here, I’ve just been converting images and testing them.
The driver is mostly by ‘Just Desserts / Harmony’ and progress can be followed at the MESS
forums.

The CHDs used by this should be compatible with future versions of MESS.

The package is provided as a ‘tiny’ package which extracts over a full MAME source.

Have fun, I don’t personally want any bug reports for this, you’re on your own ;-)

Download

——————–


Screenshots all taken from games which appear to work…

MESS CDi Driver 281009 MESS CDi Driver 281009

MESS CDi Driver 281009 MESS CDi Driver 281009

MESS CDi Driver 281009 MESS CDi Driver 281009

MESS CDi Driver 281009 MESS CDi Driver 281009

MESS CDi Driver 281009 MESS CDi Driver 281009

MESS CDi Driver 281009 MESS CDi Driver 281009

MESS CDi Driver 281009 MESS CDi Driver 281009

MESS CDi Driver 281009 MESS CDi Driver 281009

MESS CDi Driver 281009 MESS CDi Driver 281009

Posted by Haze @ 13:40 | Comments (7)

October 24th, 2009

Hang-On a Second

One of the more interesting things that the Dumping Union turned up and dumped recently was an alt. version of the Sega classic ‘Super Hang-On’
It had been common knowledge for a while that there was an undumped variant of the game because the bootleg that was supported in MAME was clearly derived from an undumped set running on Hang-On hardware. It was also clear that the undumped version should use an encrypted FD1094 CPU on the sub-cpu as there were remnants of encryption state changing code in the bootleg ROMs.

What we didn’t expect to see was a game that played in a significantly different way to the existing sets.

Initially I thought it was going to be bad news as far as emulation of this new set was concerned, I’d hooked it up in the driver making a few changes in the process as all the existing system-16 games have the main CPU encrypted rather than the sub-cpu, but there was a problem.

The code simply crashed on what looked like an attempt to take the interrupt routine and a quick romcmp on the encryption key revealed a ‘fixed bits’ problem (which is often an indication of a bad rom dump) At this point I feared the worst, a bad key could indeed cause the decryption to fail, which matched with what I was seeing.

Luckily it turned out to be something less severe than that, I’d mistaken the CPU being reset for an interrupt being taken (both cause the CPU to jump to a new address). The problem was that when the CPU was being reset the FD1094’s encryption state wasn’t being; this was the first game we’d seen where another CPU could reset the encrypted one, and thus that case wasn’t handled.
After fixing that the game booted, and the differences were surprising.

In Super Hang-On the main gameplay difference is the introduction of the Super Charger, which allows your bike to go from ~280KMph to ~325KMph when activated, with flames coming out the exhaust.

Oddly, in playing the new version I was able to reach ~325KMph without the use of the Super Charger, the top speed of the bike under normal conditions was effectively much higher and pressing the Super Charger button had no effect at all. A quick look at the test mode showed that S.C (Super Charger) wasn’t even listed in this version, instead two new inputs, Foot Switch Left / Right were. I mapped these wondering if they’d have a similar effect to the Super Charger, but they didn’t, actually oddly enough they don’t seem to do anything.

With this changed gameplay the new version of Super Hang-On that was dumped plays much closer to the original Hang-On, and that is probably the secret behind the changes seen in it. This version was almost certainly designed as a Hang-On conversion, and the Hang-On sit-down cabinet doesn’t have a Super Charger button. In order for the conversion to work it was required that Sega modified the game in order to not require the Super Charger to play hence the changes seen.

For whatever reason the bootleg version based on this has the Super Charger behaviour restored, but I’m at a loss to explain the bootleggers thought process in this case, there were unprotected versions of Super Hang-On anyway, so bootlegging the Hang-On conversion, which was protected seems like a less obvious choice than bootlegging those; I can only assume they wanted to sell their own upgrade kits, but then that doesn’t make sense due to the Super Charger being enabled in the bootleg. There are some things that we’ll probably never know.

Both this version and the bootleg have a slight scrolling glitch on the right hand side, visible when you start the race and on some corners. I don’t know if this is an emulation glitch, or a limitation of the Hang-On hardware / bug in the conversion (there are some obvious bugs in some other Sega conversions such as the System16A Tetris).

Anyway, it’s good to see this rare version of Super Hang-On emulated, so a big thanks goes out to the Dumping Union and all those who contributed towards finding it, and buying it so that it could be studied.


left, new version – right, regular version
Super Hang-On (Hang-On conversion) Super Hang-On (Regular)

Super Hang-On (Hang-On conversion) Super Hang-On (Regular)

I’ve also been helping TDU with a few other things, but this one struck me as really worth writing about.

Posted by Haze @ 14:32 | Comments (6)

October 24th, 2009

MESS in MAME – CDi

If you’ve been following progress by ‘Just Desserts’ on the CDi driver for MESS over at their Forums you’ll have seen that a lot of good progress has been made over the past few weeks.

Several people (including other developers) have asked me how they can get this progress running in MAME instead of MESS, so I’ve quickly ported it over (it’s only a couple of lines that need changing)

I’ve uploaded a diff for MAME at this location

There are two diff files included, one patches against the current MESS cdi.c file (which you can grab from the MESS SVN if you so desire) This clearly shows which lines need changing to make it work with MAME.

The other is a patch against current MAME, containing the current MESS code for the driver.

There are still bugs, as expected (they exist in MESS too) but this allows people to see the progress at least, without having to figure out MESS.

I take no credit at all for the driver, nor do I want any reports on the instability of the emulation in it!

The CHDs expected were created by mounting the TOSEC images in Daemon Tools, extracting (in RAW mode) with burnatonce to an image file with a .toc. and then running through chdman -createcd image.toc

Have fun, and be sure to check out the MESS SVN and update / patch the driver yourself with the diffs included if you want more up-to-date code. Likewise, if you want to add extra games, you’ll have to add them yourself. I may decide to integrate more console systems from MESS into HazeMD at some point, but I’m not decided on that one yet.

For controls, the CDI defaults to a mouse controller, which isn’t very good for playing something like Hotel Mario. I recommend you remap the keys in MAME, setting the digital speed of the Analog X/Y to 5-10, and mapping the buttons to the standard Shift+Control. The game only processes the inputs as digital anyway, so you don’t lose anything by mapping them as such.

Hotel Mario plays well, aside from some flicking of the sprites near the bottom. Personally I don’t think the game is as bad as some reviews make out, and I find it much more playable than the Zelda titles on the platform! Tetris is also perfectly playable and seems fine except for an audio glitch in the first piece of music (the others seem fine, so I guess it could be a problem with the image being used?) It’s not a terrible version of Tetris, although the ‘Level X’ intermissions every couple of lines, and shifting of the playfield for each different background gets irritating to say the least. Sadly the majority of the things released for the system fall into the ill-conceived category of ‘if it has video it must be a good, no matter how bad the game is!!’ that was popular with developers around the time it was released (see SegaCD for another example of this)


CDI CDI

CDI CDI

Posted by Haze @ 12:34 | Comments (3)

October 2nd, 2009

HazeMD 0.13a Test by Request

HazeMD 0.13 test version

this is a dump of the MAME SVN 02/10/09 (0.134u1-ish 0.134u2-ish) modified to compile HazeMD produced at the request of a member of the MAME development team.

This is probably less stable than the previous release due to the general degradation of the code over time, internal changes in MAME which have affected timing, etc. etc.

Romset support is basically the same, although a few 32x drivers have been added for testing (32x is veeeery slow) and a few of the proper (done with eeprom programmer) dumps of a few games, again for testing. F-22 Interceptor is an interesting cart.

Sadly there seems to be little interest in real dumps as they’re incompatible with the more popular emulators (they don’t have any idea how to load multiple files, and correct dumps are byteswapped when compared the ’standard’ .bin format)

Virtua Racing (Megadrive, SVP chip) will also run now thanks to the progress made in MESS.

This was mainly done just so that I have a base of code that compiles with the latest version of MAME (the old code was getting horribly outdated and a pain to compile if I wanted to test) and because another developer requested a version that compiled with the current codebase.

I haven’t had time to strip the non-HazeMD stuff out, sorry. It’s just commented out in the mamedriv.c. This really is just a dump of the current code, before I give up trying to update it again.

When HazeMD was first released it did various things that Kega didn’t do (pirate games, a couple of cases wher Kega was buggy etc.) and also allowed you run to a lot of things on other platforms because Kega was Windows only.

Now Kega does pretty much everything (and more than HazeMD) and is available on multiple platforms, so this is rather redundant unless you’re debugging for MAME / MESS and want to have an easy to use testbed / regression run for any changes.

The SMS driver here isn’t as good as the one in MESS, the MESS one should be migrated over and the MAME drivers using SMS code should be updated to use that instead (Megatech/MP/SystemE)

Use at your own risk, you’re probably better with the old version if you just want to play games. However if you’re interested in just seeing how things run with the latest code, then have a play with this.

hazemd.exe is a normal build
hazemd_debug.exe is the debug build

(as per the latest mame builds, you can access the debugger in either anyway)

I’ll probably get around to doing a tidy up, romset list update and other things at some point when I have time to do more than a rushed update.

The set lists still need all the release date / manufacturer info adding. They also need cleaning up. I should probably write a tool to parse the database and neatly reformat it. If MESS does decide to one day adopt proper software set lists like MAME (and HazeMD here) that would seem like a more worthwhile task. If one day MAME and MESS are actually merged, that would be even better because it would make it far easier to check bugs across both projects without having to swap between projects all the time, leading to improvements to both MAME and MESS.

Anyway It’s not really worth reporting any news on this one, consider it unstable, unsupported with no guarantee that anything at all will work.

Link is up there, on the left hand side of your screen.

Posted by Haze @ 22:36 | Comments Off