> I'm currently trying to step/debug through zork too see how they implemented the parsing, game state, and other such things, and it is really quite interesting.
FYI: Allen Garvin has a set of tools to generate annotated disassemblies of many of Infocom's games -- not just Zork I:
I believe the hardware version traps to the OS for the aread instruction which then executes a bunch of low-level instructions to do IO and parsing.
You could start by making a CPU that traps to the OS for every single instruction (except for some minimal core), and then incrementally implement hardware versions to speed up execution.
I've considered trying to do a hardware implementation, but concluded it is beyond my skill. Some things like user input can be complicated. It is the interpreter's job to split the input on a program-defined set of delimiters, look up each token in a dictionary provided by the program, and copy a variable number of specified values it finds base on that info into other locations. That's really complicated for a single instruction, and makes it pretty apparent to me that their target from the beginning was interpreters, not any kind of special hardware.
Nevertheless, its an awesome project, and a really fun thought experiment. I'd love to see a physical version of something like this from 74xx chips.