I don’t believe that is true, modern MMBasics use a hash table for variable lookup rather than a linear search through a list in declared order. I wouldn’t make that change anyway; at some point readability/maintainability concerns trump speed. You can get some speedup by crunching variable names (at the expense of readability) but the real gain will be if/when I switch the code to use SELECT CASE
instead of IF ... THEN ... ELSIF ... ENDIF
- the original target version of MMBasic didn’t have SELECT CASE
.
Yes that would be something I would look at early if I spend any more time enhancing Z-MIM.
Excluding the use of AI that is somewhat of a non-starter.
Z-MIM is an interpreter for the Z-machine, it is agnostic of the content being executed - I believe there is even a C compiler that can generate Z-machine code.
What you are proposing requires:
- Extend Z-machine specification and implementation with audio support - I think later versions of the Z-machine specification have some but I know nothing about it.
- Find/Create/Extend ZIL (Zork Implementation Language) tooling to compile new language to make use of audio support.
- Find original ZIL source code for each adventure you want to add sound to and update it to use new audio support.
Not in this lifetime, not for all the coffee in Starbucks .
Best wishes,
Tom