I’ve been working on and off with a tool for analyzing/unpacking the compiled z-machine story file information (think ztools). I’ve done it mostly for my own education and amusement but now feel that it maybe is time to release something for bug testing and suggestions for further development. There’s a lot of inconsistency how the information is presented and that’s because different parts where developed at different times (lately I spent an unreasonable amount of time on version 2 of the Infocom grammar format, a format hardly never used…) and I havn’t reallty decided what I think looks best
There’s lots of things that I want for the future, among, for example:
- Better information on the individual properties on objects.
- Unpack and identify arrays and their content, now in unidentified data areas.
- Better support for Dialog.
- Allow external symbol-file that names identified symbols (attributes, variables, routines, …).
- GUI that lets you click and follow addresses in, for example, z-code
Help page to wet the appetite:
UnZ 0.10 (2024-02-17) by Henrik Åsman, (c) 2021-2024
Usage: unz [option] [file]
Unpack Z-machine file format information.
-a Show the abbreviation sections.
-d Show the dictionary section.
-f Show all sections (default).
-g Show the grammar section.
--gametext Output only a'gametext.txt' format of all text in the file.
-h, --help, /? Show this help.
--hexdump Show raw hexdump before each section.
--hide Don't show the abbreviation insertion points in the strings.
-i Show the header section.
-m Show the memory map.
-o Show the objects sections.
-s Show the strings section.
--syntax 0/txd Use TXD default syntax for the z-code decompilation. (default)
1/inform Use Inform syntax for the z-code decompilation. (txd -a)
2/ZAP Use ZAP syntax for the z-code decompilation.
-u Show the unidentified sections.
-v Show the variable section.
-x Show miscellaneous other sections.
-z Show the z-code section.
-z <hexaddress> Show the single decompiled z-code routine at <hexaddress>
Report bugs/suggestions to: heasm66@gmail.com
UnZ homepage: https://github.com/heasm66/UnZ
There are precompiled binaries for win-x64, linux-x64 and osx-x64 here.
The source code is a palimpsest of different iterations and testcode and nothing for the weak minded, visit the GitHub-page at your own risk, you have been warned.
Report bugs/suggestions here, via email or as an issue at the project page.