Yazmin, a Z-machine Interpreter for macOS

I’m looking for a few beta testers for Yazmin, my macOS-based Z-machine interpreter, which can be downloaded from the Yazmin Releases page.

[EDIT: Latest releases can be found at: https://github.com/dcsch/yazmin/releases]

Note that this is targeting very recent version of macOS, specifically 10.14 (Mojave) and 10.15 (Catalina). And yes, it is Z-machine only (excluding v6). The release build is notarized.

Features include:

  • macOS 10.14 or greater required
    • Dark-mode support
  • Plays Z-code story files v1 to v8 (except v6)
  • Management of story library
    • Handles zblorb file format and iFiction metadata, including cover art
    • Updates metadata and cover art from IFDB
    • Metadata editing
    • Reset metadata to original blorb version
  • Font preferences
  • Z-machine feature support:
    • Color
    • Sound effects
    • Timed input
    • Formatted text
    • Multi undo
    • Unicode
    • Quetzal-format saved games
    • Transcript
    • Command files

I’d be glad to test it out. I’m running Mojave right now, still waiting to hear how others do on Catalina :slight_smile:.

Are there specific areas or IF works that you want tested or do you just want people to use it in the usual way?

Excellent work!

Like many other interpreters, it has problems with the application form at the beginning of Bureaucracy. There is some incorrectly placed text visible behind it, and there is no visible cursor for the text entry.

Freefall has a grey lower windows that goes away when the space key (for drop) is pressed for the first time.

A similar white lower window is seen on the title screen of Beyond Zork. Also, while it impressively seems to auto-detect and use my installed graphical font for Beyond Zork (from here) it seems to have a problem with spacing. I included a screenshot from the Amiga interpreter for comparison.


1 Like

This is fantastic feedback, thank you.

1 Like

@lkcampbell, while I’d love to say that it’s ready for general use (and if you’re brave I’d certainly encourage that), perhaps it would be best to try out with works that you’re familiar with and know has had particular problems in the past.
Feel free to log any problems, and suggestions, in the Issue Tracker—otherwise just post them here and I’ll gather them up gratefully.

A new release of Yazmin is available, with some of the smaller (and more annoying) bugs fixed. It can be downloaded from the Yazmin Releases page.

Many thanks to @Angstsmurf and @lkcampbell for the bug reports—they have been invaluable.

1 Like

I’m downloading it now, I’m happy to post some comments.

1 Like

A new release of Yazmin, 1.0 beta 5, is available from the releases page. Bug fixes include:

  • #11 The Mad Bomber is always auto firing
  • #12 Russian Spider and Web prints invalid ZSCII
  • #13 Problems with non ASCII characters - Dialog
  • #14 Single and double quotes shouldn’t automatically change to smart quotes

Thanks again to @Angstsmurf, @lkcampbell, and @Mikawa for the bug reports.


Umlauts in Dialog work fine now. Thank you very much.

1 Like

A new release of Yazmin, 1.0 RC 1, is available from the releases page. Bug fixes include:

  • #4 Incorrectly placed text in Bureaucracy
  • #15 Problem printing out em dash
  • #16 Quote text box blocks game text

If no major bugs are discovered within the next couple of weeks then this version will graduate to be a full release and submitted to the App Store. Thanks to everyone who has tested these beta releases, and to @Angstsmurf, @lkcampbell, and @Mikawa for filing issues, the solving of which certainly deepened my understanding of the Z-machine.


From someone who has recently fallen into pretty much every possible trap in the Z-machine specification: Things you may want to test:

  • Timed input in Border Zone

  • Time statusline - when dropping the watch at the beginning of Cutthroats it was the author’s intention that the statusline should read 99:99 PM

  • Setting the sonarscope to auto in Seastalker. This is the only z3 game I know of which uses the upper window. Also note that z3 has the statusline + lower window + upper window, so three windows.

  • Playing the Dialog game Tethered puts the catch/throw mechanism to the test.

  • Typing a word that is not in the vocabulary in Sherlock. Do it ten times, since there are some different replies to see. This tests print_table in a context where buffered output is used.

  • Printing some text at the beginning of a line, waiting for a character from the keyboard (which should flush the output buffer) and then printing a long line of text, so that buffered output starts when the cursor is not in the leftmost column.

  • Of course, the wonderful test suites like Praxix, Czech and Etude.

  • Output and input of accented characters and games with custom alphabets. I.e. you start Drakmagi (Swedish game) and check that the statusbar says you are in “Äng”. Type (or copy+paste) “GÅ IN” (Caps!) and this should change the location to “Stuga”. Then type “Z” (Capital Z!) and you should get the reply “Du väntar.”. Then type “undersök” and you should get ‘Jag antar att du menar “undersök något”, men vad?’ This tests that accented characters work in both input and output, that modified alphabet tables work, that the terp can downcase input even if uppercase and lowecase letters are not in the default locations in the alphabet table, and that the terp can print characters from the input buffer back to the screen and get them right.

Best of luck!


Ooh, good list.

Also: test the quote boxes in both Trinity and Curses.


Some major bugs were found, and subsequently fixed, so new release of Yazmin, 1.0 RC 2, is available now from the releases page. Bug fixes include:

  • #17 Some monospaced fonts break at 14 points
  • #18 Cutthroats status line should read 99:99 PM when watch dropped
  • #19 Trinity hang when restarting with two quote boxes and Do not remove
  • #20 Sonarscope display in Seastalker not updating correctly

I’ll tempt fate again and declare that if no major bugs are discovered with this version, it will graduate to become a full release and submitted to the App Store.

Thanks to everyone who has tested these beta releases, and to @Angstsmurf, @lkcampbell, and @Mikawa for filing issues. Thanks to @fredrik for your excellent list of things to test.


Hi David (and everyone). I just found Yasmin today, when I signed up for this forum, but I love it so far. I too was very impressed that it detected the Beyond Zork font, with no action needed on my part (other than having installed it previously).

I did notice that in the opening of Bureaucracy, when filling out the license application, strange spacing issues appeared when I pressed the cursor up/down keys, although pressing delete afterwards would “fix” it again. If screenshots or a screen recording would be helpful, let me know.

Any plans to add the ability to change the font color in addition to the font itself? I prefer to play IF with a green font on a black background, for that nostalgia look. I appreciate the support for dark mode.

Keep up the great work,

1 Like

Thanks Joe, I appreciate the feedback, and especially the bug report. I’ve managed to reproduce what I think you’re seeing: cursor up/down appears to remove spaces and the right-hand-side border shifts left on that line. I’ll add it to the list.

I will be adding custom colors for the next version, which should be hot on the heels of this 1.0 release once I actually get it out the door.

1 Like

Sounds like you’re able to reproduce the Bureaucracy issue. Hardly a big deal, but I can definitely imagine a first-time player trying to use the arrow keys to change fields.

Looking forward to the color option, and to following your great work on this program!

1 Like