Showing posts with label tech. Show all posts
Showing posts with label tech. Show all posts

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.

Thursday, November 05, 2009

A fix for the Win7 / ReadyNAS Duo problem

A while back I posted about an error I was hitting when copying files from Windows 7 to my new ReadyNAS Duo (see here).

Thanks to commenter Bill Kirchhoff I found a way to get things working:

Under the settings for Streaming Services/ReadyDLNA, uncheck the "Automatically Update" option:


The downside to this is you need to manually rescan your media files.

Saturday, October 17, 2009

Netgear ReadyNAS Duo + Win7 = Fail

I recently bought a ReadyNAS Duo for use at home, and am also running Windows 7.

Unfortunately, the two don't seem to be very happy with each other. Copying files from my Windows 7 machine, over the wireless LAN, to the ReadyNAS Duo throws up this error:


These errors happen randomly, often after a few files have been copied. Looking at a network capture, it looked like the ReadyNAS was sending an error in response to one of the SMB commands that Windows 7 sent...
SMB SMB:C; Transact2, Query FS Info, Query FS Size Info (NT)
SMB SMB:R; Transact2, Query FS Info, Query FS Size Info (NT)
SMB SMB:C; Transact2, Query File Info, Query File Standard Info, FID = 0x2B31
SMB SMB:R; Transact2, Query File Info, FID = 0x2B31 - NT Status: System - Error, Code = (8) STATUS_INVALID_HANDLE


I tried switching to Robocopy, but the same thing happens (at least Robocopy can be made to automatically retry...) One problem with using Robocopy is that the timestamps on the ReadyNAS seem to be FAT-based, so Robocopy will always think the files on the Windows 7 machine are newer than those on the ReadyNAS.


To get the timestamps to work as ecpected (and have Robocopy skip files that already exist on the ReadyNAS), you need to use the /FFT option. This is odd, since the ReadyNAS seems to be reporting it supports the NTFS filesysten, looking at the SMB responses it sends to Windows:
SMB SMB:C; Transact2, Query FS Info, Query FS Attribute Info (NT)
SMB SMB:R; Transact2, Query FS Info, Query FS Attribute Info (NT), FS = NTFS

I hope there is an update to support Windows 7 properly... Time to try Netgear's tech support (steeling myself...)

Thursday, October 08, 2009

Signs you are getting old

When I was a kid, we didn't have fancy things like cut-and-paste on computers. (I am young enough that I did have my own computer as a kid, so that means I'm less than 40, right?)

I remember when programs like WordStar and WordPerfect arived and let you copy and cut text from one place in a document and paste it somewhere else. It's amazing to think this was actually a new thing!

Then came Windows 3.x, with its fancy GUI. (OK, strictly speaking the Mac was there first, but I never played with a Mac much...) Now you could cut and paste between different programs! There was this thing called the clipboard, and a desktop for you to put all your files, so you could easily find them (Hahaha, that was a great idea -not!)

Things have stayed fairly much the same since then - computers are faster and Windows has gone through some changes in terms of look and feel, but the clipboard has pretty much remained as-is. If you were really bleeding-edge you could get a program to duplicate your clipboard across machines - useful when you are writing code or doing email on machine A and debugging on machine B.

Now, in the always-online age, it seems logical to use the Internet as your clipboard, and we now have various websites devoted to this (called Pastebins). Sites like Pastebin.com and Paste2.org are all the rage. Initially created to allow "collaborative debugging", it didn't take long for 1337 H4x0rs to start using them to share stolen passwords, credit card numbers, and exploits.

PS: Remember when collaborative debugging was done over email, newsgroups, or web forums?

Wednesday, June 24, 2009

"Nothing up my sleeve" numbers

I just came across the term "nothing up my sleeve number" today, and it made me smile. Sometimes geeks chose pretty cute names for things :) See the Wikipedia entry here.

The related entries on differential cryptanalysis and S-boxes is interesting too. I am not a crypto geek, so the intricacies of this stuff is beyond me, but the higher-level descriptions and the history are fascinating.

Tuesday, June 09, 2009

Meet the Contemplative Programmer

Chris, who until very recently worked in my team at Microsoft, started a great blog. The official description is "musing about programming, management and old computers". He has lots of interesting anecdotes, such as the current post concerning Guest accounts, and an earlier post on core memory.

You can read the blog here: http://contemplativeprogrammer.com/

Wednesday, March 18, 2009

What's on TV? Radio, actually...

