Thursday, March 23, 2017

Making a Game Console Part 3 - Operating Systems and Software

Now that the computer is built, it's time to put some operating systems on it. There's a specific order I want to do this in because it's very important. We'll look at how I think I'm going to do this, and compare it to how I actually did this and see how close they come. I can't imagine they'll come close at all. But at least I have a plan, right?

Let's go over said plan. First, we have to install Windows 98. The Windows 98 installer does not have any partitioning options, so we have to do that one first because it uses the whole hard drive. Then we'll move on to Ubuntu 10.10 complete with GParted. We'll then resize the Windows 98 partition and install Windows XP to the final partition. We'll then make GRUB be able to boot all of them.


So let's start with Windows 98. It's a slow process to format the disk, but once it's done, you sail right through installation. You won't really run into problems until you get deep into the installation during hardware config which doesn't happen until after all of the files are copied. This has generally been my experience when trying to do this in a VM.

When it's done copying files, it'll reboot. Start from the hard disk to start to set up your user information and other things regarding the hardware. You also have to find a product key. There are tons of them on the internet.

Now is where the fun begins... I think. It'll start configuring the Plug and Play and non Plug and Play devices on your computer. Hopefully, it won't start asking for drivers and whatnot. It should be able to find all of them on the CD. If not, don't worry. Windows 98 is hard to break - it can live without drivers as long as you're okay with not using the corresponding device. Or, sometimes it works. Who really knows what goes on inside Windows 98?

It actually worked without issue. It only asked for a driver for the Plug and Play monitor which it found on the hard drive. So... I guess it worked! It also turns out that my wireless USB mouse worked as soon as I plugged it in and installed USB drivers from the Windows CD.

Now, just because I'm paranoid, I'm going to defrag my hard drive just to be safe. When I resize the partition, I don't want any important fragments to be lost.

The next step is to install Ubuntu, but first we need to shrink the Windows 98 partition to a reasonable size. I'm thinking about 20GB. That's way more than enough for what we want to use it for. So I booted into Ubuntu 10.10 and started up Gparted. Here is the partition scheme I decided on.

Now that the partitions have been written, we can run the Ubuntu installer. Go through all of the steps until you get to "Specify partitions manually (advanced)." Do not do the following:

The installer will probably hang up on the "Removing conflicting operating system files" part. Make sure you do not specify the mount points for /dos and /windows. Just specify the root partition. I wasn't able to make a new screenshot because I booted into the installer the second time, not the desktop.

When it finished and I rebooted, GRUB found Windows 98 and was able to boot into it without an issue. It also started into Ubuntu with no questions asked. Now it's time to install Windows XP. Proceed as normal until you hit the partition selection screen. Choose the right partition.

I chose to quick format it as an NTFS volume, but you don't have to do that if you've already done it. Let setup copy the files over and complete the install following the instructions.

Once Windows XP has finished installing, you can go ahead and "activate it." Find a key online and, if it doesn't let you log in until you activate, just enter a different key and find a crack online. Just make it work.

Now you'll probably notice that GRUB is no longer there. That's a problem. We should have partitioned with the live disk, installed XP, and then installed Ubuntu last. But that's okay, we can just install GRUB again. Boot into the live CD once more and then following this system rescue procedure to get GRUB back on the drive. It should auto detect everything. You can change the menu entries around like I have to make it a little more organized.

But here's the problem. GRUB will look like it's only finding Windows XP. That's because when Windows XP was installed, the Windows Boot Manager was installed. We brought GRUB back, but the boot manager is still there. When you ask GRUB to boot into Windows XP, you actually get asked which Windows you want to boot into. You can still boot into both, but we want to use GRUB and only GRUB. So how do we fix that?

I still don't know. I've decided to update my Ubuntu to 16.04 with LXDE and GRUB2. Even GRUB2 doesn't want to divorce the operating systems. I really dislike the Windows Boot Manager. You can configure it, but you can never truly get rid of it. I can't even instruct GRUB to boot right into one of the OSs. It's odd and I can't figure out what's going on. I can live with it for now but I really want to find a solution to this issue.

Both Ubuntu and Windows XP push great resolutions. They fill the screen over VGA. Windows 98, on the other hand, does not. It's still running in 16 bit color mode at a resolution of 640x480. This won't work as Lego Racers requires 256 colors. When it plays the intro videos, the CPU has to find the nearest color for every pixel for each frame, resulting in about 0.5fps. And then the game crashes. I assume this is because it doesn't have the drivers needed to take advantage of the graphics card. So I went ahead and found the graphics driver for the ASUS V3800M on the ASUS website. I copied it over using Ubuntu to the Windows 98 partition and installed it. I did the same for the SoundBlaster as well because the sound card didn't work. Maybe the card was just bad; this would be very bad news as I really need a game port on the back of this computer and I don't want to have to find another SoundBlaster.

Everything worked in Windows XP, however. That includes Lego Racers, Lego Racers 2, Sim City 3000 Unlimited, and basically all of the others. If that means Windows XP will run everything, then so be it. I'm not uninstalling Windows 98. I still have some programs that will only work on it.


So, in terms of software, I've gotten what I wanted. Now I want to make a controller so I can play the games without a long or wireless keyboard. I'm still not sure if I want to use the game port or USB. Either I use an outdated and limited bit of hardware or I use a USB port. This might actually be good, as I can make that device the mouse as well. If I had some foresight I could have made this all into one Arduino. I may still do this but I'm not sure. I'll think about it. But for now, that's it for this episode of Making a Game Console.

No comments:

Post a Comment