Thursday, March 29, 2018

An Interesting Laptop Makes A Good Emulation Station

I'm all about breathing new life into devices that just sit on a shelf and wait for the day they'll get recycled. I'm not trying to personify these devices, but recycling these components seems to take more effort for minimal gain compared to reuse. Reuse makes a lot of sense to me, and it's the reason I have a lot of computer parts laying around my room. Even old hardware, like a Gateway Laptop I picked up from a surplus shop for a few bucks, has use to me. If it were just any laptop, I would have passed on it. But this one had an interesting feature that made me jump to the "Emulation Station" idea.


There are actually several interesting things about the Gateway 600YG2. Its basically square design, how clean it looks, it's not the heaviest computer of that era, etc. But I think the most interesting feature of this computer is the abundance of ports on it. Namely, the composite video output of this machine.


I was actually blown away by the fact that this had composite out. This is what sparked the idea of an emulation station - the fact that it could be plugged into composite video and have that console feel to it while taking up negligible space. After verifying that the machine did, in fact, post, I got to work.

The first problem I ran into, however, was that this laptop did not have a hard drive and I did not have a hard drive for it. It needed an 2.5" IDE drive. Luckily, one of my friends that has a garage full of stuff waiting for use gave me a 60GB one. I was blown away when he said he had exactly what I was looking for.



The next thing I had to do was to install a base operating system. After much internal debate, I decided to go with Windows XP for several reasons. First, it's what the computer came with, so I'd find drivers for the many interesting ports on the machine. Second, and perhaps most importantly, since this was becoming the second iteration of the game console project from last year, I wanted to be able to play Lego Racers 1 & 2. You can't do that on Linux. You also don't have 3D Pinball on Linux.

So I installed Windows XP and cracked it.


After that, I was on the hunt to find drivers for the ATI Mobility Radeon 9000. I found legit versions on some driver website (which you should never trust, but I just got lucky this time) and installed them. I've put a legit version to them here so you don't have to worry about where you're getting them (if you even trust me, that is).

After installing those, I got a video signal on composite out. This was super exciting, as I was worried about a crappy image quality. I was surprised to see that it wasn't too bad.


And finally, dxdiag was reporting that there was, in fact, a GPU!


Neato! Now we have 3D acceleration! The next step is something I should have done on the last game console: install PS3 controller drivers so I can use it. Now, I don't have a bluetooth dongle on me at the moment, but working over USB should suffice for the time being. This involves, interestingly enough, installing XBOX 360 drivers as well, since the software will map the PS3 controller to an XBOX controller for maximum compatibility with Windows (even Windows XP). Once everything is installed, it'll show up as an XBOX controller with interesting axis mappings.


So this was nice, but there were far too many axes to actually work with the likes of Lego Racers 2. So, I downloaded JoyToKey - a mapper for XBOX to keyboard events. This way, I made a mapping for each of the games I wanted to play. The first game I tested was Lego Racers 2, actually (because I thought I grabbed the original Lego Racers and didn't realize I hadn't until I started installing it.) It ran really well with the PS3 to XBOX to Keyboard conversion pipeline I had set up. Also, the computer was able to handle maximum graphics no problem. Maximum quality sound, on the other hand, rendered the game unplayable, which was interesting to note.

In the case of the original Lego Racers, it picked the game controller right up with nice mappable buttons. You couldn't change how you steered the thing, but you could change how you accelerated and used powerups and whatnot. It was a joy to use on the PS3 controller once you got used to the buttons you assigned. It was hard to get a intuitive layout on the controller for this game, but I finally got something I was mostly comfortable with.

In any case, the computer was amazing to work with. The positioning of the speakers on this model really produces great stereo effects. Directional audio was amazing, as was the quality of the screen. This must have been a really great computer for its time. I'm also convinced it could still be used today - it's Pentium 4 could probably run Windows 7 without limping too much, which makes it still within supported software territory as far as Microsoft is concerned.

Also, at some point during all of this, I ran into an issue with the display settings. For some reason, it would no longer allow me to mirror the display over to the composite out. Either I extended the display, or it just didn't work. I was able to make the composite out the only display the computer saw and, since it'll be closed almost always, this was okay by me.

So, now that we've verified that PC games work on this, what about the original intent of this project: Emulation Station? Well, I installed RetroArch and...


The performance was pretty good. Here it is playing a Gameboy Advance game - Harry Potter and the Chamber of Secrets. I had to follow the instructions in this GitHub Issue to place the manifest and set the render engine to D3D9 because OpenGL 2.0 wasn't supported on my driver set, so it couldn't use shaders. After some minimal configuration, I was able to use the PS3 controller for that, too.

In fullscreen this worked well on the television also. Here's a picture of Lego Racers on my TV over composite. The noise is from another part of my setup - the signal coming from the computer is nice and clean.


At the end of the day, I simply didn't have the heart to take this laptop apart. The speaker positioning and the look of this machine was really nice, and I don't think I could beat the case it's already in. I can close the lid and still play using the composite output which, really, was the goal here. I'm really happy with this computer setup and I'm glad I now have a smaller box to play older games on than that massive thing I built a year ago. Not that I'm not proud of it. I still think it's really neato. But this is... smaller and less likely to short out. So there's that.

No comments:

Post a Comment