Playing Infocom .z6 in iOS…

Hints appreciated here. I’ve never managed to successfully play any of the .z6 games (Arthur, Journey, Zork Zero, Shogun) with iOS Frotz, which is my preferred way to play. Could anyone provide some instructions?

Thank you!

Unfortunately, you’re out of luck.

iOS Frotz simply cannot play those games. This is a known bug in iOS Frotz, filed here.

The bug was filed in 2008, and there has been no work done on it since then. I predict that iOS Frotz will not fix this bug in the next ten years at least.

At IFWiki, we have a list of “Recommended Interpreters.” There are only two recommended interpreters for iOS, Frotz and ScummVM. Neither of them support Z6.

Indeed, we also keep a list of Z-code interpreters for all platforms https://www.ifwiki.org/Z-code_interpreters and while some of them can at least launch Z6 games, I believe none of them support their graphics and sounds.

That’s because the majority of interpreters for all platforms rely on Bocfel. https://cspiegel.github.io/bocfel/

Bocfel is an interpreter for the Z-machine. It fully supports versions 1-5, 7, and 8, and contains partial support for version 6.

There’s another fork of Frotz here David Griffith / frotz · GitLab that’s supposed to support V6 games, but I can’t get them to work on my macOS machine, and it isn’t designed to work on iOS at all.

I’ve filed a bug on that here.

2 Likes

That’s unfortunate but not surprising. Thank you for the thorough explanation!

Actually, it’s not quite as bad as I thought!

The bug I filed against Frotz was kinda my fault, because I’d just downloaded the Z6 files from The Obsessively Complete Infocom Catalog without noticing the dire warning in the “Some notes on the files” section about a quarter of the way down the page:

Games with sound (Sherlock, Lurking Horror) and graphics (most z6 games) may or may not include the media files in the source directory. The game files never include media. Even if present in the source, these files are probably not in a form that a modern interpreter can understand. See this page for portable versions of these media files.

David Griffith explained on the bug:

For each of the Infocom games that use audio or graphics, you need to download a corresponding Blorb file. They’re found at Index: if-archive/infocom/media/blorb. By default, Frotz will look for a Blorb file in the same directory as the game file matching the file name of the game file, but with an extension of .blb, .blorb, or .zblorb instead.

So, I downloaded Shogun.blb from the IF Archive, renamed it to shogun-r322-s890706.blb, and then I was able to run sfrotz shogun-r322-s890706.z6 and see the graphics.

I then launched it in ScummVM for macOS, and it promptly crashed. :slightly_frowning_face:

But I also tried it with arthur-r74-s890714.z6 and it worked, both in sfrotz and in ScummVM for macOS.

Here are the step-by-step instructions I followed to get Arthur running in ScummVM for macOS:

  1. Years ago, I installed Homebrew for macOS. https://brew.sh/
  2. I ran brew install frotz. Initially, it didn’t install sfrotz, which is the graphical version, so I had to brew install sdl2 to install that, too.
  3. I downloaded the latest version of Stationfall from the catalog, and ran sfrotz stationfall-r107-s870430.z3. That opened fine.
  4. I downloaded arthur-r74-s890714.z6 from the catalog, and Arthur.blb from https://ifarchive.org/indexes/if-archive/infocom/media/blorb/, and put them in the same folder.
  5. I renamed Arthur.blb to arthur-r74-s890714.blb
  6. I ran sfrotz arthur-r74-s890714.z6 and it worked.
  7. I opened ScummVM for macOS, and clicked the “Add game” button. I navigated to my arthur folder and clicked “Choose” to add it to my library. I clicked “OK” to confirm, and I clicked Start to begin playing.
  8. ScummVM printed out a warning: “WARNING: The game you are about to start is not yet fully supported by ScummVM. As such, it is likely to be unstable, and any saved game you make might not work in future versions of ScummVM.” I clicked “Start Anyway”.

And then, it worked!

Emboldened, I installed ScummVM for iOS. https://apps.apple.com/us/app/scummvm/id6446184412

