Page 1 of 2

Le Mans 24 broken?

PostPosted: Fri Apr 07, 2017 5:20 pm
by Bart
I can't seem to get Le Mans 24 to boot. I was able to do so with a backup RAM file, inexplicably enough, but when I delete that, it no longer boots. Anyone else experienced this?

Re: Le Mans 24 broken?

PostPosted: Fri Apr 07, 2017 5:26 pm
by HarryTuttle
Me too!

Re: Le Mans 24 broken?

PostPosted: Fri Apr 07, 2017 6:25 pm
by Bart
Arghh. I'll look into it this weekend but maybe not until Sunday. I can't even remember how the patches were crafted in the first place but I'm sure it took a ton of time. I can't rule out that this is a bug in the ROM loading system, either, although it is unlikely.

Emergency Call Ambulance no longer seems to require any patches to boot but the downside is that it spends a lot of time on the network error screen before proceeding.

My next commit will move the patches into Games.xml. I already have it working great in my local build :)

Re: Le Mans 24 broken?

PostPosted: Fri Apr 07, 2017 6:47 pm
by HarryTuttle
Bart, since you're at that I'll just post an except from some patches I copied from MAME that solve that problem in ECA and make SWTrilogy test menu work:
Code: Select all
else if (game.name == "swtrilgy")
{
  // skip force feedback setup ?
  *(UINT32 *) &crom[0x029A0] = 0x60000000;
  *(UINT32 *) &crom[0x02A0C] = 0x60000000;

  // Unemulated JTAG stuff, see srally2
  *(UINT32 *) &crom[0xf776c] = 0x60000000;  // from MAME
  *(UINT32 *) &crom[0xf7770] = 0x60000000;  // from MAME
  *(UINT32 *) &crom[0xf7774] = 0x60000000;  // from MAME
}
else if (game.name == "eca" || game.name == "ecau")
{
  // cabinet network error
  *(UINT32 *) &crom[0x4a45e4] = 0x60000000;  // from MAME
}

Re: Le Mans 24 broken?

PostPosted: Fri Apr 07, 2017 7:43 pm
by Bart
Great! I'll incorporate these :)

Re: Le Mans 24 broken?

PostPosted: Fri Apr 07, 2017 7:49 pm
by Jiterdomer
Same case goes to Harley's hidden Region Settings at the Test Menu by selecting game assignments and press shift up, shift up, shift down, shift down, view, music, view, music. Harry, you should incorporate that code to make the region settings to work in Harley without having to modify NVRAMs by ourselves to change it. MAME version still works but not Supermodel.

Re: Le Mans 24 broken?

PostPosted: Sat Apr 08, 2017 3:20 am
by HarryTuttle
Jiterdomer wrote:Same case goes to Harley's hidden Region Settings at the Test Menu by selecting game assignments and press shift up, shift up, shift down, shift down, view, music, view, music. Harry, you should incorporate that code to make the region settings to work in Harley without having to modify NVRAMs by ourselves to change it. MAME version still works but not Supermodel.


That sequence works on Supermodel too, I've personally done that without a modified NVRAM. You should look to commit r583 where Bart incorporated a change of mine, copied from MAME, *maybe* that could be the solution.

I could be that setting two bits with gear shift, instead of one, caused the game to not register correctly the steps needed to enable the hidden option. However during normal gaming it didn't cause visible problems. When I have time, I should revert r583 change, recompile, and try the above trick again.

I've to add that I removed also Harley's patches in <Model3.cpp>, I couldn't see any negative effect by doing that. If anyone could tell me what their purpose was, I'll push them again in my personal build.

So, if the solutions above are valid, and they were my first attempts to patch Supermodel three years ago, this could be the reason why for me always worked.

Re: Le Mans 24 broken?

PostPosted: Sat Apr 08, 2017 12:05 pm
by Jiterdomer
The hidden region test worked! And now I'm playing the vocal version of the game's opening theme when I'm playing the Japanese version.

Re: Le Mans 24 broken?

PostPosted: Sat Apr 08, 2017 2:02 pm
by HarryTuttle
Bart wrote:I can't seem to get Le Mans 24 to boot. I was able to do so with a backup RAM file, inexplicably enough, but when I delete that, it no longer boots. Anyone else experienced this?


Bart, this is my theory of what's happened. When booting for the first time the game is not in satellite mode, so it waits indefinitely for communicating with another cabinet. You can't even access the test menu where you could change the "Communication Mode", under "Game Assignments".

So this first patch line I think actually fakes reading the satellite mode value from NVRAM, and then boots:
Code: Select all
<patch region="crom" bits="32" offset="0x0D8C4C" value="0x00000002" />  <!-- comm. mode: 00=master, 01=slave, 02=satellite -->

Beware however that if you change again the "Communication Mode" in test menu you've to reset or delete the NVRAM since, at this point, I think the game reads the new real value written to NVRAM.

The rest of the patch seems to only speedup the remaining boot sequence.

Now the question is: while in my personal build I removed this patch since it wasn't obvious to me what was made for (not before leaving the game's NVRAM in a playable state), did you the same in yours?

Re: Le Mans 24 broken?

PostPosted: Sat Apr 08, 2017 4:10 pm
by Bart
You are correct about the purpose of the patch. The game starts in a non-satellite mode by default. The question is why does this patch no longer seem to work?