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
9 Likes

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.




306314-beyond-zork-the-coconut-of-quendor-atari-st-screenshot-following

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.

4 Likes

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.

2 Likes

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!

5 Likes

Ooh, good list.

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

2 Likes

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.

3 Likes

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,
Joe

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

I recently bought a 2014 iMac that can run Big Sur (Mac OS 11.6.8) so I needed to find a Z-code interpreter that is compatible with the newer OSs. What I found, to my delight, was Yazmin.

Right at the moment, I’m testing Z-code files for the Macintosh Garden website, specifically for an unusual Commodore cassette-tape (!!!) port of Zork I + II called Mini-Zork.

One of the early prototypes for Mini-Zork I (from 1982) was incomplete and buggy, so it crashed horribly. However, it did the same thing with other Z-code interpreters, so Yazmin isn’t at fault.

After that failed attempt, I just finished playing the final r34 version (from 1988) and everything worked perfectly.

However, I did notice that the location descriptions were riddled with extra spaces, probably from Commodore-related hard-wraps. It wasn’t a big deal, but I thought maybe an AI filter could be made (someday) that looks at chunks of text to see if the spacing and formatting makes sense, and maybe (at least) cleans up sporadic space-character fills. (It’s just an idea.)

Otherwise, I’m eager for the development of this software product to continue. Z-code files are such an important part of the computer-game legacy that it’s essential to have modern tools (so everything doesn’t have to be imported into and run in classic emulators). I love my vMac/Basilisk/SheepShaver soup just as much as the other vintage-Mac gamers, but it’s also relaxing to be able to use legacy-oriented software on my everyday computing machine.

Keep up the good work! :slight_smile:

CW

1 Like

I’ve never seen any extra spaces in Mini-Zork I. Do you have an example from early on in the game?

Oh! I think you’re right. It was a false memory. Before playing the r34 version, I had just played the r2 version (which does have extra spaces), and that memory stuck in my mind. It appears as though the text was cleaned up by the r34 release. Sorry for the confusion!

1 Like