June 11, 2007
Emulating Wizardry I: Proving Grounds of the Mad Overlord on the GP2XNot too long ago, I wrote about my old-school CRPG party-based gaming obsession. Randomly coming across a version of Wizardry I-III for cell phones in Japan rekindled my interest, but sadly my cell phone "terminal" （端末） is not compatible so I can't play it. It was very aggravating, because I know that there is a chance to play Wizardry while I'm in the subway - which is usually about two hours a day.
Instead, I decided to look around, and found another great old game, Dragon Wars, playing that at home on a laptop is a bit too difficult to do frequently. When I get home I am tired, and usually just plop down for dinner and some tv before going to bed. Something that is portable would be very nice...
Since I started thinking about playing older CRPGs, I thought that the most likely approach would be to get a Sony PSP or Nintendo DS and look at the state of emulation on those consoles. I'm not really a Sony fan, since they have had problems in the past with excessive Digital Restrictions Management / Digitally Restricted Media / DRM in the past, and I know that they discourage people running homebrew software on the PSP by releasing firmware that makes it difficult to run unsigned code. Things seemed a bit better on the Nintendo DS, but still requires some hardware solutions for using SD cards, and certain versions won't boot run homebrew software.
Then I found the GP2X, an amazing little portable linux device that runs off of a regular SD card, has a very nice 320x240 screen, and two ARM processors at 200 MHz that can be clocked faster and slower. The system is open, supports homebrew out of the box, uses open source software as a base, and has a plethora of emulators available for it.
Read on for more information about my (successful!) quest to get Wizardry emulated on the GP2X.
First, I should admit that I was very excited about an open-source linux-based handheld gaming device and while I tried to hold back, I bought one. I went out to Akihabara last weekend, and picked one up from Akiba Garage, which actually had the units in stock. They sold them as a set, which actually worked out well for me because I wanted the TV-out cable, carrying case, and all that stuff anyway. They didn't have the GP2X cradle, which adds four USB ports, TV-out, and AC power, but I'll wait a while before picking one of those up. I'm excited for that because I plan to hook up a standard USB keyboard, plug the thing into my TV, and emulate a Apple //e or Amiga or whatever.
Once I had the GP2X in hand, the next task was to get Wizardry up and emulated. I figured that there were a couple of approaches to this, since the GP2X has a plethora of emulators, including a port of the MESS emulator that emulates the Apple //, //e, and //c family of computers. Installation is as simple as downloading the package, and copying over to your SD card in a directory of your choosing.
With the emulator in hand, the next stop is to pick up the disks to emulate Wizardry I: Proving Grounds of the Mad Overlord. Jim Hayes' excellent Wizardry site has a page on emulation with disks for the apple //e version available for download, as well as the NES, which is yet another option, since there is a GP2X emulator for the Nintendo Entertainment System also.
To start the gp2xmess emulator, you need to first download the appropriate BIOS for the machine that you want to emulate. The old Apple //e that I first learned to program on is sitting in my room back at home in Texas, but that doesn't really do me any good while I'm here in Tokyo. Luckily, over at emnuews.eu you can find many BIOS files. gp2xmess worked well with apple2e.zip, apple2c0.zip and apple2cp.zip. I'm not actually sure which version of the //c BIOS is being used, but they are small enough that putting both in the BIOS directory of gp2xmess doesn't hurt. Leave the files zipped, and you should be set. Navigate to your gp2xmess folder under the "Games" option of the GP2X, select one of the Apple // emulators (c is probably the best) and you are off!
Use the left shoulder button to access the emulator menu and select the boot.dsk file to load. Reset the system, and wow, just like I remembered it a strange wizard-like animation starts up. Sadly, the rest doesn't go so well: bringing up the virtual keyboard with the right shoulder button and typing a key leads to a blank screen. This really gave me a lot of trouble, and I was worried at first that I had a bad disk image. I booted up an emulator on my Mac, and sure enough, same thing. A bit of searching around on the net though, and it turns out that you have to write protect the boot disk before it will run! There aren't any useful messages or anything, just a black screen. Write protecting the disk worked though, and I was able to move on to character generation on the Mac emulator.
This poses a problem for the GP2X though: the emulator does not allow you to write protect the disks. I guess I could download the source code and try to add that feature, but it would probably take a week of my free time just to figure out where in the code that would have to go, and whether or not it is even possible. Maybe I'll just give up on the Apple // version of Wizardry, and see if I can't emulate another version.
So, that means I have to find out what other versions of Wizardry are out there. I've heard of versions of Wizardry for the Apple //, Commodore 64, MSX, NES, and PC. Of these, the NES version is supposed to have the best graphics and it would also be suited to use on a portable system. A little further digging turned up a SNES port of Wizardry I-III which has excellent graphics. Of course, the port is in Japanese, where it seems like party-based CRPGs were more popular than they were here in the states - it looks like there was even a Japanese port of Dragon Wars. Strange. Anyway, the SNES version sounds like more fun than the NES version, so a quick check shows that DrPocketSnes seems to be the most up-to-date of the SNES emulators, so I downloaded and installed that. Since the SNES Wizardry is a Japanese game, you might be interested in a translation of the game. Interestingly, most of the in-game text already has English translations that you can set using the Options menu from the game. There is also a fan-translation of the ROM that translates some other miscellaneous stuff in English, but since you need to run some windows-based ROM patching tools for that, and I'm quite lazy, I'll just run the Japanese version with the English settings. It is really amazing that fans go to the trouble to translate something from Japanese to English - that is a lot of work - and then even do it in ROMs. That makes it even harder.
Following the README for DrPocketSnes got that up and running fine, and Wizardry emulates just beautifully on it. I turned off the sound (since I plan to play on the subway) and dropped the CPU down to a 100 MHz clock, and everything works great.
Since I'm not planning on trying to drag around graph paper with me while I'm on the subway, I've collected some maps from around the web (which might or might not be accurate - but since I'm using the NES versions of the map I suspect that they are) and put them into a PDF formatted for 2-sided printing on an A4 sheet. You'll get all 10 maps for Wizardry 1, and a table showing the stats needed for each class.
CommentsProvide your email address when commenting and Gravatar will provide general portable avatars, and if you haven't signed up with them, a cute procedural avatar with their implementation of Shamus Young's Wavatars.
Comments have now been turned off for this post