{A} and I are big fans of NPR (especially shows like "Wait, Wait, Don't Tell Me" and "This American Life"). Usually we listen in the car, since we get pretty bad reception at our house (yes, I am too lame/lazy to put up a decent FM antenna to solve that...)

I was quite pleased a few weeks ago to find a nifty Public Radio application for my iPhone which let us stream the radio over the Internet. We have a line-in on our stereo, so it's easy to plug the iPhone in and have the radio shows audible through a few rooms in the house now. But it turns out there is an even cooler way (I think) to listen to the radio... Use your TV!

To be more precise, cable TV. Our cable feed includes a lot of radio stations, and the audio quality is better than most Internet streams. {A} discovered the KUOW channel, and we've since used it to listen to a few shows. But what makes it really cool is that if you have a DVR, you can now record specific shows that you might otherwise miss... Not all shows have podcasts available, so this seems like a good way to "time-shift" radio shows.

Saturday, January 24, 2009

Auto-summarizing Steve Ballmer's mail

Microsoft Word has an auto-summary feature that supposedly allows you to extract the most important information from a document and highlight it or generate an "executive summary".

For fun (and based on {R} mentioning this last night), I thought I'd see how Word does on Steve Ballmer's recent email announcing layoffs at Microsoft. Here's a link to his complete email.
With the default settings to extract the most important 25%, this is the summary you end up with:


In response to the realities of a deteriorating economy, we’re taking important steps to realign Microsoft’s business. Today we announced second quarter revenue of $16.6 billion. Our products provide great value to our customers. Our financial position is solid. We have made long-term investments that continue to pay off.


Our response to this environment must combine a commitment to long-term investments in innovation with prompt action to reduce our costs.


As a result, we reduced operating expenses during the quarter by $600 million. We
must make adjustments to ensure that our investments are tightly aligned with
current and future revenue opportunities. Our leaders all have specific goals to
manage costs prudently and thoughtfully.


To increase efficiency, we’re taking a series of aggressive steps. We’ll cut travel expenditures 20 percent and make significant reductions in spending on vendors and contingent staff. We’ve scaled back Puget Sound campus expansion and reduced marketing budgets.


Our priority remains doing right by our customers and our employees. The decision to eliminate jobs is a very difficult one. Thank you for your continued commitment and hard work.



WTF? No mention of any layoffs until an oblique reference at the very end. I guess the sentence from Steve's original email was too buried for Word to find it... The term "shit sandwich" comes to mind when reading Steve's email - positive-sounding wrapping around the tough message in the middle. For some reason, doing this when you're communicating with executives is frowned on - they want the juicy details bubbled up in the first paragraph. Might be nice if they did that when they communicated "down" to the company too...

Thursday, January 15, 2009

Watching BSG webisodes on your XBOX 360

I've been playing around with ways to watch online movies on my PC and XBOX, mainly due to the new Battlestar Galactica webisodes which have been released on SciFi.com. I thought it would be cool to watch them before the new episode airs this coming Friday, and since we will have a few people over at our house, I wanted to get them up on our TV screen instead of watching them on a PC.

There are several tools available to grab movies (which in this case are Flash .FLV files) from a website and save them locally. The one I used is Orbit Downloader, which works OK but seems to make Internet Explorer 8 very unstable. (I uninstalled Orbit as soon as I had the files I wanted). Another option (not tried by me) is Keepvid which seems to not require any software installation.

Anyway, once you have the .FLV files locally, you might want to watch them. My system didn't have a codec to play these files, so I installed the current version of the K-Lite codec pack. Depending on which tools you use to convert the files (see the next step), you could skip this.

Finally, you need to convert the .FLV files to a format that the XBOX can play. I chose to use a tool I already had installed, Handbrake. (Handbrake is also great if you want to transfer videos to your iPhone/iPod Touch)

In Handbrake, simply select the files, and choose the XBOX profile. I chose to increase the video size to 1024 wide so it would look better on a large screen. (The XBOX can also stretch video to fit the screen, but it looks more blocky). The resulting MP4 files that Handbrake creates can be put on a USB storage device and played on the XBOX easily.

Tuesday, January 06, 2009

Spot the defect!

From this zuneboards post, the Zune New Year's bug. Can you spot what is wrong? :P


year = ORIGINYEAR; /* = 1980 */

while (days > 365)
{
if (IsLeapYear(year))
{
if (days > 366)
{
days -= 366;
year += 1;
}
}
else
{
days -= 365;
year += 1;
}
}

