Trickiest games to emulate?

Ask anything your want about Megadrive/Genesis programming.

Moderator: BigEvilCorporation

Mask of Destiny
Very interested
Posts: 628
Joined: Thu Nov 30, 2006 6:30 am

Trickiest games to emulate?

Post by Mask of Destiny »

I was wondering if anyone had thoughts on what Genesis games are trickiest to emulate properly. Looking through past threads, I gather that the moose level in Mickey Mania is one trouble spot as it depends on some sprites not getting drawn as a result of during off the display during HBLANK. What are some other tricky games?
Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Re: Trickiest games to emulate?

Post by Stef »

Mask of Destiny wrote:I was wondering if anyone had thoughts on what Genesis games are trickiest to emulate properly. Looking through past threads, I gather that the moose level in Mickey Mania is one trouble spot as it depends on some sprites not getting drawn as a result of during off the display during HBLANK. What are some other tricky games?
Curiously Mickey Mania works perfectly on Gens even if that trick is not emulated. I guess it work because sprites which are not visible are masked with sprite masking feature (and not only the sprite limitation due to the h blank cut off).

Castlevania gave me some headaches too, the cached SAT attributes in VDP was really tricky as the complex sprites priorities...
Charles MacDonald
Very interested
Posts: 292
Joined: Sat Apr 21, 2007 1:14 am

Re: Trickiest games to emulate?

Post by Charles MacDonald »

Mask of Destiny wrote:I was wondering if anyone had thoughts on what Genesis games are trickiest to emulate properly. Looking through past threads, I gather that the moose level in Mickey Mania is one trouble spot as it depends on some sprites not getting drawn as a result of during off the display during HBLANK. What are some other tricky games?
The opening text scroller in Monster World IV is troublesome.

I think Super Skidmarks (PAL) and The Chaos Engine had some weird timing issues with their split screens.
Eke
Very interested
Posts: 885
Joined: Wed Feb 28, 2007 2:57 pm
Contact:

Post by Eke »

"The Chaos Engine" and "Double Clutch" (title screen) requires emulation of VDP Fifo writes delay. "Sonic 2" and "Combat Cars" require interlaced mode 2 emulation ( the latter needs accurate vcounter handling in this mode).

There are many games sensitive to HBLANK and HINT/VINT timing/handling where one will break when you try to fix another one (i remember this was the trickiest part when trying to get 100% compatibility, although now that we have exact timings documented, it should be easier), you might want to do a quick search within the few Kega or Regen threads in this forum, there was a few list of sensitive games that were posted some time ago.

I also remember posting some infos about tricky games to emulate without errors in a recent thread about the firecore.
Last edited by Eke on Sat Jan 19, 2013 6:07 pm, edited 1 time in total.
Huge
Very interested
Posts: 197
Joined: Sat Dec 13, 2008 11:50 pm

Post by Huge »

Comix Zone, because you have to figure out what is an emulation bug and what is an actual game bug (the game is ingenious but also very buggy).
vext01
Interested
Posts: 24
Joined: Sat Sep 15, 2012 12:20 am

Post by vext01 »

Dgen has loads of issues emulating street racer. Many of the sprites are garbled and the colours are often wrong. I need to look into this when I get anything close to free time.
Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef »

I wanted to mention this one, it requires good timing emulation to get logo correct.
Mask of Destiny
Very interested
Posts: 628
Joined: Thu Nov 30, 2006 6:30 am

Post by Mask of Destiny »

Thanks guys!
Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef »

Panorama Cotton is a bit tricky too, need good h int timing as correct interrupt pending emulation.
Huge
Very interested
Posts: 197
Joined: Sat Dec 13, 2008 11:50 pm

Post by Huge »

Ooh, I forgot about Panorama Cotton. That one has to be the commercial game to push the Megadrive the farthest it can go.

Adventures of Batman & Robin also had many interesting effects like that, and so did Vectorman. And Ranger X too.
Eke
Very interested
Posts: 885
Joined: Wed Feb 28, 2007 2:57 pm
Contact:

Post by Eke »

Well, tricky software effects do not necessarily mean they are tricky to emulate, from an hardware point of view.

In regard to htimings, I think "star wars"-like introduction in Monster World 4 did not work properly in some emulators because of this.
Nemesis
Very interested
Posts: 791
Joined: Wed Nov 07, 2007 1:09 am
Location: Sydney, Australia

Post by Nemesis »

In my experience anything from EA, in particular with their three colour intro (IE, like Legend of Galahad), will test some undocumented/undefined aspects of your VDP core that few other games rely on. This is because EA didn't use the official, licensed SDK provided by Sega, but reverse-engineered their own development tools and support libraries, so they often do things "outside the norm".

Lemmings is a traditional hard one to get working, since it relies on a pending horizontal interrupt which is masked on the M68000 side being suppressed by a vertical interrupt, which the M68000 does take, with the suppressed horizontal interrupt then raised by the VDP again when the vertical interrupt is acknowledged. In this way, a horizontal interrupt from the previous frame is actually triggered on the next frame, relative to vint that is. If you get something wrong here, the HUD is broken in-game.

The score counter in Columns is broken if your M68000 has a bug in its shift instructions. On the M68000, the shift count for LSL and LSR is modulo 64, meaning a shift count of 32 for example will give you a result of 0 on the M68000. On x86 architecture, the shift count is modulo 32, meaning a shift count of 32 will yield the original number. If this means if you're compiling for x86 rather than x64, and you don't handle shift counts greater than 31 as a special case, the score counter in columns will end up messing up as the score increases.

I'm still having trouble with games that do various mid-frame changes, like Road Rash II and Mickey Mania. Road Rash II (and a few other similar games, I mostly only test with this one) is heavily dependent on the HV counter, and also does mid-frame changes, so you need to ensure you have accurate HV counter emulation as well as handling mid-frame changes correctly. The moose chase level in Mickey Mania goes a step further and not only requires accurate handling of mid-frame changes, but also requires accurate emulation of the sprite rendering process when the display is disabled mid-line. The intro screen for Legend of Galahad also disables the display mid-frame, and requires accurate timing to ensure that it is disabled at the correct point, and not re-enabled before the end of the frame.
Huge
Very interested
Posts: 197
Joined: Sat Dec 13, 2008 11:50 pm

Post by Huge »

That reminds me - is it possible to finish Road Rash 2? The last few levels glitch and lock up on all emulators, and it's been ages since I could test it on the cart.
Nemesis
Very interested
Posts: 791
Joined: Wed Nov 07, 2007 1:09 am
Location: Sydney, Australia

Post by Nemesis »

Really? I've never heard of that. I'm interested in doing tests on that to figure out what could cause it. Where does it lock up, partway through the level? Do you know if the lockup was occurring on a US or European system? Was there a particular ROM you were using? I can't run the game right now but when I'm back at my computer I'll give it a go. I own the cartridge of this game so I can easily test it on the hardware.
Nemesis
Very interested
Posts: 791
Joined: Wed Nov 07, 2007 1:09 am
Location: Sydney, Australia

Post by Nemesis »

On that same note, does anyone know of any other games that don't work correctly in most or all current emulators for the mega drive, 32x our mega CD?
Post Reply