#zmachine

Shawn Sijnstrasijnstra@hachyderm.io
2025-05-31

The Grundy #NewBrain was an interesting #z80 based machine from 1982. One of its more remarkable features was a built-in single line display in addition to the video out, allowing for some portable use. The machine was targeted at business use and didn't get a large amount of platform specific software. It ran a version of #CP/M 2.2 with an efficient implementation giving it a large TPA. The platform also supports inverse characters, although without a specific control code to toggle so I need to manually track reverse character mode and toggle the top bit accordingly. With some gymnastics in memory management, a 50Hz timer is available, allowing me to count the ticks for the 10Hz timer expected by a full featured #Zmachine
Now that it's properly tested and running, you can download the latest addition to the #Vezza family from gitlab.com/sijnstra1/vezza and if you are curious about the NewBrain you can get the emulator and other info from newbrainemu.eu/new/

I've attached screenshots of the Bomber game in action, as well as the #Infocom classic A Mind Forever Voyaging.

Grundy NewBrain emulator playing the Infocom classic A Mind Forever Voyaging.Grundy NewBrain emulator playing bomber real time interactive z-machine game.
Shawn Sijnstrasijnstra@hachyderm.io
2025-05-31

While porting #Vezza for another #z80 platform (the Grundy #NewBrain), I noticed that there was an issue with the timer routine for the #MSX version. It turns out that the code was in there for the MSX version was using the MSX clock, however, it was not calculating the time properly, The MSX has a fine-grained timer which allows me to measure the time to the nearest 0.1 second as required for the #Zmachine standard. This makes the MSX version one of the few that I have written which supports the full fine-grained time requirement.

While for normal text adventures, this timer resolution might not make much difference, some of the fun post-#Infocom games, this distinction is used. One of the games that I've tested which works properly now is the `bomber.z5`, a real time game where you need to drop bombs from the plane to create a flat landing for your plane. Check the screenshot below for the action! Download the latest from sijnstra.itch.io/vezza
#retrogaming #retrocomputing

Screenshot of MSXBlue running the real time z-machine game bomber.z5 on Vezza.
2025-05-16

Seit ich weniger Zeit im Internet verbringe (oder sagen wir mal, weniger im "Surface Web" und mehr in den Katakomben darunter) habe ich deutlich mehr geistigen Freiraum und "verschwende" deutlich weniger Zeit mit sinnlosem Medienkonsum...

... allerdings buddele ich mich auch immer wieder extrem tief in diverse Kaninchenbaue hinein, derzeit ganz besonders in das gigantische Paralleluniversum der Z-Machine. Für die uneingeweihten: Das ist der VM Unterbau unter #zork

Mal schauen was daraus wird, jedenfalls lese ich gerade

"Learning ZIL
- or -
Everything You Always Wanted to Know
About Writing Interactive Fiction
But Couldn't Find Anyone Still Working Here to Ask"

archive.org/details/Learning_Z

Am Wochenende, wenn Junior es zulässt werde ich mal anfangen ein wenig damit herumzuexperimentieren...

#zmachine

Shawn Sijnstrasijnstra@hachyderm.io
2025-05-04

Back to fun platforms to port my #Vezza #Infocom #Zmachine interpreter - this time it's the Enterprise 128. A 4MHz #z80 machine from the mid 80s, it has a great emulator, and a bespoke DOS known as IS-DOS, with a lot of compatibility with both CP/M 2.2 and #MSXDOS. While it needed quite some tweaking, a lot of the heavy lifting was done with my original #MSX version before it was optimised. As I understand, the #Enterprise128 didn't have a great library of games for it, so hoping this helps! Get it while it's hot at gitlab.com/sijnstra1/vezza Screenshots are the IS-DOS 1.0 version running Border Zone, and the IS-DOS 1.1a version running Beyond #Zork.

Shawn Sijnstrasijnstra@hachyderm.io
2025-04-28

Another wet weekend, another #Vezza release! I was asked to adapt my #Infocom interpreter to another platform - this time the #SinclarQL. An interesting request as it uses a #Motorola 68008 CPU, however, it does have the ability to emulate a #z80 on #CP/M. I was given some pointers on which versions worked to some extent, along with some documentation. Fast forward a few days and I had adapted one of the VT52 versions crossed with other features, and now #Sinclair QL users can enjoy in CP/M mode their #Inform #ZMachine adventures. Yes, there's a native terp as well, however, this was only a few days worth of massaging to get it to work on the SUCCESS CP/M Emulator - the proof is in the screen shots. You can download the executable here gitlab.com/sijnstra1/vezza/ #retrocomputing #retrogaming

Screenshot of Stefan Vogt's Ghosts of Blackwood Manor running on the Sinclair QL emulator under SUCCESS CP/M 2.2 emulator.Screenshot 2 further in the game
MacintoshGarden Feedmacgarden@bitbang.social
2025-04-15

Kingdom of Amphibia: The Shipwreck

macintoshgarden.org/games/king

You play a sailor on the USS Intrepid that travels to explore a distant land.

