Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Introducing Vezza - A New Infocom Interpreter for CP/M

421 views
Skip to first unread message

Shawn Sijnstra

unread,
Sep 18, 2022, 8:34:57 AM9/18/22
to
Hi all,

Cross-posting here from intfiction.org

I’ve made a new z-80 based interpreter with CP/M 3 as the first target system. I’m hoping for some help with testing as well as ideas for what else can be implemented within the constraints of the system(s). There’s a list of things I’d like to do, and I’m open to feedback to see where the interest is, which may help prioritise.

Major features:

Supports z1-z8 (z6 is approximated and limited to non-graphics)
Faster than the original Infocom interpreter
Named file save/load
Reverse text
Timed input (1 second resolution)
It takes the optimisations and extensions I’ve developed through the M1/M3/M4ZVM interpreters, making a highly portable and efficient engine. System constraints has lead to some compromises and challenges on the way, which are listed on the link below.

Big thanks go out to Stefan @8bit_era for testing and encouragement to get this happening!

The best use case is any game that has a 1-row status line which is redrawn just before the turn prompt is displayed. PunyInform is ideal for this, including z5 games. Features of the VT52 terminal make it difficult to achieve more visually, so there are a lot of cosmetic errors. Other terminals are also on my later targets list.

I’ve made binaries available for 4 configurations:

* vezza-nb.com - 80x24 screen, vt52 terminal (e.g. Amstrad CPC)
* vezza-b.com - 80x24 screen, vt52 terminal banked CP/M 3
* vezza-51.com - 51x24 screen, vt52 terminal (e.g. Spectrum +3)
* vezza-h.com - 80x25 screen, HGT on banked CP/M (e.g. CPU280)
Binaries, a full list of features, current ideas and known issues is available from:
https://gitlab.com/sijnstra1/vezza

Todd Na

unread,
Sep 21, 2022, 7:25:09 AM9/21/22
to
On Sunday, September 18, 2022 at 8:34:57 AM UTC-4, sh...@sijnstra.com wrote:
> Hi all,
>
> Cross-posting here from intfiction.org
>
> I’ve made a new z-80 based interpreter with CP/M 3 as the first target system. I’m hoping for some help with testing as well as ideas for what else can be implemented within the constraints of the system(s). There’s a list of things I’d like to do, and I’m open to feedback to see where the interest is, which may help prioritise.


Hi, I'd like to help, but I've never played any of the INFOCOM games. I have several MBCs that support CP/M... I no longer have a native CP/M system like a KayPro or anything. Where can I get the InfoCom games? They are a little bit before my time. I started on an 8088 with DOS and my first games were like Starflight and Pool of Radiance, and some of the Big Blue Disk games. But I'm happy to test if you can tell me where I might be able to get the original games (I'll happily pay if they are still for sale).

Thanks.

Alan Laughton

unread,
Sep 21, 2022, 8:43:04 AM9/21/22
to
I'd love to see a CP/M 2.2 version for the ADM-3a terminal as used by a
heap of computers like the Kaypro, Commodore 128, Microbee, etc. That
would be fantastic. Thanks.

Shawn Sijnstra

unread,
Sep 21, 2022, 9:29:23 PM9/21/22
to
Hi

The games themselves can be obtained from a few locations. The manuals you can search for (required in some cases), but the games for genuine infocom games are here (and elsewhere):
https://eblong.com/infocom/
There are also many newer text adventures that have been produced using the same format game file, although some have been designed to run on much more powerful machines.
Over the last couple of years a new, small and efficient code library for these games has emerged - it's called PunyInform and is designed for people to produce adventure games which run well on 8-bit machines. This next link produces a search for PunyInform games in the IFDB, which includes links to games that are both free and commercial. As it's a search, it will keep being updated as new ones come out including some already from this year:
https://ifdb.org/search?searchfor=tag:punyinform

Regards,
Shawn

Shawn Sijnstra

unread,
Sep 21, 2022, 9:39:46 PM9/21/22
to
Hi Alan,

CP/M 2.2 is on my to-do list, however, it will require the removal of the timed input feature,
and rewrite of disk I/O as well as filename parsing which makes it less apealing.
There also seems to be a CP/M 3 for Microbee which I would like to add if possible to the
support list, but I need a lot more info on getting started with a Microbee emulator.

The ADM-3a also seems to have very limited features - by strict standard it would also
remove the inverse text feature?
In the meantime I've now pushed out a Soroc IQ 120 version which is very similar in
control codes to the ADM 3a although I've chosen to include inverse based on the
Apple II Softcard CP/M 3.

The Commodore 128 has a much better option which is purpose built to support the
hardware. It's called Ozmoo and can be found here along with pre-packaged games
https://www.microheaven.com/ozmooonline/

Regards,
Shawn

Alan Laughton

unread,
Sep 22, 2022, 2:33:28 AM9/22/22
to
Yes a Microbee CP/M 3 version would be better but would be restricted to
that unit only. The Microbee terminal also includes the Televideo 912C
except for some special codes such as half intensity, blinking, etc.
Inverse video definitely supported, 1Bh 29h turn Inverse ON and 1Bh 28h
turns it off. So maybe the Soroc IQ 120 version may be suitable.

