mirror of
https://github.com/erkyrath/infocom-zcode-terps.git
synced 2026-01-11 23:43:24 +00:00
33 lines
1.3 KiB
Plaintext
33 lines
1.3 KiB
Plaintext
|
|
For the Macintosh II to become the primary development and
|
|
testing machine, it would be nice to have a single executable for the
|
|
interpreter that runs all ZIP, EZIP, and XZIP games (plus any future
|
|
flavors). This program would also implement a virtual debugger, like
|
|
ZDDT. Size and speed are not expected to be limitations.
|
|
|
|
When a game is shipped it would be nice to have a tighter
|
|
executable, without superfluous code or the debugger. Size and speed
|
|
on lesser Macintoshes might be a consideration.
|
|
|
|
To achieve the first goal:
|
|
|
|
() The instruction decoding section can include multiple
|
|
dispatch tables. This allows for clean migration of opcodes and
|
|
detection of illegal operations in context.
|
|
|
|
() Individual operators can be shared when possible (e.g. only
|
|
one ADD routine is required) and separated into several flavors when
|
|
the differences are great enough (e.g. for byte- vs. word-oriented
|
|
object operations).
|
|
|
|
() Cases of lesser operator differences can be handled by run-time
|
|
branching, ZIP20 style (e.g. the version display in VERIFY).
|
|
|
|
To achieve the second goal:
|
|
|
|
() Conditional compilation/assembly directives can be used
|
|
judiciously throughout the source, allowing the shippable version of
|
|
a given interpreter to be built based on the state of a handful of
|
|
flags.
|
|
|