With MIT’s release of a January 1978 version of the original MDL Zork, it is now possible to play the game on a PDP-10 emulator running ITS. Here is a little demo:
The game is also available online:
telnet to its.pdp10.se port 10003
Type Control-Z
Log in with :login <something>
Type :zork
When done, type quit
And then :logout
3 Likes
heasm66
(Henrik Åsman)
September 15, 2020, 10:16am
2
I played past the troll and it seems to work just fine. Great fun!
What happens if I try to save? Would the save file (as I remember there’s only one save slot) be available when I log in (with the same user) at a later date?
It should be possible to just type save to save your game, but it appears this doesn’t work yet:
>save
Can't open channel for save.
heasm66
(Henrik Åsman)
September 15, 2020, 10:42am
4
Ok.
If I download the the ITS-project and make it. Would Zork be preinstalled?
And what is the recommended platform to use as host? I built it on CygWin (simh) about a year ago and got it to work eventually, but it was not a “smooth” process. ZoBoRf reports that he had problem to build it for ZILCH on Ubuntu and had to use Debian.
Yes, Zork is now included and ready to run.
For ITS, the most well-tested platform is Linux, preferrably Ubuntu or Debian. FreeBSD should also work. SIMH also runs natively on Windows, but that’s not something anyone I know is testing.
It depends on what kind of PDP-10 hardware you like to emulate. For the most plain text experience, SIMH should be fine on most platforms. If you want the fancy graphical displays, Linux may be the only option. If you want TCP/IP networking, KLH10 is your best bet but again a Linux or other Unix system is necessary.
1 Like
zarf
(Andrew Plotkin)
September 15, 2020, 4:08pm
6
I’m trying it on MacOS. It seems to be installing correctly, but wow, this expect
script is not speedy. :)
If it’s still running an hour from now, I’m going to be watching Tim Cook introduce the latest iOS while a PDP-10 sets itself up in the background…
EDIT-ADD: We’re talking about this repository: https://github.com/PDP-10/its
Sorry, it does take hours because it’s rebuilding everything from sources where possibly.
In the future there may be some solution providing ready-made disk images for download.
heasm66
(Henrik Åsman)
September 15, 2020, 4:44pm
8
I’m trying to built it on Ubuntu 20.04 with:
make EMULATOR=simh
I’m on my third runthrough (because it requested some packages). But now it stops with:
git submodule sync `dirname tools/pdp6/.gitignore`
Synchronizing submodule url for 'tools/pdp6'
git submodule update --init `dirname tools/pdp6/.gitignore`
make: *** No rule to make target 'out/simh/output.tape', needed by 'out/simh/bootvt.bin'. Stop.
Any idea what’s missing?
zarf
(Andrew Plotkin)
September 15, 2020, 4:49pm
9
My MacOS build (make EMULATOR=simh
) ran for about 30 minutes and then bombed out:
@delete * unfasl
Delete? (Y or N): yes.
%PRINT UNFASL
6BIT UNFASL
APROPO UNFASL
ARITH UNFASL
ARYFIL UNFASL
ATAN UNFASL
AUTODF UNFASL
BBOOLE UNFASL
BENCH UNFASL
BINPRT UNFASL
BREAK UNFASL
BS UNFASL
CARCDR UNFASL
CHAR UNFASL
COMRD UNFASL
COMRED UNFASL
DBG UNFASL
DEBUG* UNFASL
DEFSTA UNFASL
DOCTOR UNFASL
DOW UNFASL
DPRINT UNFASL
DRIBBL UNFASL
DUMPGC UNFASL
FAKE-S UNFASL
FASDMP UNFASL
FFORMA UNFASL
FILBIT UNFASL
FLOAD UNFASL
FONTRD UNFASL
FOR UNFASL
GENFNS UNFASL
GPRINT UNFASL
GRAPH$ UNFASL
GRAPHA UNFASL
GRAPHM UNFASL
GRAPHS UNFASL
GRAPHT UNFASL
IMPDEF UNFASL
IOTA UNFASL
LAUGH UNFASL
LETFEX UNFASL
LETS UNFASL
LINERE UNFASL
LISPM UNFASL
LISPT UNFASL
LOOP UNFASL
LSPMAC UNFASL
LUSETS UNFASL
MORE UNFASL
NSHARE UNFASL
OCTAL UNFASL
OD UNFASL
OPTDEF UNFASL
PHSPRT UNFASL
PRIVOB UNFASL
PROMPT UNF
The last command timed out.
make: *** [out/simh/rp0.dsk] Error 1
I tried starting it anyway, and I successfully logged in, but :zork
got the “This is not the machine of the Zork Implementors!” response.
Henrik,
My best guess would be that some make dependency is in a wedged state. Try to do a clean build: make clean all EMULATOR=simh
Andrew,
I don’t know why the build would time out there. But this is in the Macsyma part of the build script, which I guess you can skip. Try MACSYMA=no make clean all EMULATOR=simh
As for the response from :zork
that is because the real zork hasn’t been built yet at this point. There is a stub zork too which emits this message.
zarf
(Andrew Plotkin)
September 15, 2020, 5:15pm
12
Thanks. I’ll try that later today.
heasm66
(Henrik Åsman)
September 15, 2020, 5:26pm
13
I noticed that I was missing “expect”-package. Now it’s rolling again…
To anyone who would like them, I offer to put disk images online for download. Just let me know.
And for the super impatient, the telnet instructions in the first post above should be a quick way to run Zork.
zarf
(Andrew Plotkin)
September 15, 2020, 6:14pm
15
I was amused to realize that (a) MacOS no longer includes telnet by default; (b) I hadn’t noticed because it’s been years since I tried to telnet.
(You can install telnet via homebrew, no problem.)
(/usr/bin/expect exists, I didn’t need to install that.)
heasm66
(Henrik Åsman)
September 15, 2020, 6:16pm
16
Everything moving along fine now.
I started with a newly installed virtual Ubuntu 20.04 lts in Virtual Box and then:
1. Open terminal and install packages:
sudo apt-get install gcc
sudo apt-get install libsdl2-dev
sudo apt-get install libpcap-dev
sudo apt-get install libvdeplug-dev
sudo apt.get install libncurses-dev
sudo apt-get install expect
2. sudo git clone https://github.com/PDP-10/its its
3. cd its
4. sudo make EMULATOR=simh
(takes long time... 2 h, at least)
I’ll report back when I’m finished (I’m about halfway, I think).
(EDIT: needed one more package - libncurses-dev.)
heasm66
(Henrik Åsman)
September 15, 2020, 6:52pm
17
And there, the installation is finished. Now I can play Zork the way it was intended…
heasm66
(Henrik Åsman)
September 15, 2020, 6:57pm
18
larsbrinkhoff:
It should be possible to just type save to save your game, but it appears this doesn’t work yet:
Copy to clipboard
>save
Can't open channel for save.
restore
DSK:HEASM;ZORK SAVE NON-EXISTENT DIRECTORY
>save
Can't open channel for save.
I get this when I try to “restore”. Could it be that it’s only a directory that is missing?
Thanks for reporting the successful build!
You would need to create a user directory for save and restore to work. But I have one, and it still doesn’t work.
To make your directory, type
:print hesam;…new. (udir)
I was amused when I tried telnetting in to find I’d previously set up telnet in my Mac already for a MUD thing some years ago. Yes via Homebrew