So I just stumbled on Accessi Frotz by Nathan Tech. An accessible Frotz interpreter that uses Accessible_Output2 to interface with your screen reader. Works great for playing all those old Z Machine text adventures. How did I not know this was a thing?! www.nathantech.net/products/software/accessifrotz.php
@alpuzz It's kind of absurd, though, that the AccessiFrotz package, at 16 MB compressed or 39 MB uncompressed, is (depending on how you count) almost two orders of magnitude larger than the largest Z-machine game ever released (512 KB). Yes, the requirements of modern applications, including accessibility, have their unavoidable cost, but I think it's possible to do better. I'm not yet ready to take on the project of shipping a smaller accessible Z-machine interpreter UI myself though.
@alpuzz The original Infocom Z-machine interpreters were amazingly compact. The Infocom interpreters for Apple II and MS-DOS were both about 12 KB of machine code. True, the Apple II interpreter didn't work with Textalker, since that interpreter was booted directly without using Apple DOS (the only way to squeeze it onto a 140 KB floppy along with the story). But, if I'm not mistaken, the MS-DOS interpreter did work with DOS screen readers.
@matt@alpuzz But what does compact mean today? You can write a z-machine interpreter in pure JavaScript. It's tiny! But only because you're using the browser for accessibility and the user interface and everything else.
@fastfinge@alpuzz Fair point. The ideal that I aspire to, that I haven't yet been able to meet in any real product I've shipped, is to minimize both code size and dependencies, so the application is small and also doesn't depend on much beyond what's already loaded into RAM on the host platform, so it starts fast.
@matt@alpuzz So on Windows 11, Edge WebView is always loaded into ram, because a bunch of parts of the OS depend on it. So you get an entire free browser.