#macgarden #interactivefiction #2001 #text #dgware #radicalal #agt #zmachine

MacintoshGarden Feedmacgarden@bitbang.social
2025-04-14

LASH -- Local Asynchronous Satellite Hookup

macintoshgarden.org/games/lash

In this historical drama and treasure hunt set in 2062, you have rented a robot called a MULE that you can control remotely to salvage artifacts from an abandoned irradiated plantation near Macon,

#macgarden #interactivefiction #2000 #text #paulobrian #scifi #zmachine

MacintoshGarden Feedmacgarden@bitbang.social
2025-04-14

Chicks Dig Jerks

macintoshgarden.org/games/chic

An ancient evil threatens to invade a decadent mountain town, yet all that concerns young grave robber Avandre Varick is hitting on gorgeous babes.

#macgarden #interactivefiction #1999 #text #robbsherwin #zmachine

MacintoshGarden Feedmacgarden@bitbang.social
2025-04-14

The Path to Fortune

macintoshgarden.org/games/the-

You have been volunteered by your master for a quest to save the small city of Windhall from a terrible fate.

#macgarden #interactivefiction #1996 #text #ceforman #jeffcassidy #zmachine

MacintoshGarden Feedmacgarden@bitbang.social
2025-04-14

The Frenetic Five vs. Sturm und Drang

macintoshgarden.org/games/the-

The madcap superhero adventure that would have won the 1997 Interactive Fiction Competition, except for the 12 other games that finished ahead of it. It did walk away with a Xyzzy Award for Best NPCs,

#macgarden #interactivefiction #1998 #text #neildemause #zmachine

MacintoshGarden Feedmacgarden@bitbang.social
2025-04-13

Jigsaw - An Interactive History

macintoshgarden.org/games/jigs

New Year's Eve, 1999, a quarter to midnight and where else to be but Century Park! Fireworks cascade across the sky, your stomach rumbles uneasily, music and lasers howl across the parkland... Not

#macgarden #interactivefiction #1996 #text #grahamnelson #zmachine

MacintoshGarden Feedmacgarden@bitbang.social
2025-04-13

The Space Under the Window

macintoshgarden.org/games/the-

An extremely small game. Not standard interactive fiction. Try it and see.

#macgarden #interactivefiction #1997 #text #andrewplotkin #zmachine

MacintoshGarden Feedmacgarden@bitbang.social
2025-04-13

Curses

macintoshgarden.org/games/curs

Curses is a seemingly simple quest to find a street map of Paris leads you into odd corners of an old mansion, your imagination, and ultimately into the ancient past.

#macgarden #interactivefiction #1996 #text #grahamnelson #zmachine

Shawn Sijnstrasijnstra@hachyderm.io
2025-02-11

After much testing and code comparison, the new Feb 2025 Release of #Vezza - my #z80 high speed #zmachine is ready! Took way longer than expected to synchronize across all of the code bases, particularly making sure that all optimizations made it across all platforms - TRS-80 model 1, TRS-80 model 3, TRS-80 model 4, the CP/M versions (~18 platforms), the embedded versions (Spectrum tape, TEC-1G), and slowly pushing into the Agon Light version (which has even more updates still in progress). Lots of individual tweaks, and some major rethinks and rewrites have come together to accelerate game play.

The hardest part of rewriting in this update involved rewriting the dictionary search code. I ended up going back to the original jzip interpreter, written in C for Unix waaay back when. Jzip provided much of the logic that went into ZXZVM, which provided the base for #M4ZVM #M3ZVM and #Vezza. Going back to Jzip made sense as Jzip has an even longer history; and is highly tested and stable and still maintained. This research gave me the confidence that the streamlining and changes I was making to such a fundamental part of the game would work, making all inputted dictionary searching more efficient.

To work around how CP/M stores executable files I spent a lot of time re-organising the memory map to make the executable smaller. This involved rearranging where the initialization code was stored inside the increasingly complex layout. Support across multiple versions means I needed to break up variable sized code and strings to sit inside variable sized gaps, while still compiling all the CP/M versions from the same interconnected set of source files. It needed quite a few manual checks to ensure that it all worked.

What this all means is that your favourite #infocom #punyinform and other text adventures will all play on your favourite z80 #retrocomputing platforms even faster than before!

More details in the devlog and downloads can be found at:
#TRS80 versions sijnstra.itch.io/m4zvm
#CPM #CPM80 versions sijnstra.itch.io/vezza

Screenshot of Stefan Vogt's Ghosts of Blackwood Manor, played using Vezza on an Amstrad CPC
Shawn Sijnstrasijnstra@hachyderm.io
2024-12-27

Now that it's had a little testing other than me (Thanks Brian Chiha!) I'm making my #vezza for the #TEC-1G more readily available, similar to my #zxspectrum .tap files. #zmachine text adventures for all #z80 machines! I've put up 3 sample builds to download and run at .hex files to load straight into the #TEC. Full keyboard and GLCD are required, and I'll be looking to add more features to maximise use of the platform. You can download the .hex files here gitlab.com/sijnstra1/e-vezza/-

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst