Glulxe 0.5.0 release; also CheapGlk, GlkTerm

I’ve just posted Glulxe 0.5.0 on my web site, and the unprocessed directory on the Archive.


  • Turned on memory-range checking in the default build. (Should have done this years ago.)
  • Fixed a bug where @setmemsize could crash an open char memory stream or char line input request.
  • Updated glkop.c to handle arrays of Glk objects. (This is needed to support glk_schannel_play_multi().)
  • Added hooks for the library to execute at startup and select time.
  • Added a hook which allows the library to get and pass on a game ID string.
  • Clean up all memory allocation when the VM exits.

The first three items are the important ones. The rest help support the iOS port, which most of you won’t care about.

The @setmemsize bug was actually a bug (or inadequate planning, which is to say, a bug) in glkop.c. This code is copied in Git, so Git shares the bug. Git will want to pick up (the equivalent) glkop.c changes at some point.

I’ve also posted 1.0.4 releases of GlkTerm and CheapGlk. These are updated to handle the clarification of Blorb resource streams. The glk.h header is also updated slightly, to follow updates in the iOS port; this does not affect the behavior of non-iOS libraries.

Is the iOS version ready to play with by others?

David C.

It was usable a month ago (see ).

That was before iOS6 came out. I’ve tried it very briefly with the iOS6 SDK, and I ran into a couple of obvious problems, but I haven’t had time to look at them. For the moment, you should continue using the iOS5 SDK (Xcode 4.4) if you want to build IosGlulxe/IosFizmo apps.

Er whoops. I just realized that the source in that release still said “version 0.4.7”. I’ve posted an updated build, with the correct version number.

A new version of the Glulx interpreter Git is now out, 1.3.1. This includes the fixes for Glk dispatching described by Zarf for Glulxe 0.5.0. Source and Windows executable are available from the Archive:

Also released is the Windows build of Glulxe, available from here in the Archive:


Grr. I never ran the externalfile.ulx test with Glulxe 0.5.0. Turns out it’s broken! get_buffer_stream() calls totally don’t work.

This is a bug in the dispatch layer, so it may have been copied into Git as well.

I have pushed a fix to github. (One-line change to glkop.c.) I’ll do a 0.5.1 release tomorrow, after more thorough testing.