Mar 31

Building a multi-platform Gaming PC, part 2

Category: Gaming,Linux   — Published by tengo on March 31, 2008 at 9:52 am

Let's start to build the system. For this Gaming PC here, I chose to use a Dell OptiPlex as base. While not a perfect choice, these systems bring most of what we need right out of the box: a black case, nice design, small form factor, Gigabit Ethernet, USB connectivity and sometimes even an S-Video output.

Dell GX280 Gaming PCI happened to get the GX280. The GX280 differs a bit from the GX270 as the case is a little larger and the system is based on the Intel 915 mainboard (vs. the Intel 865G on the GX270). On eBay, the system sells for about US$200 in good shape and setup. As the small unit has no S-Video out by default, I decided to replace the default graphics with a newer video board, the Club 3D CGNX-GS726, a noname 256MB nVidia GeForce 7200GS based graphics card for PCI Express PCIe x16 - the bus standard of the mainboard.

In retrospective, altogether this was a poor choice. The idea was to get a bit more of CPU horsepower, but the downsides of the GX280 overweigh: the case is too big for my taste and the win in CPU speed is not noteworthy. So, for anyone who follows this how-to here, I would recommend to grab the GX270. The video board is okay, but you can save the 30 bucks for that as well.

Next on the list is an input device. Any decent Gaming PC needs a good controler. Playing with the mouse is not what you'd like (and as you can read in the first post, is not desired for this project here). I decided to buy a gamepad. Although many games rely on a Joystick for input, a Gampad is always a good replacement, while a Joystick isn't - the other way 'round. So, after a bit of research, I decided to buy the Logitech Rumblepad 2 Vibration Feedback Gamepad (amazon en de); you might alternatively get the wireless version (amazon en de). Just as a note, so far I nver got the "rumble" to work on any of the emulators - comment here if you had more luck.
After we got all the components together, we can start assembling the system. So far the setup is quite simple. To get everything working and connected, a S-Video cable might be needed, a DVI-to-HDMI or a SCART adaptor with CINCH cables, so prepare for that.

For initial setup I would recommend to actually attach a keyboard and mouse, until we can get rid of these later on.

The OS

The first step in setting up a new system is always the installation of an Operating System. Many others that have built a similar system for gaming decided to install a free operating system like Debian Linux. I did not follow that path. From previous adventures into multimedia on Linux, I knew that I wanted quick results opposed to a lot of hacking to get everything working. By good chance, I had a license of Microsoft XP system builder at hand, so I went for that.

Nevertheless, if you feel the open source gaming vibe, there are numerous specialised distros for that: here, here, read on here, and here. MAME has been ported to linux, also some other linux emulators:

No keyboard, no mouse

On with the setup: In order to get rid of the mouse and keyboard, we need to find a way to map certain functions, shortcuts and keys to the gamepad controllers. Actually it's quite difficult to find information about how to configure your PC to run without a mouse and without keyboard. But once you have the right set of keywords ("gamepad as keyboard", "joystick mouse") you can start drilling using the search engine of your choice. I would bet on it that the first helper tool you encounter is JoyToKey, then you will try JoystickMouse or similar. But belive me: the only software you'll ever need is AutoHotkey! It's is extensible, scriptable, is even more than just a joystick/gamepad-to-keyboard tool and has a large and active userbase. Install this little executable, add it to autostart and let it load a script that maps your gamepad to basic mouse functionality (including drag-and-drop!), buttons and basic keystrokes. My own script to make it all work is a mess, due to wild trial and error hacking and lack of time to clean it up. But it's based on the example script JoystickMouse that is shipped with AutoHotkey, so you can start from there.

A hint for you: it would be clever to assign a button-combination for the <ESC> key and <CTRL>+< F> (fullscreen toggle) so you can start and stop games, when your emulator got into fullscreen mode or the emulation hangs. It's not perfect, and not every emulator reacts to it (which seems to be caused by the way each program catches the "keydown" trigger), but in many cases it works like a charm. Feel free to comment with your experiences.

(A side note: Logitech ships a similar tool with the Rumblepad, but so far it was more in the way than of any help. As it seems, it is more meant to help with various PC games, than to actually replace the Mouse/Keyboard with the pad.)

FTP server

Another hint would be to install and configure an FTP server on your console. FileZilla Server is a good choice here. Although this may pose a security leak on your machine - when it is permanently connected to the internet (due to multiplayer gaming or the like). As my system is, in most cases, offline, this won't hurt. The FTP functionality on the other side is very useful to upload software updates, game data etc. onto the machine when your gameroom has no ethernet and you need to carry your "console" to the desktop to fill it up with new games. In this case you can just plug the Cat5 cord into it and begin loading. To prepare for this functionality, it might be needed to configure a static IP address for the Gaming PC so you find it on your LAN once it is attached.

The Emulators

Finally you need to download and install all the required emulators for the games you would like to play and the hardware you would like to emulate. Please note emulation is in many details a legal grey area. What is absolutely required is that you own the software you will run and that you physically own the hardware you will be emulating!

There are some games out there that have been released into the public domain, other were left aside by their developers (Abandonware). Additionally there are many freeware games you are free to download and play and last but not least demos. Enough to keep you well entertained for a while.

As the emulator software just emulates the hardware, there is one piece missing, that the emulator needs to be fully functional: the BIOS or EPROM. The BIOS is the operating system of many consoles and early computers. And as it is software, it is in most cases protected by copyright. This is why you need to actually own the hardware to be legally entitled to run an emulator.

The actual games can be transferred from their original storage media (cartridge, EPROM, floppy disk, CDROM, DVD) with the help of various specialised tools. How this actually works is beyond the scope of this guide. Anyway, in most cases these images of original copies are referred to as ROMs in the emulation community. Please be sure to read our legal notes below on that issue.

Now, to actually run these games, we'll need Windows emulator binaries or installers. For the various systems I recommend the following emulators:

More emulators: for example here.

Finishing touches

If you followed these steps and invested a few hours to get the rough edges round, you should now have a working Gaming PC. Not the type of machine you would use to brag about tech specs, but a steady workhorse and a real games jukebox.

Now if you have the time, you can add some final touches to complete the overall experience, adapt the screen design so that it mimics your favorite classic hardware, airbrush the case or whatever.

A simple yet nice extension is to change the Windows XP theme. My selection is a simple black theme, called the Zune-Theme (via, via) and released by Microsoft for free! An alternative is its predecessor, the Royale Noir theme (via)(via). Both themes run out of the box and do not require additional theme software. If you like, download a matching Vista wallpaper here (via) or throw in the current or retro background or your liking.

Another idea is to change sounds and/or the XP startup screens. The LogonUI Boot Randomizer effectively replaces the boring standard Microsoft Logon and Boot screens with a random screen from a predefined library.

Now, have fun!

Legal disclaimer: Laws vary from country to country on the legality of owning or transmitting ROM images, running emulators and such. For the most part, you are required to be in actual possession of the original game, hardware and bios in order to legally retain a copy of the game or system bios. Please familiarize yourself with the respective legal situation. Regardless of your actions, maintainers of goeszen.com will not be held legally responsible.

2 Responses to “Building a multi-platform Gaming PC, part 2”

  1. snes games says:

    Hey great post and a very good resource for everyone to bookmark. Are you doing an update for this post BTW? Anyhow i will save this site as a bookmark and check back for more info

  2. snes games says:

    Hey great post and a very good resource for everyone to bookmark. Are you doing an update for this post BTW? Anyhow i will save this site as a bookmark and check back for more info