ScummVM for iOS is pretty painful to use. You can either use the touchscreen in mouse mode or trackpad mode, and getting files into it is a pain, too. But it is documented here. iOS — ScummVM Documentation documentation

So, here’s how I got the files onto my phone:

  1. I installed ScummVM for iOS.
  2. I plugged my iPhone into my MacBook. I had to click “Trust” on the phone to get it to connect.
  3. On macOS, in Finder, in the Locations" section of the left pane, I clicked on my phone, and clicked “Trust” on that, too.
  4. I scrolled down to ScummVM and expanded its section.
  5. I dragged my arthur folder into the ScummVM section.
  6. On my phone, I clicked “Add Game” and navigated to the arthur folder I’d copied over from the Mac. The game added successfully.
  7. Then, I clicked “Start” to play, dismissed the warning, and I was soon playing Arthur on my phone.

My biggest complaint is that the font ScummVM uses for Z-code games is really hard to read.

I’m not sure it was worth it, but I feel some kinda sense of accomplishment from all of this.

8 Likes

I suggest you file a bug report on ScummVM regarding that crash. It seems like it assumed the file was there and then tried to open a nonexistent file. At a minimum it should have complained that it couldn’t find what it wanted. Frotz won’t crash like that (well, xfrotz will). I’m working on making it warn about a missing Blorb file.

Basically, if the game code attempts to draw something and no Blorb is loaded, a warning will be made. It shouldn’t be a fatal error because the games are still playable. The same goes for audio.

2 Likes

I filed the crashing bug as https://bugs.scummvm.org/ticket/15117

And I filed a bug that Shogun doesn’t work right in ScummVM for macOS as:
https://bugs.scummvm.org/ticket/15116

I rather doubt that ScummVM will be a good platform for playing Z-Code games for most players, due to issues like these:

https://bugs.scummvm.org/ticket/11519
https://bugs.scummvm.org/ticket/11520

I filed these issues four years ago, when ScummVM first added Glk support; nobody’s fixing them. And these issues are even worse for the Z6 games, where the font is illegibly blocky, as you can see in the screenshots above.

2 Likes

I’ve added documentation on IFWiki about how to play the four Z6 games on Windows and macOS.

I did not include instructions to play on ScummVM, because only Arthur seems to actually work, and even that, not well. If ScummVM ever gets around to fixing the bugs I filed, I might update the wiki to reflect that.

1 Like

Late reading this. Thanks for the detailed instructions and patience!

I took the long route: Basilisk II on my MacOS, running the LTOI versions, which I have on CD.
That works as well on the iPad (after a bit of compiling) and has the advantage(?) of running the native z-machine games, no interpreter needed.

But the process of compiling basilisk is clunky and not really ideal to use on the iPhone.

You’re still running a Z-machine interpreter – Infocom’s interpreter, which is embedded in the disk image! The advantage is that it’s very well-tested on that platform. :)

1 Like

True enough. As I said, it does bring out other issues, but it’s always rewarding when someone asks me how I’m running System 7 on my iPad…

Weeelll… It seems they forgot to implement one small feature in their DOS v6 interpreter. :slight_smile:

image

I didn’t see it myself at first, but the “A” in “Another” is supposed to be hidden:

	 <V-$REFRESH>
	 <CRLF>
	 <MARGINAL-PIC ,PROLOGUE-LETTER>
	 <DIROUT ,D-SCREEN-OFF>
	 <TELL "A"> ;"so transcript doesn't say NOTHER FRANTIC DAY..."
	 <DIROUT ,D-SCREEN-ON>
	 <TELL
"nother frantic day at the castle; Lord Dimwit Flathead the Excessive has
invited a few thousand friends over for dinner. Three hundred dragons have
been slaughtered for the occasion, and the kitchen is suffocated by the
stench of their roasting flesh.">
	 <CRLF>
	 <CLEAR-CRCNT> ;"in case illuminated letter is taller than intro"
	 <CRLF>
2 Likes

If you missed it, there’s a new option now: