Following Zarf pushing out the Glk 0.7.3 spec and Glulxe 0.4.7, there are related new versions of the following:
Git (Iain Merrick’s fast Glulx interpreter) 1.2.9, which includes several corrections that follow similar fixes in Glulxe 0.4.7, notably a long-standing bug in the dispatch later.
Windows Glk library 1.43, which supports all the new sound functions in the Glk 0.7.3 specification.
As Zarf released the Glk 0.7.4 spec a little while ago, there are related new versions of the following:
Git (Iain Merrick’s fast Glulx interpreter) 1.3.0, which fixes a bug in the dispatch layer, and a bug to do with the memory heap when restoring a saved game.
Windows Glk library 1.44, which supports all the new functionality in the Glk 0.7.4 specification.
A new release of the Glulx interpreter Git, version 1.3.4, is out. This doesn’t add any new features, but it does include some nifty performance improvements from Peter De Wachter, which speed it up by about 15%, according to my tests.
Wow, that’s cool! Just out of curiosity, how were those performance improvements achieved?
(Ah, just found the code on GitHub - faster binary search, or at least tailor-made for each architecture? or is it for different data structures?)
@mulehollandaise I don’t think the binary searches are used very often, so I’d guess the performance improvements come from joining the memory arrays together and adding the noreturn tag to the memory error functions.
I’ve got some reports from players saying lates version of Windows Glulxe reports writing to ROM when playing old Superglus games. I’ve checked your Makefile and I see the proper option set so I don’t really know what’s happening, but something must be wrong.
Please if you have time to check, this game will fail as soon as you type any order (you’d have to press some keys to skip the presentation first).
Thanks. Players affected have located and old version and are using it, but it would be nice if future versions may allow playing that game.
Hmmm… the message shown is something like ‘write to read only address (0)’, so it’s the same address (bug coming from Glulxa assembler converting unknown labels to value 0 without any warning), but If I recall properly your changes were applied when some specific opcode was writing to ROM, not in any case, weren’t them? Maybe we’ve run into another opcode doing the same in this case.
I’ve raised an issue for Glulxe for this: https://github.com/erkyrath/glulxe/issues/13, to which I’ve also added the simplest possible patch for it, that just adds the work-around to the @copy opcode.
I’ve also rebuilt Windows Glulxe with this patch: http://www.davidkinder.co.uk/tmp/WinGlulxe.zip, which seems to fix the game you’ve linked to, at least as far as I have tested it, which is not very far. It would be helpful if you and your users could give this a try and see if there are any other Superglus games that still don’t work.