Tuesday, July 12, 2011

Sims Medieval Fails To Start, or Why I Love Electronic Arts

I got my wife a copy of "Sims Medieval" for her birthday a few weeks ago (DVD from Amazon), and she was really pleased and looking forward to playing it. Sadly, we've run into nothing but problems, and EA's support (both email and phone) has been useless.

So, allow me to vent a little here and perhaps share a fix or workaround that search engines will be able to find, assuming someone comes up with a tip :)

Some info on my wife's machine: It's running Windows 7 64-bit, and is a beefy laptop with a decent video card. Sims 3 ran fine on it.

Issues #1: DVD fails to be read
Right out the gate, we hit a snag since the DVD wouldn't be recognized by the drive in my wife's "gamer" laptop. After hunting around for a while I found other people had run into this, and the suggestion was to download the game from EA's Origin site (basically a Steam knock-off). The product key in the DVD case works to get the digital download for free. So, I downloaded it (takes ages) and installed it without errors. Yay! Not quite...

Issue #2: The game fails to launch/start
The game creates a desktop icon which runs a little launcher application. Clicking on the "Play" icon in the launcher is supposed to start the game, but nothing (visible) happened. Research online showed this was not something other people had run into, and several tips were provided on forums:
  • Try downloading the game again and re-installing - Made no difference
  • Disable your anti-virus (!) - I checked any the AV product had not blocked any of the apps related to the game, and disabling real-time scanning made no difference
  • Disable UAC (!!) - made no difference

Note: I really don't recommend doing the last two things - you're opening yourself up to compromise by malware

Looking into the Windows Event Viewer, I noticed there were entries for each time I had tried to launch the game, indicating that the executable had crashed. The information indicates that the app (TSM.exe) is hitting in invalid instruction exception which is not handled... Looks like a bug to me...


Fault bucket 2466582291, type 1
Event Name: APPCRASH
Response: Not available
Cab Id: 0

Problem signature:
P1: TSM.exe
P2: 0.0.0.8065
P3: 00000000
P4: TSM.exe
P5: 0.0.0.8065
P6: 00000000
P7: c000001d
P8: 00c6fdfd
P9:
P10:

Since I'm a geek (or perhaps just a masochist), I decided to take a closer look at the crash dump. For some reason the code is executing an invalid instruction deliberately - after setting up an exception handler. I am guessing this is part of the DRM solution (SecuROM, which is from Sony, ahem! :). I would guess this is aimed at making debugging and reverse-engineering harder, but if it makes the games unplayable then you wonder how they can stay in business?

Here's a disassembly dump of the code in question:


0:000> u 0106fe0b
TSM+0xc6fe0b:
0106fe0b 683efc0601 push offset TSM+0xc6fc3e (0106fc3e)
0106fe10 64ff3500000000 push dword ptr fs:[0]
0106fe17 64892500000000 mov dword ptr fs:[0],esp
0106fe1e 0f0b ud2 <-- The app crashes here
0106fe20 03648f05 add esp,dword ptr [edi+ecx*4+5]
0106fe24 0000 add byte ptr [eax],al
0106fe26 0000 add byte ptr [eax],al
0106fe28 83c404 add esp,4
0:000> lmvm tsm
start end module name
00400000 01e71000 TSM T (no symbols)
Loaded symbol image file: TSM.exe
Image path: C:\Program Files (x86)\Electronic Arts\The Sims Medieval(TM)\Game\Bin\TSM.exe
Image name: TSM.exe
Timestamp: Wed Apr 27 12:58:42 2011 (4DB87572)
CheckSum: 012BE735
ImageSize: 01A71000
File version: 0.0.0.8065
Product version: 0.0.0.8065
File flags: 0 (Mask 17)
File OS: 4 Unknown Win32
File type: 1.0 App
File date: 00000000.00000000
Translations: 0000.04b0 0000.04e4 0409.04b0 0409.04e4

The UD2 instruction is an special instruction used to generate un unsupported instruction exception (see here and here). It's been supported for ages, so it's not an issue with the processor in my wife's laptop (Intel Core 2 Duo) being too old.

EA Customer Support:

In one of EA's forums, it was mentioned that you could email them with bug reports. Perhaps this was during the Beta only? I emailed them but have yet to hear back...

In a fit of insanity I thought I might get something useful out of calling EA Customer Support. After some scripted steps (collecting DXDiag information) the call turned tragi-comical as the rep told me that my wife's video card and then processor were not supported. (The CPU is .2 GHz slower than the recommended Windows 7 specs, and her video card is not on the "blessed" list).

I mentioned I got the DVD from Amazon, and he told me off, saying buying games from Amazon was a bad idea and you "never know what you are going to get". (WTF? I didn't but it from some reseller on Amazon, it's the same product sold in all other stores!) He then suggested I download the game from Origin (despite me saying I had done this already), and then said I could install the game "on the Internet" so it wouldn't matter what video card or CPU my wife had.

3 comments:

David McCullars said...

Did you upgrade to the latest version by any chance? My copy was working fine until I upgraded, and now TSM.exe launches but never does anything. I can see it still running in the background (and using up an entire cpu core), but nothing ever appears on the screen. I tried reinstalling to downgrade to the working version, but my saved game had apparently already been converted to the new version. Attempted to upgrade a second time, but now it's back to never doing anything.

Hope you get it working. Please share if you do.

Unknown said...

I am having the same issues, I start it on steam only to have it now showing. I go into my processes and it shows it IS running, but just now showing me. If you fixed your thing, can you remember how you did it can please tell me?

Mark said...

Hi Dave and Varren,

I never did get this working and ended up returning the game for a refund. Sorry I can't be more help!