Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 01:16 24 Nov 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : CMM2 text adventure interpreter

Author Message
johngill
Newbie

Joined: 22/09/2020
Location: United Kingdom
Posts: 37
Posted: 04:54pm 22 Nov 2024
Copy link to clipboard 
Print this post

Hi all,

I'm sure most of you are of my vintage and will recall infocom text adventure games (Zork et al) from the 1970s-80s. Not so long ago I stumbled across an internal infocom document, dated 1989, describing how to use ZIL (Zork Implementation Language), the language they used at infocom to create their text adventure games.

Having something of a soft spot for the ol' text adventures, I thought how cool it would be to be able to make text adventure games in ZIL for the CMM2.

So, reverse engineering the ZIL document, I've done a (highly simplified!) implementation of a ZIL interpreter for the CMM2. It needs some proper testing, and the syntax checking is bare bones at the moment, but it does actually work so I thought I'd put it on here for you other CMM2 owners to have a tinker with.

There are 3 files in the zip, the ZILish.bas interpreter, and two text files. The two text files make up the entirety of the adventure, and are interpreted directly by ZILish. The supplied text files include a playable, commented sample adventure (don't get your hopes up, it's only 4 rooms...!) which should enable people to get to grips with how it all hangs together.

If you come across any bugs, please let me know!

Enjoy.

ZILish.zip
 
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 2075
Posted: 09:32pm 22 Nov 2024
Copy link to clipboard 
Print this post

TBS user, Thwill, has made great steps in this direction - PM him if he doesn't jump on this thread
 
PeteCotton

Guru

Joined: 13/08/2020
Location: Canada
Posts: 368
Posted: 09:58pm 22 Nov 2024
Copy link to clipboard 
Print this post

  johngill said  ..So, reverse engineering the ZIL document, I've done a (highly simplified!) implementation of a ZIL interpreter for the CMM2. It needs some proper testing, and the syntax checking is bare bones at the moment, but it does actually work so I thought I'd put it on here for you other CMM2 owners to have a tinker with.

There are 3 files in the zip, the ZILish.bas interpreter, and two text files. The two text files make up the entirety of the adventure, and are interpreted directly by ZILish. The supplied text files include a playable, commented sample adventure (don't get your hopes up, it's only 4 rooms...!) which should enable people to get to grips with how it all hangs together.


Very cool!

I also had a huge soft spot for adventures back in the day. Are you going to write a new adventure for the CMM2?
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4036
Posted: 10:27pm 22 Nov 2024
Copy link to clipboard 
Print this post

Thanks for the shout out Captain.

I honestly thought John and I had shared this dance back when he first posted: https://www.thebackshed.com/forum/ViewTopic.php?TID=13234 but there doesn't seem to be anything there ... perhaps we exchanged PMs that are now gone.

Back in the Infocom days ZIL was a LISP-like compiled language that targeted a 16-bit virtual machine, the Z-machine. When I first got a CMM and then the CMM2 I wrote an implementation of the Z-machine in MMBasic called Z-MIM, and I believe it works to some extent on the PicoMite too; Peter posted about running it on the RP2350 relatively recently.

If I understand John correctly and/or remember previous correspondence then ZILish is an interpreter for a subset of ZIL rather than an implementation of the Z-machine.

Incidentally people still write Interactive Fiction targetting the Z-machine, but using Inform 6 (which has a C like syntax) or Inform 7 (which has an interesting conversational syntax) instead of using ZIL; whilst the Z-machine was reverse engineered fairly early on, the details of ZIL remained private much longer.

Best wishes,

Tom
Edited 2024-11-23 18:47 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
johngill
Newbie

Joined: 22/09/2020
Location: United Kingdom
Posts: 37
Posted: 12:52am 23 Nov 2024
Copy link to clipboard 
Print this post

Tom, thanks for the reminder - on dear has it really been 4 years since I last dug out this project?! I could have sworn it was a year at most!
Getting old sucks! 😆
 
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2024