Is there a reference implementation of the Z-Machine that folks would recommend? By reference implementation, I mean one that is about as feature complete relative to the 1.0 specification as possible.
This would mean it has to support all z-code versions: 1 through 6 for Infocom, 7 and 8 for Inform. (Supporting 1 and 2 is necessary for this regardless of their rarity. I have two Zork games that are both v1 and v2.) This implementation would have to support timed input. (This is something I find gets left off a lot.) This implementation would have to support the specific character handling with Beyond Zork and the real-time input of Border Zone.
I realize version 6 is a thorny topic all on its own so ideally a reference implementation is as complete as possible, being able to show the images on, say, Zork Zero.
The reason I’m asking about this is because there is a class that is considering using the Z-Machine as a practice for writing interpreters. A previous class did the CHIP-8 which is an extremely easy implementation to do and now there is a desire to level up. Key to those classes is having a specification and, ideally, a reference implementation of the specification, hence this question.