Boxer

Developer diary: plans and progress reports.

I welcome our new Bethesda overlords (another beta) Thursday 16th July 2009

Hot on the heels of my previous abortive attempt to make Daggerfall installation easier, here’s Boxer beta 0.86-20090718-1. This time I’ve got it right, I promise.

So without further ado

You can play Daggerfall with Boxer thusly:

  1. Download Boxer and put it wherever you like on your Mac (replace any older copy with it). If this is your first time using Boxer, start it up once to let it set up its stuff.

  2. Download Daggerfall from Bethesda’s website. Once it finishes, doubleclick on the downloaded archive (DFInstall.zip) to extract it, if Safari hasn’t already done so. (It may take you several tries to download–it kept getting cut off halfway for me, leaving me with a broken archive. The final filesize should be 148.7 MB.)

  3. Drag the extracted DFInstall folder onto Boxer’s “Drop games here to install them” droplet. Daggerfall’s installer will now start up.

  4. Tell the installer to install the game to your hard drive, and agree to all the default options. Once the sound-card selection screen comes up, tell it to auto-detect your digital soundcard and then choose ‘MPU-401’ (with the default port) as your MIDI card so that you’ll get music.

  5. Once the game has finished installing, close the DOS window. We could start playing the game already, but we really should patch it first. We’ll get there, I promise.

  6. Boxer will now tidy up the installation, and ask if you’d like it to make the game’s installation files into a fake CD for the game:

    Choose to “Make a fake CD”: this will keep the game happy when it checks for a Daggerfall CD at startup.

Congratulations!

Daggerfall is now fully installed into a nice tidy Daggerfall gamebox in your DOS Games folder. It’s named DFCD right now, but you could rename it to Daggerfall or whatever you like.

That was easy, I hear you thinking. It’s already done, and I still have time to watch TV or do some sewing.

But wait, we’re not quite done yet!

You see, when it was first released, Daggerfall was just a collection of monstrous game-ruining bugs, and it needs updating to be worth playing. Fortunately though, Bethesda have included the latest Daggerfall patch in with the stuff you downloaded. So to update the game:

  1. Right-click on your Daggerfall gamebox and choose "Show package contents": a Finder window will come up, showing you what’s inside the gamebox. Open up the DAGGER folder that you’ll see inside.

  2. In the original Bethesda stuff you downloaded (in the DFInstall/DAGGER folder) you’ll find a program called DAG213.EXE: this is the patch we need. Drag DAG213.EXE into the DAGGER folder inside the gamebox.

  3. Double-click on DAG213.EXE: the patch program will now start up in DOS. Answer yes whenever the patch asks you something.

  4. Once the patch finishes, you can type DAGGER to play the game (or just close the DOS window.)

That’s it (really this time)

Daggerfall is now as up-to-date as it will ever be, and is ready for you to play in earnest. From now on, you can just doubleclick on your Daggerfall gamebox to play the game. The first time you do, Boxer will ask which of the game’s programs you want to run: choose DAGGER.EXE, and Boxer will never bother you again.

Feel free to trash the files you downloaded from Bethesda, as they’re no longer needed. If you like, give the gamebox to your Mac-loving Boxer-having friends so they’ll be able to play Daggerfall too, without needing to install or patch the damn thing themselves.

Have fun assigning those skill points!

Bonus step

Read Bethesda’s 21-step instructions for running Daggerfall in DOSBox. Marvel at all the things you didn’t have to do.

