December 28th, 2008

literary, reading, research

How to make SMAC work on an Acer Aspire One

(I've found that, across the Internet, there are posts on at least eight different forums trying to solve this, and no solutions. Spread this around.)

First off, if you don't know what Sid Meyer's Alpha Centauri is, go find a copy. It's occasionally on the $10 discount shelf, which is how I got it; I just wish I could find a legit source for the expansion.

Anyway, there are those of us who love the game, and there are those of us who own an Acer Aspire One, and there's some overlap between these audiences, like me. We'd like to combine these two things, to be able to play Alpha Centauri whereever we can bring a little tiny computer, but this is not easy. The first hurdle is the lack of an optical drive in the Aspire One; this is left as an exercise for the reader as most of my readers have figured it out anyway. My $25 solution involved a USB-based external optical drive on clearance, but $30 of disk imaging with DRM emulation (Alcohol 52%) works for most purposes as well.

That's the first problem. The second one, and this is much bigger, is that the program won't actually run once you install it. Windows XP users are used to this, which is why Firaxis has a patch. What Windows users probably aren't used to is that this patch doesn't fix the entire problem; the game will still not function, and will crash shortly after or before bringing up a Firaxis logo (take your pick).

Evidence is that the crash is actually related to trying to set the video mode. I don't even want to know what funky things Acer did to the video mode subsystem to somehow make this break, but they sure did something. Whatever it is, it can't switch the system gracefully into 800 x 600, and manually changing it yourself doesn't actually work either. An alternate display helper program, however, does, and it also unlocks a few features of the graphics card that aren't currently exposed by the Intel user interface.

There's this resolution switcher designed for the Asus Eee that turns out to work on any computer based on an Intel 945 Express Mobile Graphics Chipset (or some permutation of those words- Intel Mobile Express 945 Graphics Chipset? Mobile Chipset Intel 145 Express Graphics? Any of them make equal sense, really), by design; this, pleasantly, includes the Acer Aspire One. Follow the link, read the directions (important! they involve use of msconfig; a real installer program could perform those steps automatically, and somebody with familiarity with Windows Installer could be awful nice and write one up, although an actual configuration dialog box might be considered a higher priority), install the software (which involves extracting it somewhere stable, then copying a shortcut into Startup), and then reboot. Your computer will reboot into a very confusing state with the wrong video mode. That's fine.

ASTrayPlus put a new icon on your tray. You'll probably have to find your tray first; it's at the same location it usually is, it's just highly likely this location isn't presently on your screen. Move the mouse to an edge of the screen and it will autoscroll. (alternatively, your screen may look highly squashed and tiny; this is also normal.) Click it, then click the resolution line at the top, which will bring up a window listing the resolutions in the middle of the screen. It's pretty likely that this window will actually be under either MSConfig or a warning box saying that you used MSConfig; as you won't be turning the cancelled services back on, you should tell the box to shut up (there's a checkbox for that) and then cancel out of MSConfig when it pops up again. This list is alphabetized, which is sort of a crappy way to navigate a list of over a hundred display resolutions; ASTrayPlus is functional, not pretty, and it could use a lot of polish. (Actually, I could write some of this polish myself, if it's open-source. Hmmm...) You'll probably want to find 1024x600, 32bpp, @60Hz. Select that, hit "OK", and your desktop will return to its normal mode, which is exactly what you want most of the time.

And now you have this important program running. Want to play Alpha Centauri? Click the icon, go into the resolution switcher (alternatively, press Windows+Z on your keyboard to bring up the switcher; note that Windows+C will now hide your cursor), and go to 800x600x32bpp @ 60Hz. Your display will letterbox, putting inactive black bars at the sides. That's the extra 224 pixels of width that Alpha Centauri wants to remove (it demands 800x600 at full screen) and can't; now, with the right video mode, it will never try to change video modes and therefore will never crash. (Although this doesn't explain why it dies if you start at 800x600 without ASTrayPlus, I admit.) Start the game; it's fine now. When you're done, change the rez back. Read the site you downloaded ASTray from to find directions on how to put quick resolution switch options in the menu and make it automatically switch when Alpha Centauri comes up, or contact me for a copy of my astray.ini file. (My contact info is in my LiveJournal profile.)

This resolution switcher will let you play a lot of games that demand more traditional resolutions than 1024x600, although they'll show up stretched. 1024x768 is a popular one, and some programs will just show boxes taller than the screen if you don't drop them down to that size. Pixels will be dropped and (messily) combined, giving you a shrunken picture, but at least it's the size the software expects, and it will usually work just fine. You'll also discover that the mouse cursor is drawn directly by the display driver, which is why it doesn't squish along with everything else.

I've written an .ini file that is much more suitable for Acer Aspire One users than the default, which is tuned to Eee users and will set your screen resolution to that of an Eee on boot. It also autoscales when Alpha Centauri starts, if you installed it to the default directory. If someone can give me a good place to toss it and then never worry about it again, please let me know. Rapidshare and its ilk seems very silly for a brief flat text file.
  • Current Music
    the ambient music of the SMAC title screen played through netbook speakers
  • Tags
    , ,