Friday, December 26, 2008

Apple CEO "Choose Your Own Adventure"

I was just reminiscing about the old "choose your own adventure" books I read as a kid, and now I see there is an online version in which you get to see what happens after you pick a new CEO for Apple.

Thursday, December 18, 2008

A cheaper XBOX 360 wireless adapter

Instead of paying close to $100 for the XBOX 360 USB wireless adapter, I came across some how-to's that describe modifying a cheap wireless router so that it can be used to get devices onto your existing wireless LAN.

This article matches the current DD-WRT firmware the closest, and I got things working eventually using a Netgear WGR614v8 and DD-WRT v24-sp2. The firmware UI makes it even easier to set up than the article describes. You just need to:
  • Use an ethernet cable to connect to the client router. Connect the admin page (usually http://192.168.1.1) and change the admin username/password as prompted.
  • Go to the Wireless tab and select "Client Bridge", and enter the SSID for your existing wireless LAN. Set up the WLAN type and encryption if needed.
  • Make sure your WEP/WPA key is entered correctly - the "unhide" option is useful. (I had a typo which initially made things fail)
  • Back on the Basic Setup tab, you should see that the WAN interface is disabled, and the DHCP server is disabled too.
  • Give the client router a static IP on the same subnet as your main router. (E.g. my main router is 192.168.1.1 and my client router is 192.168.1.2). If needed make sure your primary router is assigning DHCP addresses in a higher range, e.g. starting at 192.168.1.100
  • Apply the settings, and refresh the machine that's plugged in to your client router. (Un-plugging and re-plugging the ethernet cable is the easiest)
  • You should now get an IP address from your primary router, and be able to ping the primary router's IP, 192.168.1.1 in my case. You should be able to connect to the Internet.

Friday, October 03, 2008

From Scrabble to Electronic Voting Machines

From Slashdot today :
"A New Jersey Superior Court Judge has prohibited the release of an analysis conducted on the Sequoia AVC Advantage voting system. This report arose out of a lawsuit challenging on constitutional grounds the use of these systems. The study was conducted by Andrew Appel on behalf of the plaintiffs, after the judge in the case ordered the company to permit it. That same judge has now withheld it indefinitely from the public record on a verbal order."

The name Andrew Appel looked familiar to me, and sure enough looking at his past publications I see that he is one of the authors of the paper on computer Scrabble that guided my own Scrabble game's development many years ago. (See my previous posts here). This more recent paper looks like it would be interesting to read..

I wonder how one moves from computer Scrabble to looking into the security of voting machines? Probably the Scrabble paper was the result of supervising a student's research...

Thursday, October 02, 2008

AntiVirus XP vendor sued


Fake AV warning
Yay! From ZDNet's ZeroDay blog today:

"The software purveyor behind AntiVirus XP, a fake anti-virus package, has been sued and will hopefully be put out of business."




This is great news - even better would be if they are forced to remove their badware from all the machines they've infected. It was sad to see the public Internet machine in our hotel in Manuel Antonio, Costa Rica, infected with this crap. (See the screenshot I took.) I was tempted to try removing it, but doing tech support on vacation is not my idea of fun.

Update: 10/02/2008

I didn't realize that Microsoft and the Washington State Attorney-General are the ones suing over this. Kudos to both! Brian Krebs (Washington Post) and Bruce Schneier also wrote about this. (The comments are pretty sad - I had no idea how prevalent this stuff is...)

Wednesday, September 24, 2008

The evolution of computer demos

One of the guys I work with spent some time in his youth coding Amiga demos in Poland. A friend of his recently found one of his group's old demos on Youtube here. Remember this is with a 14Mhz proc, no 3D acceleration and very little memory and storage.

Nowadays people have machines that are almost 1,000 times faster, not counting their graphics card's GPU. Memory is abundant and portable media can hold loads of information. As an example of how far things have come in the past 15 years, take a look at last year's winner at The Assembly. (Remember, all this is rendered in real-time).

Tuesday, September 02, 2008

Chrome First Impressions

To follow on from my previous post, I've downloaded and installed Google's Chrome on my Vista 64-bit machine. First impressions:

  • The installer is quick and slick. I never saw a UAC prompt (and I'm not an admin user) - so where the hell did it install the darn thing? (Turns out it is under the user's profile in AppData\Local\Google\Chrome\)
  • It's FAST! Rendering typical "busy" pages (Slashdot, MSN), it blows IE8 Beta 2 out of the water on my machine...
  • The UI is very slick. Chrome features many things that IE8 has (like seperate processes per tab) but they have made some really nice improvements to the UI. For example, the "omnibox" (address bar) is very intuitive.  Dragging tabs works just like you'd think it should (they can be re-ordered,  undocked and re-docked).
  • The smart search feature is cool - I went to Amazon.com once and searched for something, now typing 'a' + [Tab] switched the "omnibox" to a "Search amazon.com for:" box. No more installing a million search providers...
  • Memory use is better than IE8 Beta 2. With MSN and Slashdot open in both browsers, Chrome used a total of 40MB, while IE8 used over 100MB.
So far I like it... The only area that IE8 may have the upper hand is in terms of security. (Chrome doesn't seem to have an Anti-XSS filter). Now to look into their sandboxing technique in more detail :-P

Google Chrome

So, today Google announced their own web browser, Chrome. This small comic book is cute and gives a quick look at the features - most of it sounds like stuff IE8 already does, so their "we're smarter than you" tone is a bit funny.

I think the timing of their anouncement is interesting too, following hot on the heels of the IE8 Beta 2 release last week. I think Microsoft stole a large amount of their thunder...

CNN have an article looking into why Google felt the need for their own browser (instead of working with the existing open-source browsers like Firefox). One reason they give is that IE8's privacy features prevent Google from collecting user-information they need to target advertisements. (I think the latest Firefox has a similar feature).

No doubt Chrome will be less aggressive when it comes to enabling user privacy?

Wednesday, April 16, 2008

He's a remorseless killing machine...

I loved this bit at the end of a recent blog post on the Matasano blog:

Has Mark Dowd simply outclassed us? Should we pack it up and quit?
Yes. But don’t feel bad about that. You’re a human being, and he’s a remorseless killing machine. Big Blue crushed Kasparov, and now he’s not the prime minister of Russia! At a certain point, you have to concede the field, moving on to games where human beings still have the advantage. Computers haven’t solved Go, for instance. For us researchers, I suggest we take advantage of Mark Dowd’s robotic inability to love, and take up the arts, such as watercolors or interpretive dance.


This comment comes at the end of the 2nd post commenting on Mark's recent software security paper on Flash. The paper itself is quite brilliant - going from a write-AV on a NULL dereference, to running unverified ActionScript and pwning Flash.
For a more high-level summary see these posts: #1, #2 on the Matasano blog.


Incidentally, enabling ASLR on Vista would be a way to mitigate against this attack, but sadly Adobe haven't yet released a version of Flash with the required option set in their binary. If you're geeky and want to turn this on yourself, you can use a recent link.exe from Visual Studio or the WDK like so:


link.exe /edit /dynamicbase filename

Flash files live under %windir%\system32\Macromed\Flash or %windir%\SysWow64\Macromed\Flash on 64-bit Vista.
And of course it might be a good idea to install the latest version of Flash from www.Adobe.com

Saturday, March 29, 2008

Using RED for fair bandwidth usage

George Ou recently wrote an article titled "Fixing the unfairness of TCP congestion control" which starts off (my emphasis added):
Bob Briscoe (Chief researcher at the BT Network Research Centre) is on a mission to tackle one of the biggest problems facing the Internet. He wants the world to know that TCP (Transmission Control Protocol) congestion control is fundamentally broken and he has a proposal for the IETF to fix the root cause of the problem.

All this is quite topical given Comcast's attempts to throttle peer-to-peer file-sharing traffic on their network, the FCC's involvement, and Comcast's recent promise to "stop meddling".

Nate Lawson wrote two great blog posts to address George Ou's article - effectively saying that the TCP/IP stack does not need to be swapped out and we don't need a complex new protocol to deal with the congestion problem. A simple option is to use RED (Rapid Early Discard) and Nate goes on to explain why this would work. Nate's 2nd post addresses Check the out here:

Thursday, March 06, 2008

3D graphics in Excel

Cutting-edge computer games use different graphics subsystems -- so-called 3D graphics engines. Source (used in Half Life 2), Unreal Engine (Unreal Tournament), idTech 4 (Doom 3), CryENGINE2 (Crysis) or Clever's Paradox engine are well-known among the players and the game industry experts.
It's time to learn a new 3D game engine name: Microsoft Excel.

See the full article here, and be sure to check out the movies too.

My hat is off to you, sir!