Let me break the tension and give the answer: WINE + BFN+ Linux + CDEmu. (BFN short for Battle for Naboo)
Now, you MUST hear my story, sorry, you just have to ;) . Once upon a time, I knew almost nothing about computers. I did not know that the case was something intended to be opened. I didn't know what a hard drive, motherboard, or CPU was. My world was the desktop, Microsoft Word, and Battle for Naboo. This was back when I was around 8-10 years old, or something like that, maybe younger.
I was doing things, I don't remember what, that made my parents think I was interested in computers, and about six years ago, they got me a very nice Dell XPS 400. 1 gig of RAM, a nice nVIDIA graphics card with VGA and DVI out, a SATA hard drive, two optical drives, including a Hitachi LG GDR-8163b, 7.1 surround sound, 7 USB ports, and surprisingly, a dual core 64-bit processor clocked at 2.793 Ghz...from around 2005 É a 64 bit processorÉ and at 2.793 GHZÉ2005. I was blown away by the flat screen monitor, the surround sound, and by the way Windows XP Media Center Edition looked with its Royale theme – a stark contrast to Windows ME's battleship gray retro GUI on the old computer with a CRT. I got Star Wars Republic Commando, and the menu thing before the game left me jaw-dropped (Love that game too, BTW). We gave away the old computer. Black and sliver theme of the computer itself, Royale theme, Star Wars Republic Commando, surround sound with Star Wars Republic CommandoÉŸŸŸŸhhh.
I began installing my old games onto my new computer. They all worked accept for Battle for Naboo. This was the event. My drive to figure out how to get that game to work again made me into the computer geek I am today, and I consider this my Òcomputer geek testimony.Ó I started right-clicking on things. I saw that this often caused menus to come up that I never saw before. These menus had entries that brought up windows, often tabbed windows with more stuff – a branching effect. It was a matter of minutes, in my desperation, that I right-clicked on the shortcut to Battle for Naboo, got into properties, and found the compatibility mode. I tried so many combinations in there – none worked. I saw that shortcuts referred to places on the hard drive, and learned the bigger world that the desktop was a part of (the whole hard drive exploring thing and the file browser and all). I kept progressing in my knowledge of Windows, and eventually got to an expert level of Windows knowledge.
So right-clicking the shortcut, going to properties, and telling it to go into compatibility mode didn't make the game work. I start to use the Internet and Google to try and find answers – a big step in my progression of computer ÒfixingÓ skills – adding the Internet to my toolkit, that is. I find some old forum of a guy saying that if you right-click each executable on the disc the game came on, and put them all to compatibility mode THEN install the game, you will increase your chances of it working. That didn't work.
I was convinced that the problem was that XP isn't backward-compatible with the game, and I needed Windows ME or 98 or something. I learn of things called Òdual bootsÓ where people can chose which operating system they want at startup, and could, for example, have Windows XP and Windows 98. One forum I ran into had a guy that said he couldn't get BFN to work in XP, and he had to dual boot with 98, and that he was able to play it in 98 and not XP.
I try to learn how to do a dual boot. I research about partitions and stuff. At the time, I found it very confusing, though now I look back and can't see what's hard to understand about partitioning.
I sought guidance from a computer genius at my church, Joel Crane. He told me of these magical things called virtual machines that would let me run 98 IN XP, without having to got through that dual boot stuff.
He also was the first to explain to me that you can chop up USB cables, and solder ends to make custom cables. ThereÕs four wires in there, and you just match them up and solder. Then cover with electrical tape. That was an irrelevant nugget of info.
I install Win98 in Microsoft VirtualPC in XP, and install BFN in that. ÒError: Guru meditation failure...Ó It complained about the graphics. It wasn't compatible with VirtualPC's emulated graphics card.
I Google for hours searching for a graphics emulator, in hopes I could run such a program in the virtual machine and emulate a graphics card that BFN would be compatible with. Nowadays when you Google Ògraphics emulator,Ó you get 3D Analyze FIRST LINK. Back then, it was, like, page 22 or something ridiculous like that. I expected to at least get hits from people talking about emulated graphics cards from virtualization programs like VirtualPC. It's a miracle I found 3D Analyze. In fact, to this day, it is the only graphics emulator independent of a hypervisor (virtualization program like VirtualPC, VirtualBox, DOSBox, etc.) that I have been able to find.
So I put 3DAnalyze in my XP virtual machine, do the batch file thing and whatnot...still didn't work. I tried lots of different combos of 3DAnalyze options. I look on the CD case of Battle for Naboo, and see that 3DAnalyze doesn't emulate any of the listed compatible graphics chipsets.
I had hopes for VirtualBox. It has a different emulated graphics card, so maybe this one will work, I thought. I was really happy to find that VirtualBox lets you share USB ports, something that VirtualPC doesn't (at least at the time). This would make it possible to use my joystick in the virtual machine. Same Guru meditation failure in there.
I start Googling to see if there is a way I can pick which graphics card I want VirtualBox, or any virtualization program for that matter, to emulate. Nope...except I later found QEMU, which does let you chose what graphics you want to emulate. A guy named DOS4Dinner told me that none of QEMUÕs graphics emulators have 3DFXÉ(foreshadowing foreshadowing).
But I do find out about hardware virtualization, which is where hardware and firmware supports itself being used by more than one operating system at the same time. If hardware virtualization was enabled in the BIOS, I thought I could share my real graphics card with the virtual machine, and be able to play BFN in the virtual machine. My computer's BIOS didn't have hardware virtualization, but my Mom's laptop did.
I search the web more about Battle for Naboo. I learned that originally it was a N64 game that got ported to the PC, but they made the graphics better as they did so. I learned that there are N64 emulators that can play rips of N64 games called ROMS. I thought about taking the easy way out and getting a N64 emulator and the BFN ROM for it, and play the game in the N64 emulator. But I wanted the PC version to work. I wanted the better graphics and I wasn't sure if a N64 emulator could take a joystick.
I try to download a N64 emulator, but the download was corrupt. I try again another day, still corrupt. I gave up that method.
Eventually I get Acronis True Image, and I feel like I can do anything to my computer and be able to put it back. I decide to try to do a dual boot.
I learn more about dual booting. I figured that BFN is just not compatible with the emulated graphics, and just needs my real graphics. I try to dual boot my XPS with Win98. It looks like it works for the majority of the install, it even restarts and boots off the hard drive for that second part of the installation. It hung up on configuring the hardware. Every time. I knew it needed drivers. XP installations let you hit F6 early on and insert a floppy diskette with drivers on it to actually install drivers into the Windows installer to prevent such an issue. Later, I learn of nLite, which lets you slipstream drivers into XP installation files, and create a customized disc where you donÕt need to insert the floppy, because the drivers are slipstreamed in there (nLite also does a slug of other way-cool stuff.). I wondered if there was such a thing for Win98 (like a 98lite or something). At the time there wasn't. I tried to figure out how to slipstream drivers into the Win98 disc by hand – that didn't happen.
Then a friend tells me that the game worked perfectly on his computer without doing any compatibility mode or anything. It just worked. I asked him what version of Windows he was running. He was running WinXP Home.
That blew me away; that BFN worked in WinXP Home edition. I thought that XP wasnÕt compatible with BFN. I did realize that Home edition was the one that always had its own instructions from the rest of the XP versions in many troubleshooting guides. I concluded that maybe Home edition is significantly different enough to be able to play Battle for Naboo.
I get a copy of Home edition to try this out. Not wanting to install to my internal hard drive (to prevent my other stuff from being messed up), I thought it would be a good idea to install Windows XP Home to USB. XP doesn't install to USB stock, I found out...the hard way. Then I was ecstatic to find www.ngine.de , which explains how to make a custom WinXP install disc that can install Windows to a USB drive. I install WinXP Home edition to some drive, I don't remember if I actually put it on a USB drive, but I did mess up hard core on following the USB hack instructions at least 3 times at first, and gave up for a long time before I came back to it (I eventually got it to work). Before this, I heard of a rumor of Win98 USB edition (Jordan Pullen told me about it.), but Google did not surface that to me.
So I want to install WinXP Home (thinking it will be able to play BFN), and I give up on doing it through USB (for the time being), and hook an external hard drive into the SATA port on my motherboard (got a Rosewill thing that hooks into an internal SATA port, and presents it to the outside world through a bracket that goes into the case – itÕs literally just a glorified extension cord) and figure that I will probably need to slipstream drivers, since I am installing to a SATA hard drive, and a stock set of XP installation files do not come with SATA drivers. I did not know about nLite at this time. Little did I know that BIOSes at the time made SATA hard drives appear to be IDE hard drives – for the exact purpose being able to install XP to a SATA hard drive without having to slipstream drivers. Way to go Microsoft. Make the BIOS writers make up for you. Well, then again, I heard that there were too many different SATA drivers to get them all for all the different SATA controllersÉbut they all use standard SCSI commandsÉhmmm. Gee, they could have at least allowed you to slipstream drivers off a thumb drive or CD instead of ONLY taking drivers off a floppy diskette! What if the computer didnÕt have a floppy drive, you wanted to install XP on it, and the BIOS didnÕt make the SATA hard drive look like an IDE hard drive; what would you do? (YouÕd actually use nLite, is what youÕd do. And install off a thumb drive to save a CD.) Why would they do such a thing? So I bought and installed an internal floppy drive to slipstream the drivers into the installer when needed. I didnÕt want to first try without it, because I figured that if it worked without it, itÕd be good to have the floppy drive anyways. I didnÕt want to start the project, then have to stop, go out and get the floppy drive, put it in, and start over (I would die from anticipation).
Well it didnÕt work in XP Home Edition either.
Then Mom gives me her old laptop when she gets a new one. It was running Windows XP Media Center Edition, the same version of Windows my XPS was running. I was super ecstatic to get it, because it has hardware virtualization enableable in its BIOS, which I thought I could use to share the graphics card of the laptop to a virtual machine running Win98. But before that, I thought, ÒThey both have the same exact operating system, down to the service pack. If it doesn't work on my XPS, there's no way it's running on this laptop. Let's prove that.Ó IT WORKED ON THE LAPTOP!!! Surprise! It wasn't a superficial software (i.e., Windows version, driver, DirectX version, or anything stored on the hard drive storage area) problem like I thought all along; it was a deeper software, firmware, possibly even hardware, problem this whole time. The code running on the graphics card itself (its firmware) doesnÕt do the graphics calls Battle for Naboo wants. In fact, every computer I have ever tried to install BFN on, BFN has installed and runs just fine, except for on my XPS, and ironically, a newer XPS I tried it on that was running 64-bit Windows, which is what I think the problem was. It installed in Windows 7 with ease. Even on a netbook (used Elby Virtual CloneDrive – I learned about CD images and CD emulators somewhere down the line too.).
So I never even needed to resort to using hardware virtualization on the laptop. I still tried a virtual machine using the hardware virtualization – same ÒGuru meditation failureÉÓ Hardware virtualizaton doesnÕt actually share the graphics card; IÕve found. It just allows the emulated graphics card to use resources on the graphics card, like video RAM.
Now I just wanted to figure out how to play this game on my computer. I felt challenged. I needed to complete this childhood quest. I also wanted to be able to tell other people how I got it to work, to spread the joy. I have actually been looking forward to posting the solution to this very thread for years. This is a big celebration.
I become aware of Linux and WINE. I thought that maybe by some freak chance it will work if I boot my XPS into Linux, and run BFN through WINE. That was back in WINE 1.2 days. Complete failure. The WINE app database had it rated at garbage.
Quite some time afterwards, I see that WINE 1.3 came out. I decided to give it a second chance. I was at college at the time, and met DOS4Diner there. He explained to me that the problem is the same problem that Hype the Time Quest has – they want 3DFX. If the game will go in WINE, it will work because WINE wraps (converts) graphics calls into OpenGL graphics calls, which all modern graphics cards can handle (not all can handle 3DFX). If Hype would work in WINE, it would work too. Well, guess what? WINE 1.3.17 made Battle for Naboo work! It converted the 3DFX graphics calls into OpenGL calls, according to DOS4Dinner. The WINE app database still rated BFN at garbage, and I felt the urge to update the database, but didn't have time because of schoolwork. A few weeks later, someone rated it at gold.
I am pleased to say that BFN now rates platinum in WINE!
Once a game works WINE, DOSbox, or is bought by Gog, it is immortalized. Gog removes all DRM (including CD checks) and does whatever necessary to the game to make it compatible for modern systems. These are the best hopes old games have.
DOSBox is a program that completely emulates all the hardware needed to create a 100% emulated virtual machine – it even emulates the processor. That allows you to have an unchanging hardware set at your fingertips no matter what hardware you are running. Once compatible with DOSBox hardwareÉboom.
Once a program works in WINE, WINE will continue to support that program forever. It doesnÕt remove backward compatibility slowly over time. It also is a graphics wrapper that converts any graphics call (such as DirectX) to OpenGL. So it makes programs happy no matter your hardware/ firmware, once it supports that program. Yep, solved a firmware problem with superficial software.
If you install CDEmu into Linux, you can mount a CD image and play BFN in WINE without the CD.
Something to look forward to is when DOSBox finally gets the 3DFX graphics chip emulator (yes, actually emulate the chip! – according to DOS4Dinner) implemented. If you can get a joystick to work with it, you can install Win98 into DOSBox, install a CD emulator into Win98, mount the BFN iso, and play Battle for Naboo in DOSBox! Hype the Time Quest would work in there too. There are DOSBox ports for the Wii, PSP, iOS, Xbox, and of course you can compile for Linux, Windows, or Mac.
This isnÕt just solving a compatibility problem – this is pwning it in the face with complete domination! Not only is it Òsolved,Ó but also this makes it able to work on anythingÉanywhere. Seriously, those little netbooks with atom processors – just install BFN on one of those, install a CD emulator, mount the BFN iso, and you can play BFN on the go! Anything you can get Linux on, you can play BFN on it with WINE (if you have enough RAM, CPU, etc)Éthat means you can almost play BFN on a toaster, lol!
The portability of BFN will skyrocket once this 3DFX business gets implemented in these obscure ports of DOSBox. Imagine BFN on your iPad, iPhone, or PSP!
Hmmm. You can play it anywhere? You can play it in a [DOS]box? You can download your backup copy with FireFox? You know what that sounds like!
You can play it in your house
You can play it with a mouse
You can download it with a Fox
You can play it in a Box
You can play it here or there.
You can play it anywhere!
Would you? Could you?
In a car?
Play it! Play it!
Here you are!
Haaaah. I should write a previous verse about not being able to play it before I figured it out/ WINE coming along to parallel Sam not eating the green eggs and ham. That part of it working is like Sam finally eating the green eggs and ham. Any poetic volunteers?
So why did it take all these years for this thread to be answered? Well, you had to give me time to go from being an absolute n00b with computers, to being a computer master – ok, I still have a lot to learn – programming, more Linux stuff, server stuff; I have my work cut out. Even being a computer master doesnÕt guarantee youÕll think to try it in WINE. Admittedly, that seems to be an odd solution, but it worked! Six years baby. This is here for more than answering the OP, of course. This is a geek testimony story, and has details on how to get other games to work. It has details meant to be gleaned from. I hope this helps future Googlers! (Or Bingers or whoever)