The Commodore 128 running in CP/M mode uses the adm-3a terminal codes.

Alan Laughton

unread,
Sep 22, 2022, 2:36:46 AM9/22/22
to
Arr I just realized I approved your membership to the microbee
technology forum :) Welcome.

Shawn Sijnstra

unread,
Sep 22, 2022, 2:55:55 AM9/22/22
to
Fantastic! So... for completeness on this forum, I'm looking for diskdefs
to get the files on to do some alpha testing. If the ANSI terminal is up to
speed I'm keen to get that going too so I can support coloured text.

Cheers,
Shawn

Alan Laughton

unread,
Sep 22, 2022, 3:07:02 AM9/22/22
to
Okay, join the repository, and download the CPMTools - Patched in the
Public repository, normal CPMTools cant handle all the Microbee disk
formats.

Todd Na

unread,
Sep 22, 2022, 8:30:25 AM9/22/22
to
Wow, thank you so much! I really appreciate it.

I'll be running this on an MBC-V20, and an MBC that uses a Zilog-180... so I don't know how that effects which version I'll use... but I'm sure I'll find out soon enough. Thank you!!!

Shawn Sijnstra

unread,
Sep 23, 2022, 11:00:55 PM9/23/22
to
Looking forward to hearing about it! I don't think the -v20 will work as it seems to be 8080/8086 rather than z80?
Let me know how you go and what you're using for a terminal!

Regards,
Shawn

Steve Nickolas

unread,
Sep 24, 2022, 4:20:43 AM9/24/22
to
V20 can run 8080 code, though not full-on Z80.

-uso.

Todd Na

unread,
Sep 27, 2022, 1:39:18 PM9/27/22
to
Hi! I'm sorry to bother everyone. I assembled an SC131 kit a few days ago, and got it working Sunday night. I wanted to know if anyone could help me figure out how I can run the INFOCOM games on it. Here's what I know about the kit that I put together:

1 - It uses the RomWBW Firmware / BIOS
2 - It has a Zilog 180 chip (Z8S180-N @ 18.432Mhz)
3 - It has 128kb of RAM
4 - It has 384K of RAMDISK on Partition 1
5 - It has 384k of ROMDISK On Partition 2 which has the OS and everything installed on it.
6 - It has a Micro-SD card slot that can I can load games onto, and is defined as Partition 3
7 - It appears to support ZDOS v1.1, and CP/M v2.2, Nascom BASIC, and TASTY BASIC. (I can select which one to boot with from the BIOS option)


With all of what I've said... any idea how to run the INFOCOM games? I downloaded a couple of them, but I was expecting a COM file or something... realizing that it doesn't work that way.

Thank you!!!

Steve Nickolas

unread,
Sep 28, 2022, 11:44:07 PM9/28/22
to
On Tue, 27 Sep 2022, Todd Na wrote:

> Hi! I'm sorry to bother everyone. I assembled an SC131 kit a few days ago, and got it working Sunday night. I wanted to know if anyone could help me figure out how I can run the INFOCOM games on it. Here's what I know about the kit that I put together:
>
> 1 - It uses the RomWBW Firmware / BIOS
> 2 - It has a Zilog 180 chip (Z8S180-N @ 18.432Mhz)
> 3 - It has 128kb of RAM
> 4 - It has 384K of RAMDISK on Partition 1
> 5 - It has 384k of ROMDISK On Partition 2 which has the OS and everything installed on it.
> 6 - It has a Micro-SD card slot that can I can load games onto, and is defined as Partition 3
> 7 - It appears to support ZDOS v1.1, and CP/M v2.2, Nascom BASIC, and TASTY BASIC. (I can select which one to boot with from the BIOS option)
>
>
> With all of what I've said... any idea how to run the INFOCOM games? I downloaded a couple of them, but I was expecting a COM file or something... realizing that it doesn't work that way.
>
> Thank you!!!

I know there's a generic copy of the Zork Trilogy out there for CP/M 2.2.
Just patch the filenames and it'll run any of the Z3 games.

-uso.

Randy McLaughlin

unread,
Sep 29, 2022, 12:37:11 AM9/29/22
to
It's just crazy it doesn't have cpm 3.


Randy

dxforth

unread,
Sep 29, 2022, 3:27:00 AM9/29/22
to
On 29/09/2022 1:45 pm, Steve Nickolas wrote:
>
> I know there's a generic copy of the Zork Trilogy out there for CP/M 2.2. Just patch the filenames and it'll run any of the Z3 games.

There were several versions of the CP/M interpreter. The latest version
of which I'm aware is mentioned here:

https://groups.google.com/g/comp.os.cpm/c/MBDFtQNnGMc/m/EF-wC2T5gXMJ


Shawn Sijnstra

