MiSTer-devel / MegaDrive_MiSTer

Sega Megadrive for MiSTer
44 stars 14 forks source link

Micro Machines (U) Controls on Menu DO NOT WORK Correctly #23

Open davedoc1984 opened 9 months ago

davedoc1984 commented 9 months ago

When trying to play Micro Machines, you will notice it automatically skips the intro screen and then will NOT allow you to select from the options (e.g. 1 or 2 Player or Head to Head and Challenge Mode).

Then when it gets to the Character Select screen, it constantly scrolls through the characters and you can't select one.

I have tried toggling various input options (6 Button Mode Off and the various Multi-Tap options) and this doesn't change the behaviour.

MP2E commented 9 months ago

Try the latest nightly

https://github.com/MiSTer-unstable-nightlies/MegaDrive_MiSTer/releases/download/unstable-builds/MegaDrive_unstable_20230925_07c7f4.rbf

seems to work for me on latest nightly

MP2E commented 9 months ago

Ah actually it turns out I was testing the wrong version of Micro Machines. The Europe version works fine but the US specific version has this issue even on the latest unstable build

sorgelig commented 9 months ago

It was hard to find that dump. And it seems dump is bad. It has no header, or header is corrupted. It's possible rest of dump is also not correct. As far as i see European release works fine in USA region.

birdybro commented 9 months ago

There are two revisions of Micro Machines (USA). Dave, did you test both of them?

https://datomatic.no-intro.org/index.php?page=show_record&s=32&n=2389

https://datomatic.no-intro.org/index.php?page=show_record&s=32&n=1758

sorgelig commented 9 months ago

i'm talking about this dump: https://datomatic.no-intro.org/index.php?page=show_record&s=32&n=2389

it has not well formed header, although it marked as trusted dump. But it's also marked as not verified.

davedoc1984 commented 9 months ago

What is interesting is this came from a GoodGen Dump... so its a bad ROM but is in GoodGen ?

bootsector commented 9 months ago

GoodGen has lots of bad/unverified roms, yeah! How does that rom behaves on real hardware btw, Dave?

MP2E commented 9 months ago

Seems to work ok on my Genesis model 3 VA2, I tested the same rom that was giving the MD core issues

MP2E commented 9 months ago

I also tried the MD core with SNAC and my 6 button controller and that also seems to have the issue, weirdly enough

bootsector commented 9 months ago

Does it work fine with the old Genesis core?

davedoc1984 commented 9 months ago

Previous Genesis Core behaves the same. It skips past the Intro Screen, won't let me move left or right to select 1 or 2 players or select the Game Mode OR select the Character I want to use.

I have since found the European ROM which works perfectly fine even in NTSC-U Mode as sorgelig mentioned before.

birdybro commented 8 months ago

Codemasters games often had screwed up headers, that part is normal for them. They were technically unlicensed releases, they bypassed TMSS.

ekeeke has an exception for this in genesis-plus-gx

https://github.com/ekeeke/Genesis-Plus-GX/blob/a2931d161f017a0614426bb01ce33a4d2f250260/core/cart_hw/md_cart.c#L698 https://github.com/ekeeke/Genesis-Plus-GX/blob/master/core/cart_hw/md_cart.c#L2032-L2053

It's because this game was made right around the time that Sega was undergoing a lawsuit for their TMSS actually being a bit of a true lockout so the cart has some custom TMSS bypass logic apparently. If you test with TMSS enabled, the game goes to a black screen on load.

That being said, the rev1 rom...

https://datomatic.no-intro.org/index.php?page=show_record&s=32&n=1758

This version is jacked up in the Megadrive core as well, just holds the input Left (same behavior as Genesis core). And because the headers are always jacked up for Codemasters games, it defaults to Europe. All Codemasters games are notoriously annoying on multiple systems.

sorgelig commented 8 months ago

If u understood right, the workaround code above is used only when TMSS is present. It's not required if TMSS is disabled. Also it doesn't explain why dpad left is held down in this game.

It's possible to add the same logic to trick TMSS in core, but since ROM misbehaves anyway, it has no point to implement. PAL release it seems fully compatible with USA region. Most sites even offer PAL ROM as USA ROM. Do we need to care about USA release since it's obviously has nothing to do with normal work but about war between Codemasters and SEGA.

birdybro commented 8 months ago

Sorry, wasn't suggesting to say what anyone should care about, I'm not convinced it's any kind of priority :D . Was just providing the info. I didn't understand ekeeke's code that well since I'm not very good at reading c still.