30 November 2008

/resurrect Xbox-360

I sat down on Saturday to enjoy some Lego Star Wars with my son, but discovered a different feeling welling up inside me instead: dread. My Xbox-360 had fallen victim to every Xbox owner's nightmare--The Red Rings of Death.

He opted to play Super Mario Galaxy on the much more reliable Wii instead, while I googled everything I could about the RROD.

It's interesting to note that Microsoft extended the warranty on the 360 to 3 years. However, I purchased my xbox used from a friend and don't have the receipt from the original purchase. Additionally, the date of manufacture shows as 11/03/2005, so warranty repair seemed like a non-option to me. Plus, I've had friends send their xbox in for warranty repair and it's taken them over a month to get them back. I'm impatient when it comes to gaming! But if you are reading this and have a xbox that is still under warranty, please consider the options carefully before breaking that silver warranty sticker! There is no going back!

I found a guide that provided an at-home remedy for repairing the RROD. A good theory about what causes the RROD is a design flaw leading to flexing the motherboard. This warping leads to microscopic breaks in the tiny surface-mount solder connections exacerbated by numerous heat cycles. The guide directs you to fix the problem by removing the x-shaped brackets holding the heat-sinks to the CPU and GPU and replacing the mounts with screws from any old hardware store.

I thought, "Eh, why not."

So I tore down my xbox:


Getting the heat-sinks off was a pain, but persistence pays off:


The guide I was using didn't tell me this, but you'll also need a 1/4" socket or nut driver to get the posts out of the heat-sinks.

The next step was to clean off the old thermal paste from the chips so that new thermal grease could be applied:


To do this, I used left-over ArctiClean from my last project of this nature. Using the ArctiClean produced a very high-quality mirror shine from the CPU, GPU and heat-sinks:


I staged my bolts according to the guide, put the washers on the motherboard and applied the directed amount of Arctic Silver 5 (about .5 - .75 the size of a grain of rice) to the GPU right before replacing the heat-sink. I then spread the thermal paste out over the chip with the edge of an old plastic gift (credit) card:


The GPU heatsink was then applied, careful to make sure that I had all screws started before allowing the heatsink to contact the surface of the GPU. I very carefully tightened the screws until they were just snug, but evenly snug. Repeat the whole ordeal for the CPU. Here's what the bottom of the motherboard looks like now without the x-brackets:


Note the eight hex cap screws. I recommend using normal phillips machine screws if you can find them. Unfortunately, my local Home Depot didn't. This was all I could find. Originally I had washers on both sides of the motherboard, but the taller hex cap screws had major clearance problems trying to fit back in the metal case. I had to (carefully) remove each screw, remove the washers on the bottom of the motherboard and then replace the screw. I was very glad that I had only snugged the screws earlier.

According to the guide, at this point you should place the motherboard in the case, hook up the necessities and fire it up without the fans to purposely overheat the system and cause the solder to re-melt back into place. However, when I booted it up at this point, there were no more red rings!


Apparently, between the new fastenings for the heatsinks and the better thermal grease on the chips, the problem was fixed! I finished re-assembling the chassis and decided it was time for a real test. I took it back downstairs and hooked it up to the TV, re-inserted the hard disk and memory card and grabbed a controller.

I played Braid for over a half hour with no problems, though I do wonder how permanent this solution will be. If it does break down again, I'll come back and update.

8/9/2010: After 21 months the RROD have returned. I haven't actually pulled the machine apart again to check it out, but it might be worth buying a refurbished base model at this point!

19 November 2008

The Shadow Odyssey

