I've been playing Halflife2 recently. Its a great game, fully deserving of all the praise its been receiving.
Unfortunately, it was crashing a lot for me. And I was seeing different symptoms, making it hard to try to debug
Sometimes a level would "corrupt" itself, which showed up as not being able to move on to the next level. If this happened, I'd also suffer from the fact that the save/load game interface would be "garbled": basically, the menu would sort of collapse in on itself into an unreadable/unuseable mess.
Sometimes the game would "crash" to the desktop, with a "memory read" error dialog box. And occasionally, I'd end up back at the desktop with a dialog box saying something like "Internal driver error in IDirect3DDevice9::present()". It was all very frustrating
I did some digging around on various forums, and found a fair number of people who seemed to be experiencing similar problems. The general recommendation: upgrade video drivers, test memory, make sure you have the latest DirectX9 (dx9c). None of it seemed to help me.
I should note a bit about my configuration. I'm running an AMD 64 3400+ processor on an Asus K8V Deluxe motherboard. I have 1 GB of Corsair paired DDR memory. And I have an ATI X800 Pro video card. I'm running Windows XP SP2, fully patched and up to date. My ATI drivers are version 5.3, and Direct X is the latest version: 9.0c. My Via chipset and Creative soundblaster Audigy drivers are also fully up to date.
I finally "fixed" the problem. I put quotations around that, since I can't claim that this is an absolute fix since it seems like so many other users of Halflife2 are finding different solutions. In my case, I went into BIOS and changed the video aperture from 128 MB to 256 MB. I came across the suggestion to try this at the World Overclocker's website.
Before making this change, I was crashing once or twice on each "level" (between each load...there are usually several "loads" per level, so this was ugly). After changing my video aperture from 128 MB to 256 MB, I didn't have a single crash through a dozen or more "loads" worth of play.
In fact, I managed to finish the game- so it was definitely worthwhile for me!