Windows Gaming with QEMU on PS3

I’ve been testing the limits of what Windows games can run via QEMU’s x86 emulation on the PS3. At first I tried Windows 98 but it turns out that Windows 95 seems to make things run a little snappier. And most of the Windows games that will work should run on 95 anyway…

I have installed Diablo + the Hellfire expansion with 1.01 update and that’s running very well. There’s a bit of stuttering in the cutscene videos, but gameplay is perfectly smooth and of course the atmospheric music is great.

Diablo on QEMU

Instead of worrying with the CD every time I want to play, I made an .iso file of it and play from that instead. To create an .iso file of a CD on Linux, you use this command:

dd if=/dev/cdrom of=/path/to/cdrom_image.iso

Where /dev/cdrom is the device name of your CD ROM drive. It appears the CD need not be mounted for this procedure. For example, to make an .iso of my Diablo CD, I said:

dd if=/dev/cdrom of=/media/apricorn/diskimages/diablo.iso
(/media/apricorn/ is the path where I have a USB hard drive mounted)

Assuming you’re able to get Windows 95 up and running on QEMU, the process for installing Diablo is simple — just install like you normally would on Windows. DirectX is included on the install disk, too, so you can install that at the same time.

Installing the Hellfire expansion is equally straightforward. You do need to change CD’s though, and this is where using .iso files makes things much easier.

While QEMU is running Windows 95, you hit Ctrl-Alt-2 to bring up the QEMU monitor. At the (qemu) prompt, type:

eject cdrom

change cdrom /path/to/your.iso

For example, to eject the diablo.iso (”cdrom”) and insert the hellfire.iso (”cdrom”) while QEMU is still running Windows 95, I use:

Ctrl-Alt-2 (that’s the number 2 key, NOT the F2 key)

eject cdrom

change cdrom /media/apricorn/diskimages/hellfire.iso

Ctrl-Alt-1 (to change back to the normal QEMU window where Windows 95 is running).

The ability to change .iso files / cdroms while QEMU is running is critical when installing games that require more than one CD.

Other games I have tried on QEMU (some of these screenshots are from Fedora 7 PPC on PS3 instead of YDL, but they run the same on YDL, and some were done on YDL 5.x):

Starcraft QEMU

Starcraft — A little stuttering in cutscene videos, but otherwise appears to run OK. I didn’t play beyond the first level.

Thief — Menus, music, and in-game sound are all OK, but WAY TO SLOW to be playable (1 frame per second or less). I didn’t have any hope for this one working anyway, but you never know …

Robert E. Lee: Civil War General — This no longer runs on Windows XP, but runs fine on QEMU on PS3.

Duke Nukem 3D — A bit slow, but playable. A much better alternative is running the Duke Nukem 3D source port for Linux (an RPM for it is on my downloads page — full version game data is required). I had to compile QEMU with Adlib soundcard support for sound to work properly, but maybe I just needed to install a Sound Blaster driver for DOS instead.

Rise of the Triad — Also a little slow but playable. There’s a source port for this one on www.icculus.org but it requires some work to get it running properly. I haven’t made an RPM for this one yet, but I intend to make one.

PokerStars client — Running on Windows 98 on QEMU. Slow to start up but was playable. I only tried this once at the request of someone else, so I don’t know if the latest version of the client still works on QEMU on PS3.

Blasteroids (DOS) — Runs fine if I recall correctly.

Diablo II — Almost! But too slow to be considered playable. I didn’t have any in-game sound, either.

Reference links:

http://www.wikihow.com/Create-an-ISO-File-in-Linux

How to: Install Windows 98 on your PS3 (Yellow Dog Community Board)

http://bellard.org/qemu/user-doc.html

[Edited 7-1-08:  Updated link to QEMU user-doc (site moved)]

I need a little help with setting the video-mode for a ps3 on fedora 9. When I’m in root and put in video-mode I can only choose 480p. And when you mention “video=ps3fb:mode:3 rhgb
(this section may look different depending on how you installed Fedora 9)” in your post on fedoraforum.org, Mine is different and that does not appear on the editor screen. Can you help??

Just wanted to say thanks for all the tutorials. I did this Opera one, and it worked great. I think I have a new favorite browser!
Thanks…..Mark

Hey Billb…Whats going on with the Yellow Dog Forum? Its been down for a few days now. Do you know whenit will be back up?

I installed port audio prior to snes9x-gtk as instructed, but I sitll get no sound. Help?

@dan, in snes9x-gtk, look in Options -> Preferences -> Sound and make sure your playback rate is 44100 or 48000 — I think it defaults to 32000 and that doesn’t work on the PS3.

hey bill. First time here and all of your tutorials and helpful links are the reason I can do all this from my couch. Thanks in advance. Anyway, I was tryin to get GTK 1.51 and Port audio. I tried installing the RPM for port audio and I keep getting an error at the end. I was hoping you could help me out. I get:

Error Resolving Dependencies

Unable to resolve dependencies for some packages selected for installation.
In the details Tab:

Missing Dependency: libjack.so.0 is needed by the package portaudio

thanks again for all your help.

@danb, I see — that is provided in the fedora-extras repo (fc6), so if you haven’t added the additional third-party repos as described here:

http://blogs.ydl.net/billb/2008/03/02/third-party-repos-for-ydl-6/

Then the installer won’t pick up the dependency. There may be other RPM packages I have made that require the third party repos as well. There’s a post on the YDL community board that describes them in more detail here, plus how to install software on YDL in general:

http://www.yellowdog-board.com/viewtopic.php?t=3017

Once you have them set up properly, the installer should pick up the dependency and add it automatically.

jack-audio-connection-kit.ppc 0.103.0-1.fc6 fedora-extras
Matched from:
libjack.so.0

Also, I have a new version of the portaudio rpm that I haven’t posted yet — here’s a direct link:

http://pleasantfiction.ipower.com/ps3linux/ps3bodega/portaudio-19-5.ppc.rpm

(still need to add the 3rd party repos first, at least fedora-extras anyway)

And when you have snes9x-gtk installed, look in Options -> Preferences -> Sound and make sure your playback rate is 44100 or 48000 — I think it defaults to 32000 and that doesn’t work on the PS3.

*
To prove you're a person (not a spam script), type the security word shown in the picture.

CAPTCHA