Commentary

  1. Thanks Alun!

    I've been having some trouble getting certain Blizzard games to work in Boxer, however. Can you help me regarding Warcraft: Orcs & Humans, Warcraft II: Tides of Darkness, and Warcraft II: Beyond The Dark Portal (specifically how I can get the DOS version to show up on the Mac without having to run Parallels, so I can reinstall both Warcraft & Warcraft II at some point in the future)? Thanks!

    BJ

  2. BJ, I'm not sure what you mean by getting the DOS version to show up? I have an original CD of Warcraft II and it appears, installs and play just fine.

  3. I mean because the Warcraft II CD is both PC AND Mac-compatible (I have original CDs myself), and I think the PC one is hidden somewhere. When I insert it into my Mac, the Mac OS Classic version comes up. Is there a way to fix that?

    BJ

  4. Ahh right, good question! I don't have a hybrid Mac/MS-DOS CD here to test with right now, but here’s an old forum post that might give a solution.

    (It’s possible that Boxer could help with this in future, e.g. by detecting when you drag a hybrid CD onto the game installer, then trying to mount the ISO 9660 part and installing that instead. I'll see if I can get my hands on a hybrid CD to test.)

  5. the 2nd and 3rd methods on that forum post are completely bogus, as far as I know. (#3 worked in Mac OS 9, I think. But definitely not in Mac OS X, or at least not in 10.5.7)

    method 1 works, if you use "mount_cd9660" instead of "mount_iso9660" (at least on Leopard the command is mount_cd9960)

    note that you'll then have to unmount it with "umount" before you can eject it.

    1. I insert the disk.

    2. The HFS+ partition is automatically mounted for me.

    3. The command "diskutil list" shows it as disk3, with the HFS+ volume on disk3s1s2:

      
      $ diskutil list
      ... [other disks removed for brevity] ...
      /dev/disk3
                             TYPE NAME                    SIZE       IDENTIFIER
      0:        CD_partition_scheme                        *795.2 Mi   disk3
      1:        Apple_partition_map                         31.5 Ki    disk3s1s1
      2:     Apple_partition_scheme                         692.5 Mi   disk3s1
      3:                  Apple_HFS cdrom                   689.9 Mi   disk3s1s2
      

    4. Running the "file" command on the raw device files (with the -s flag to force it to actually read from the device files) shows us that disk3s1 is the actual ISO9660 filesystem:

      
      $ file -s /dev/disk3*
      /dev/disk3:     data
      /dev/disk3s1:   ISO 9660 CD-ROM filesystem data 'CDROM'
      /dev/disk3s1s1: Apple Partition data block size: 0, first type: Apple_HFS, name: DiscRecording 4.0.5d1, number of blocks: 1412908,
      /dev/disk3s1s2: Macintosh HFS Extended version 4 data last mounted by: 'cerd', created: Wed Jul 15 15:44:19 2009, last modified: Wed Jul 15 15:44:19 2009, last backup: Wed Jul 15 15:44:19 2009, last checked: Wed Jul 15 15:44:19 2009, block size: 2048, number of blocks: 353227, free blocks: 0
      

    5. diskutil will refuse to mount disk3s1, so don't even bother. (it'll just give you weird "failed to mount" errors) I think you could get diskutil to do it in older versions of Mac OS X, but the Leopard version steadfastly refuses to do so.

    6. Use mount_cd9660, or just a plain old call to mount (remembering to tell it the filesystem type) and it'll mount fine:

      
      $ mkdir /tmp/foo
      $ mount -t cd9660 /dev/disk3s1 /tmp/foo
      $ mount | grep disk3s1
      /dev/disk3s1 on /private/tmp/foo (cd9660, local, nodev, nosuid, read-only, mounted by tim)
      

    7. remember to unmount it when you're done:

      
      $ umount /tmp/foo
      

    if you want to test this, but don't have a hybrid disk, just burn a CD-R using the Finder. It'll make a hybrid disk for you. (so will drutil. and hdiutil can make a hybrid disk image)

  6. ugh. the comment form completely hosed my formatting. oh well.

  7. Thanks a mill Tim! I'll try those methods when I come across those CDs again (in about a week and a half)!

    BJ

  8. Hmm, Daggerfall? I have never heard of that game before >.< Guess I was busy playing SimCity 2000 or SimTower (or all the other games from Maxis pre 2000) anyway, I'm posting here to ask if there are any other fixes/features in this beta except the Daggerfall fix ?

  9. Thanks very much for that post Tim! I've edited your comment to inject some tags that fix the formatting. This will also serve as a useful basis for automatic code in Boxer if I decide to go down this road. I'm surprised there's no easier way to do it, and this way is too advanced for users unfamiliar with the Terminal, so I'll probably have a crack at implementing it.

    Jef: there's a general behaviour tweak wherein Boxer will now always ask you if you'd like to import the original installation files, after you've installed a game from a folder. This is now consistent with how it always asks if you'd like to import a CD after installing a game from it.

    (In previous versions, Boxer would try to guess whether the installation files were still needed based on how big the game package was compared to the installation folder. This was too unpredictable, gave no feedback on what was happening, and missed the obvious case where a game requires a 'fake' CD regardless of its install size—which is what happened with Daggerfall.)

  10. On further investigation, exposing the DOS part of a hybrid CD might not be a problem Boxer can solve without a lot of heartache. The filesystem of a hybrid CD appears the same as any Mac-formatted disk, which makes heuristics for detecting hybrid CDs difficult and fraught with potential false positives. And if Boxer crashes or quits unexpectedly before it gets around to unmounting the ISO-9660 part of the disk, then you are left with an unejectable CD :/

    Given that this problem really only applies to a subset of Blizzard's DOS-era releases, I don't think that such an unreliable solution would be worth implementing.

Design by 40watt.