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 July, 2006


July 31st, 2006

Cake, Hammer, Earth, Apple, Tap

It’s getting to the point where I’m satisfied with the Rendering in the Genesis rewrite. Compatibility on the non-raster interrupt games is good, and I feel the framework I have is flexible enough to implement the raster effects given enough tweaking ;-)

Here are a selection of screenshots from some of the more enjoyable games that currently run.




Nothing that doesn’t run fine in the current batch of Genesis emulators, but just a demonstration of the current status of the rewrite.

Posted by Haze @ 00:41 | Comments (12)

July 30th, 2006

Genesis – Realtek Banking Hardware

I’ve emulated the banking hardware for the ‘Realtek mapper’, used by some pretty awful unlicensed games. I’ve tested this with The Earth Defend, Whac-a-Critter, and Funny World/Balloon Boy.. It appears to work although Funny World / Balloon Boy has no sound (and actually crashes MAME) it appears (I could be wrong) to be trying to do something evil like run code through the Z80’s Window to the 68K, and MAME doesn’t let you run code on Read Handlers.

Mapper details were found here Thanks to Spinel for letting me know.


Funny World / Balloon Boy

Funny World / Balloon Boy

Funny World / Balloon Boy

Funny World / Balloon Boy

Funny World / Balloon Boy

Funny World / Balloon Boy

Funny World / Balloon Boy

Funny World / Balloon Boy

The Earth Defend

The Earth Defend

The Earth Defend

The Earth Defend

The Earth Defend

The Earth Defend

Whac-A-Critter

Whac-A-Critter

Whac-A-Critter

Whac-A-Critter

Whac-A-Critter

Whac-A-Critter

Posted by Haze @ 09:49 | Comments (14)

July 29th, 2006

Genesis – Hardware Sprite Collision

There aren’t many games on the Genesis which make use of the hardware sprite collision, in fact I only actually know of one, the rather awful (to say the least) Strider II / Strider Returns. I’ve implemented hardware collision detection in the updated driver, so you can now kill and be killed in this wasted opportunity to make a good sequel. If anybody knows of another game which uses the Hardware collision detection please tell me so I can test against it.

The implementation in MAME is immune to the effects of frameskipping as the entire video is processed and rendered every frame and the VIDEO_UPDATE function is simply used to copy a bitmap to the screen.


Strider Returns

Strider Returns

Strider Returns

I’m still trying to figure out how to get Dino Dini’s Soccer working properly. It works in Gens Plus, but not in Kega Fusion (bad tiles on the screen). I’m getting the same bad tiles in MAME, caused by a rouge DMA operation which is called every frame erasing the good ones. Again, if anybody knows exactly why it works in Gens Plus, but not in Kega then please let me know, it could help.

Other news, I got the unlicensed ‘Rockman X3′ to boot, although the sprites flicker quite badly (maybe because its a bad game, maybe because of emulation bugs) I also looked at ‘Lion King 3′ but was unable to figure out the values it wants to boot.


Rockman X3

Rockman X3

Rockman X3

Rockman X3

Rockman X3

Rockman X3

Posted by Haze @ 17:46 | Comments (10)

July 29th, 2006

From One Bug to Another

I’m going through a number of the unlicensed games which don’t boot, seeing if they’re checking anything obvious. A Bug’s Life again has what appears to be a very simple startup check.


A Bug's Life A Bug's Life

A Bug's Life A Bug's Life

A Bug's Life A Bug's Life


I’ve looked at some other games too with less success. Sonic Jam 6 doesn’t point to valid code, and Defend The Earth makes several suspicious writes, but no suspicious reads for me to look at.

Posted by Haze @ 15:04 | Comments (4)

July 29th, 2006

Genesis – Window Bug

I don’t think any games rely on this, but Charles Macdonald documented a bug which happens when using a ‘Window’ plane on the left side of the screen and a horizontally scrolled ‘A’ plane to the right of it.

A maximum of 15 pixels can be corrupted depending on the scroll value of the ‘A’ plane.

Charles wrote a simple program for testing this functionality in emulators. The effect isn’t currently emulating in either Kega Fusion or Gens, but I’ve emulated it in the MAME/MESS driver as it’s not really very difficult to implement.


Window Bug

Window Bug

Window Bug

The sequence of numbers is on plane A, and the lighter grey box is the Windowed area which can replace plane A for a specified region of the screen. The top half of the screen has the window enabled, the bottom half has it disabled.

Every line of the display contains the same data on plane A, the numbers “0123456789″ but as this is scrolls you can see “23″ from the region next to the Window become corrupted and replaced with “45″.

Trivia: Charles’ test program also uses an invalid plane size, such a setting causes the first 8 lines of tile data for planes A and B to be shown in all subsequent lines, in this cases those contain the numbers. To make this test program display correctly I also had to emulate that feature.

Posted by Haze @ 14:11 | Comments Off

« Previous Entries   Next Page »