A downloadable game

Download NowName your own price

Overview:

M4ZVM is a TRS-80 Model 4 (128K recommended) Infocom/Inform/Z-machine game virtual machine, allowing you to play more modern Infocom and compatible games than ever before, as well as other fun novelty games - some even real-time. 
To make it easier, I've included some sample boot disks to demonstrate some of the newer games playable on various TRS-80 model III/4 configurations. Instructions on these disks are below.
It can run v1-v8* inform format interactive fiction game files including Infocom and post-Infocom era story game files.
This software is built to run on TRSDOS 6.2 or LS-DOS 6.3.x
Included in the download section are the Model 1 & Model 3 versions which require 48K and can run on LDOS or NewDos80/86/90.
**NOTE for REAL HARDWARE**
While this software is intended to and does run on real hardware, it is possible that some newer post-Infocom games, using a real floppy disk drive where the game does not load entirely in to memory, are written in a way that causes the drive to seek quite a lot. If you are concerned, try it on an emulator first or use your judgement
Written by Shawn Sijnstra (c) 2021-3 under GPLv2

Boot disk usage instructions

  • Download the disk image for your platform configuration - 180k or 360k image for model III or 4

The provided boot disks are playable already with the game named in the file name. e.g. M4ZVM 360 BeyondZork.DSK is pre-configured to boot and play Beyond Zork on a 128k TRS-80 Model 4 fitted with a 360k drive. If you want to play other games:

  • Download the game file you want to play (see below for suggested locations)
  • Rename the game file to story.dat
  • Replace the story.dat file on the downloaded image using TRSTools or similar
  • Boot the disk and enjoy!

Where to get games from:

There are many places on the internet to get the game files from, including:

Full details, credits, and source code

For more details and latest on everything, head over to the M4ZVM gitlab repository

 Feature detail:

Supports the core features needed including
* v1, v2, v3, v4, v5, v6, v7 and v8 games can execute
* Named game save and load
* Timed input (to support game such as BorderZone as well as some non-adventure games)
* Transcript (printing)
* Reverse text highlighting, including when selected using colour changing codes
* Accented characters
* Fast execution of games (from Release 10, z3 games now execute faster than the original)
* Supports as much memory as your computer/drivers support (128k machine minimum)
  - e.g. An upgraded model 4 with 384K will load up to 320k games entirely into RAM
* Supports any valid Z-code 'Dynmem' dynamic memory size (i.e. up to 64k)
* 20KB Least-recently-used disk cache to minimise disk I/O
* 4KB z-machine stack size (over 100 call levels deep)
* Supports additional memory if driver is installed (XLR8er, Hypermem)
* Split window including full support for Seastalker
* arrows recongnised by game (some prompts now need shift-clear or shift-left to delete text such as Bureaucracy - this happens for character based input fields)
* F1,F2,F3, shift F1, shift F2, shift F3 map to F1-F6 for Beyond Zork shortcuts (type DEFINE within the game to set the shortcuts)
* Shift-Enter maps to ^ to support Bureaucracy
* Ctrl-A, Ctrl-F, Ctrl-G, Ctrl-H to edit via cursor left, cursor right, delete, backspace shift-left and shift-right also move the cursor left and right during line input
* Built-in z-code debug feature (see debug source file - can enable at any time by enabling the "trace" byte)
* command-line switch to optionally enable the infamous "Tandy bit". This will tweak the messages and the copyright block of most z3 games
For release by release update technical details, check out the Changelog in the Gitlab site

 Classic Infocom Compatibility guide

Beyond the rich variety of working post-Infocom games referred to above such as
 PunyInform games, this list gives a guide on which classic Infocom games can
 now be played on which TRS-80 model. Anything listed from z4 onwards is what
 is totally new to the TRS-80 as a result of this software.
               Model I/III  Model 4 (64k)  Model 4 (128k)
z1 release:
original zork 1        y          y             y
z3 (standard) series:
all standard series    y(sonar*)  y             y
z4 (plus) series:
bureaucracy           -(screen*)  y             y
Trinity               -           -             y
Nord and Bert        y(narrow)    y             y
AMFV                  -           -             y
z5 series:
Sherlock              y           y             y
Beyond Zork        -(screen*)     y             y
Border Zone           y           y             y
ZTUU                  y           y             y
invisiclues        y(cosmetic)    y             y
z6 series (graphics):
Arthur                *           *             *
Shogun                *           *             *
Journey               -           -        - (requires graphics)
Zork 0                -           -        - (requires graphics)
Unreleased z6 series (text only): 
Restaurant            y           y             y
German Zork 1         y*          y             y
more details on what these mean are available on the source code page linked above.

 Limitations and known bugs:

* Large and complex .z8 & .z5 games can execute slowly, especially if they use the inform7  compiler or use the interpreter in a way that exceeds the compute power of 8 bits.
The easiest rough guide is that post-infocom games are much more likely to run well if compiled using Inform6, especially the PunyInform library. Inform7 games are likely to  be too complex.
* WARNING and Special note for *Inform 7* compiled games: The Inform 7 library is designed to use the stack a lot more than either Inform 6 or any of the genuine Infocom games. This means that even if an Inform 7 compiled game loads, and you are patient enough to wait for your next turn, as the game develops it may reach a point where the game runs out of stack and you can no longer progress that story. This would be disappointing to say the least.
* z6 support is very minimal and largely proof of concept only. The main games which are playable are Arthur and Shogun, noting the graphics and graphic puzzles are not supported. Unreleased games such as the German version of Zork I and Restaurant at the End of the Universe also work.
* Other highlighting techniques not supported (italic, bold)
* Only one font (font 2 and font 3 not supported)
* Accented characters supported within hardware limitations, a default M4 and a default M4p mapping is included. Remaps characters outside of the font to make them displayable.
* Sound, graphics not supported (although tempted to look at HR graphics support for splash)
* No support for Undo (note that M4ZVM correctly reports this)
* No Colour or greyscale (just for completeness)
* Upper window does not auto-expand
* M1/M3 versions have smaller screen dimensions (64x16), and no F keys
* M1 does not support accented characters

Download

Download NowName your own price

Click download now to get access to the following files:

M4ZVM/CMD TRS-80 executable (128k required)
External
M4ZVM64/CMD TRS-80 executable 64K version
External
M3ZVM/CMD
External
M1ZVM/CMD
External
M3ZVM 180 princesse.dsk (Model 3, 40 track single sided drive, bootable) 188 kB
M3ZVM 180 ztuu.dsk (Model 3, 40 track single sided drive, bootable) 188 kB
M3ZVM 360 Sherlock.DSK (Model 3, 40 track double sided drive, bootable) 500 kB
M4ZVM 360 BeyondZork.DSK (Model 4 128K, 40 track double sided drive, bootable) 500 kB
M4ZVM 360 Bureaucracy.DSK (Model 4 128K, 40 track double sided drive, bootable) 500 kB
M4ZVM 360 Trinity.DSK (Model 4 128K, 40 track double sided drive, bootable) 500 kB
M4ZVM64 180 Princesse.dsk French (Model 4 64K, 40 track single sided drive, boot 250 kB
M4ZVM64 180 ZTUU.dsk (Model 4 64K, 40 track single sided drive, bootable) 250 kB
M4ZVM64 180_gold.dsk No Game (Model 4 64K, 40 track single sided drive, bootable 250 kB

Development log

Leave a comment

Log in with itch.io to leave a comment.