Well, the launch was a success! As I promised, I tweeted (through my twitter account) the happenings of launch day as they occurred. Here's the full compilation:
  • 11/17 2:19am: Final green-light from QA regarding EQII:TSO is in. Critical mass building... Later today we'll be staging the code to all the servers.
  • 11/17 9:46am: At work on the day before EQII:TSO launches. Feels like i didn't get a weekend. Oh wait, that would be because I didn't. :)
  • 11/17 10:16am: Wow, 15 minute leads meeting. I think that's the fastest it has ever been #shadowodyssey
  • 11/17 2:26pm: Leaving the office now and returning at 3am. Requests to have the Ops dept bring servers down at 12am have been set. cya@3! #shadowodyssey
  • 11/17 6:57pm: I better hop in game and finish the D.I.R.T.Y. Quests before midnight! #shadowodyssey
  • 11/18 3:05am: *yawn* 3am. Servers came down at 12am and back up running TSO at about 12:45am. QA doing smoke tests now (will be a while) #shadowodyssey
  • 11/18 3:09am: i'm patching up now. luckily, I sneakily pre-copied all the expansion assets from the patcher (yay for being internal) #shadowodyssey
  • 11/18 3:28am: Unbeknownst to most, Vivox is using the opportunity of all of EQII being down to do some voice chat maintenance #shadowodyssey
  • 11/18 5:24am: Smoke test on production servers is going great. Vivox maintenance is done. #shadowodyssey
  • 11/18 6:17am: QA still testing strong. Platform QA is testing to make sure that production keys can be consumed properly. Getting closer! #shadowodyssey
  • 11/18 7:29am: Breakfast brought in. QA is still testing strong. Funny to see everyone queued up on the login servers. Getting closer... #shadowodyssey
  • 11/18 [8am]: And We're Live! Devs are on the server (incognito) playtesting and reporting any issues. #shadowodyssey is smooth so far! [twitter was down at 8am]
  • 11/18 10:11am: I (and other EQII team members) are running around Moors of Ykesha on various servers doing quests. Enjoying the expansion! #shadowodyssey
  • 11/18 11:37am: Reports of a few minor issues with the broker. We're looking into them. #shadowodyssey
  • 11/18 1:55pm: Been here 11 hours (and counting). May head to the launch party. Some minor issues with Ykesha, but I made some tweaks #shadowodyssey
  • 11/18 2:40pm: Almost 12 hours here. Heading to the launch party and then home for some Zzzz. /yawn. Great launch so far! #shadowodyssey
  • 11/18 4:59pm: Enjoyed seeing @tenamdar and others at the #shadowodyssey launch party! It was a very smooth launch. Now: sleep!
We really enjoyed working on this expansion! Enjoy!

14 November 2008

A Nifty Trick

When I made EQII support the /LARGEADDRESSAWARE linker flag, I needed a way to see if people had the /3GB boot.ini flag enabled. The reasoning behind this was to detect what the top of our usable address space was and enable some countermeasures if we started using too much of the address space.

Here's how:
LPVOID pHighest = ::VirtualAlloc( 0, 1, MEM_TOP_DOWN|MEM_RESERVE, PAGE_READWRITE );
::VirtualFree( pHighest );


pHighest now contains the highest address the Operating System will let you have. If it's a value over 0x7FFFFFFF then the /3GB flag is enabled (or your software is running on a 64-bit OS). In any case, you now have the power to make decisions about how much address space to use or if you're using too much.

Of course, all of this becomes moot when we start writing software exclusively for 64-bit OSes.

I can't wait.

EQII Dev Blog: On Your Mark, Get Set...

I wrote a new blog post for the EQII Dev Blog:

We on the EverQuest II team are excited! We’re less than a week away from launching our Fifth expansion, The Shadow Odyssey! For some on the team, this will be the first title that they’re credited on. For others, it’s another box on the shelf that joins a vast array of excellent titles bearing their name. Everyone on the team shares feelings of joy, triumph and pride as we prepare for next Tuesday. Very soon, you will be able to experience the fruits of our labor over the past year.

11 November 2008

Braid

If you have an Xbox-360 and you haven't tried out Braid, you're missing a very fun game. Get on Xbox Live Arcade and at least try out the free trial, and then go buy the game.

Braid (by Jonathan Blow) is a platform-based puzzle game (with many throwbacks to the original Super Mario game) that uses various methods of controlling time to solve puzzles. It challenges how you think about time by providing a different mechanic throughout each of five levels. The gameplay is unique, the music is captivating and the art is vibrant and rich. The end of the game is mind-blowing (I'll admit that I didn't "get it" the first time I played through the last level).

I can't say enough great things about this awesome game. Go check it out for yourself.

04 November 2008

Americans: Go Vote!

Today is Election Day.

Regardless of what you believe or who you're supporting, this election will make history.

Be a part of it. Go out and vote!

Sure, it's not easy sometimes. The lines can be long. Voting machines can malfunction and cause delays. Weather can be an issue.

But it's a right and a responsibility. We The People of the United States of America have this privilege to choose those that govern over us. Use it.

Go Vote.