unread,
Oct 1, 2022, 10:31:03 AM10/1/22
to
Do you know which version of ROM WBW it is running? Apparently the latest has everything you'll need:
RomWBW v3.0
Features:

CP/M 3, ZPM3, and NZCOM included
Floppy and hard disk boot images
New ROM applications (Forth, BASIC, etc.)
Linux/MacOS custom ROM build process
Warnings:

New initial drive letter assignment algorithm when booting from disk
RC2014 bus systems now default to 115200 baud
A sincere thank you to the many individuals who contributed substantial work to this release.

See the ReadMe files for more information.

Todd Na

unread,
Oct 1, 2022, 10:02:39 PM10/1/22
to
On Saturday, October 1, 2022 at 10:31:03 AM UTC-4, Shawn Sijnstra wrote:
> Do you know which version of ROM WBW it is running? Apparently the latest has everything you'll need:
> RomWBW v3.0
> Features:
>
> CP/M 3, ZPM3, and NZCOM included
> Floppy and hard disk boot images
> New ROM applications (Forth, BASIC, etc.)
> Linux/MacOS custom ROM build process
> Warnings:
>
> New initial drive letter assignment algorithm when booting from disk
> RC2014 bus systems now default to 115200 baud
> A sincere thank you to the many individuals who contributed substantial work to this release.
>
> See the ReadMe files for more information.


Hi, sorry, for some reason this didn't post to the group.

__________________

Hi, thank you so much for responding. I apologize for not responding to the other e-mails, just got power back last night after the Hurricane (I'm in Tampa, FL)


Ok, just loaded it up. It says:

RomWBW HBIOS v3.0, 2020-03-27

SC131 Z8S180-N @ 18.432MHz IO=0xC0
0 MEM W/S, 2 I/O W/S, INT MODE 2
512KB ROM, 512KB RAM


The option menu that I have is this:

ROM: (M)onitor (C)P/M (Z)-System (F)orth (B)ASIC (T)-BASIC (P)LAY (U)SER ROM
Disk: (0)MD1 (1)MD0 (2)SD0


I usually just select "C" for CP/M, and it loads CP/M 2.2.


Is there a newer version? I have a BIOS / ROM flasher with software that I purchased a couple of months ago.


Thanks!!!



Shawn Sijnstra

unread,
Oct 1, 2022, 10:14:17 PM10/1/22
to
Interesting - I don't have one so I am not quite sure which selection could get you the right CP/M
the version I can see is 3.0.1 at:
https://github.com/wwarthen/RomWBW/releases
which says your version should do CP/M 3 unless there's another component required that I'm not aware of?
Maybe there are clues in there on how to get to CP/M 3. Maybe the small version bump helps?

Regards,
Shawn


Wayne Warthen

unread,
Oct 2, 2022, 9:45:41 PM10/2/22
to
On Saturday, October 1, 2022 at 7:14:17 PM UTC-7, Shawn Sijnstra wrote:
> Interesting - I don't have one so I am not quite sure which selection could get you the right CP/M
> the version I can see is 3.0.1 at:
> https://github.com/wwarthen/RomWBW/releases
> which says your version should do CP/M 3 unless there's another component required that I'm not aware of?
> Maybe there are clues in there on how to get to CP/M 3. Maybe the small version bump helps?

The bootloader menu is just showing you the OSes and tools and that can be booted from ROM. CP/M 3 is not ROM bootable. You will need to copy a hard disk image onto your SD Card and boot from that to get to CP/M 3. This is reasonably well documented at the GitHub site at https://github.com/wwarthen/RomWBW

Thanks,

Wayne

Todd Na

unread,
Oct 4, 2022, 8:21:12 PM10/4/22
to
Thank you so much Wayne! I just put two and two together and realized you wrote the BIOS. I really appreciate it... very well put together. Thank you so much for doing this for the "community" so to speak. I don't presume you get paid anything for this BIOS that you've written that I'm enjoying right now, so I very much appreciate the time and effort you put into it. This is super cool.

I never grew up with CP/M, DOS was the newest system I used, but it certainly lives on today with these really cool SBC / Single Board Computers.


I am still fuzzy on what exactly I'm loading when people say interpreter to run an INFOCOM game. I assume it's maybe like running a GW Basic game and loading BASIC and having it load the .BAS game. I have a lot to learn with CP/M, because if it's not a .COM, I have no clue. But I'm getting there.

I'll check out your page and flash a card with "slices" haha... thank you!

Shawn Sijnstra

unread,
Oct 4, 2022, 9:29:19 PM10/4/22
to
Both the original CP/M interpreter and mine are .COM files.
The original one needed to be patched for which game file it would load, or you could rename the game accordingly. The name of the game file was built into the .COM itself. It only supports games in the Z3 format.
Mine takes the name of the game file on the command line and loads Z1-Z8 games (Z6 games are a bit experimental as the terminal lacks graphics).
e.g. A> VEZZA SHERLOCK.Z5
The next thing you'll need to do is make sure you have the right terminal emulation version for whichever interpreter you choose to use.

Cheers,
Shawn
0 new messages