Add compile-time option for paging Zcode from disk instead of reading the whole thing into memory. This will allow for better perfomance on low-memory machines.
Port Frotz to the PDP-10 mainframe and maybe PDP-11. Contingent on disk-paging.
Create a new GTK3 user interface to resemble the interface of Windows Frotz.
And now, here is the ChangeLog for Frotz 2.50:
Summary of changes between Frotz 2.44 and Frotz 2.50:
Frotz 2.50 was released on Tuesday November 12, 2019.
NEW FEATURES
Added UTF-8 input and output. Plain ASCII is still available.
Added -L option for restoring save file directly from the command line.
Added -R option for restricted read/write path.
Sound effects in AIFF, MOD, and OGG formats supported per the Blorb specs.
Sound driver selection is automated through the use of libao.
Allow for an alternative Blorb file to be specified on the command line.
BUG FIXES
Overhauled MacOS compilation.
Corrected problems with error handling.
Fixed a lot of unsafe strcpy() and strcat() calls.
Fixed numerous problems with portability to other flavors of Unix.
Fixed adaptive palette rendering for SDL.
Fixed scaling with manually specified window dimensions.
Fixed problem with unnecessary newlines with input timeouts.
Allow fontdir in .sfrotzrc to work relative to user’s home directory.
Fixed problem with memory allocation leading to crashes in DOS.
Fixed problem with DOS Frotz creating non-portable Quetzal files.
How about introducing the ability to trace Z-machine instruction execution, or track and report what portion of the code is actually executed?
[In fact, I have already injected my ugly tracing logic over frotz-2.50b2 source successfully—for personal consumption only—but having that feature “out of the box”, and coded by a real professional would be a nice perk. ]
A few months ago I noticed there is the source for a QT version of Frotz on IF archive for some ebook reader. Even though I know next to nothing about Qt I have managed to make it work on a desktop to some degree (only lightly tested). Would something like that be of interest?
It is gtk2 instead of gtk3, but there is grotz https://github.com/kevinboone/grotz. It looks like it has the adaptive palette issue that was fixed recently in sdl frotz, but it is fairly nice.
The PDP-11 port is a guess that will be addressed after the PDP-10 port. The PDP-10 port is already underway. So far, the Dumb interface works well. The next step there is to figure out how to port a curses library to the various PDP-10 operating systems. I don’t know how necessary disk paging will be to the PDP-10 port, but it would be a great help as it would for the DOS port.
Adam Thornton started the process with Dumb Frotz 2.32. A key concern for the process is that the C compilers available for TOPS20 and other PDP-10 operating systems are pre-ANSI. Another significant hurdle is the fact that the filesystems on these operating systems are limited to six characters plus a three character extension. Compare this to DOS’s 8.3 limitation. @adam wrote a script that massages the source code into a pre-ANSI state and renames the files to fit the 6.3 limitation. These files are put into a directory that is then uploaded to the PDP-10 whereupon cc -o frotz *.c produces frotz.exe.