PDP-10 / its

Incompatible Timesharing System
Other
852 stars 80 forks source link

Early Zork #1811

Closed larsbrinkhoff closed 3 years ago

larsbrinkhoff commented 4 years ago

Files from December 1977.

LCF; ACT1 38 LCF; NNP NBIN LCF; NP 93 LCF; NDEFS NBIN LCF; NP 92 LCF; DEFS 63 LCF; MAKSTR NBIN LCF; MAKSTR 7 LCF; NROOMS NBIN LCF; ROOMS 99 LCF; DUNGZ 56 LCF; NACT2 NBIN LCF; ACT2Z 27 LCF; ROOMS 98 LCF; ACT3 13 LCF; ACT1 37 MADMAN; ZORK LOG MADMAN; MADADV HELP MADMAN; MADADV SAVE MADMAN; OMADAD SAVE

eswenson1 commented 4 years ago

The sources we have already are later versions than these -- for files that overlap in name. However, I don't know what NP, NDEFS, and NROOMS are -- my guess is that they were superseded by other files, given that ACT1-3 and ROOMS are older than what we have. Consequently, I suspect that the SAVE files are for an older version. Still, it would be interesting to try to run them.....if we had an interpreter of the right vintage.

larsbrinkhoff commented 4 years ago

I made this as a note for the future. I found these files some time ago, but forgot where. I agree the latest version is better for this repository.

taa01776 commented 4 years ago

The NBIN files are not super-interesting, since they're compiled. This leaves: NP, which I'd guess is a parser in development; and DUNGZ and ACT2Z, which are interesting because the source files were properly ACT2 and DUNG. So I'll hypothesize that this shows some work on the parser to better support whatever puzzles were in ACT2.

eswenson1 commented 4 years ago

Are the DUNGZ and ACT2Z files plain-text or scrambled/encrypted? I ask because the SCRMBL program on ITS takes files with FN1 FOO and produces files with FN1 FOOZ.

taa01776 commented 4 years ago

Good point. Yeah, that’s plausible; we did keep them encrypted (which led to the whole adventure with Ted Hess’s using DEC 20s running acceptance to find the password for the source files he’d grabbed). -ta


Ceterum autem censeo Microsoftem esse delendam.

From: Eric Swenson notifications@github.com Sent: Monday, February 10, 2020 11:46 AM To: PDP-10/its its@noreply.github.com Cc: Anderson, Timothy A. taa@stresearch.com; Comment comment@noreply.github.com Subject: Re: [PDP-10/its] Early Zork (#1811)

WARNING: This message originates from outside the STR organization. Please take appropriate care in opening any links or attachments.

Are the DUNGZ and ACT2Z files plain-text or scrambled/encrypted? I ask because the SCRMBL program on ITS takes files with FN1 FOO and produces files with FN1 FOOZ.

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/PDP-10/its/issues/1811?email_source=notifications&email_token=AAM5GXJOQBYCFM32SWR7HW3RCGADTA5CNFSM4KNZGBL2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELJHCFQ#issuecomment-584216854, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAM5GXLMXKXLY5ABYBNLURTRCGADTANCNFSM4KNZGBLQ.

eswenson1 commented 4 years ago

And the reason I know this is when I stole all the sources off DM and copied them to MIT-MULTICS (when you caught me doing this), I also saved a copy on MIT-MC -- but I used SCRMBL to encrypt them all so as not to leave them lying in the open.

Funny thing is that when we resurrected ITS and I restored the files from my home directory, I had no clue what password I used with SCRMBL to encrypt them. I racked my brain for days to no avail. Then, one night, while trying to fall asleep, a password popped into my head. I got up and raced to my ITS machine where I tried it -- and it worked!

larsbrinkhoff commented 4 years ago

Yes, you are right. The "Z" files are encrypted. We'll have to run a KL10 emulator to decrypt those!

eswenson1 commented 4 years ago

Assuming you know the password. Unless you want to use a password cracker. The passwords for SCRMBL were sixbit strings, hence only 6 6-bit characters long. Shouldn't be that hard to write a cracker.

larsbrinkhoff commented 4 years ago

@atsampson made a C implementation of SCRMBL and I used his code to brute force decrypt ACT2Z and DUNGZ.

eswenson1 commented 4 years ago

What was the password?

larsbrinkhoff commented 4 years ago

MIT has agreed to release these files.

36bit commented 4 years ago

MIT has agreed to release these files.

Did they indicate under what terms? My hope would be under one of https://www.gnu.org/licenses/license-list.html#SoftwareLicenses

larsbrinkhoff commented 4 years ago

No, they haven't. I'm in wait and see mode now.

taa01776 commented 4 years ago

Presumably something that is pretty much unconstrained (that is, not one of the many GPL versions that I still don’t fully comprehend). I understand that “MIT license” as a name has been deprecated, but is anything else even close to appropriate? -ta


Ceterum autem censeo Microsoftem esse delendam.

From: 36bit notifications@github.com Sent: Sunday, April 19, 2020 12:07 PM To: PDP-10/its its@noreply.github.com Cc: Anderson, Timothy A. taa@stresearch.com; Comment comment@noreply.github.com Subject: Re: [PDP-10/its] Early Zork (#1811)

WARNING: This message originates from outside the STR organization. Please take appropriate care in opening any links or attachments.

MIT has agreed to release these files.

Did they indicate under what terms? My hope would be under one of https://www.gnu.org/licenses/license-list.html#SoftwareLicenses

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/PDP-10/its/issues/1811#issuecomment-616171186, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAM5GXJLNQTSACIX5KDBAJDRNMOQVANCNFSM4KNZGBLQ.

larsbrinkhoff commented 4 years ago

Earliest files listed in tape database:


 MARC    PARSER  9      1977-06-01 00:15:16
 MARC    DEFS    23     1977-06-01 23:47:07
 MARC    MAZER   38     1977-06-02 00:23:57
 MARC    ROOMS   51     1977-06-02 02:41:27
 TAA     TELL    3      1977-06-08 01:50:19
 MARC    TS      ZORK   1977-06-09 19:55:46
 PDL     MELEE   16     1977-06-18 14:09:18
 SEND    AACT    2      1977-06-25 20:22:00
 MARC    NPARSE  20     1977-07-01 05:05:28
 TAA     DUNGON  8      1977-07-05 16:58:20
 MUDBUG  ACT1    10     1977-07-08 23:18:44
 MUDBUG  ACT2    5      1977-07-08 21:59:18
 MUDBUG  ACT3    1      1977-07-08 21:59:30
 LCF     NP      82     1977-12-04 16:51:08
 LCF     MAKSTR  5      1977-12-10 12:54:16
 LCF     TYPHAK  4      1977-12-10 18:31:09
larsbrinkhoff commented 4 years ago

The files are now available from GitHub: https://github.com/MITDDC/zork

larsbrinkhoff commented 4 years ago

@atsampson, I don't see any assembly language in this version. Do you think it can be loaded into Muddle like you did with the newest version?

I'm not sure whether there is a complete set of files, or whether files from other directories might be needed.

larsbrinkhoff commented 4 years ago

I do believe the LCF file set is missing TELL. I can see TAA; TELL 85 from November 1977, and LCF; TELL 94 from February 1978. But the actual file contents are not on any tape I can find.

larsbrinkhoff commented 4 years ago

MAKSTR loads as is, but the other files throw various errors.

DEFS has this:


<AND <L? ,MUDDLE 100> <USE "LSRTNS">>
larsbrinkhoff commented 4 years ago

One thing to consider now that the files are available. Should we copy them to this repository. I'd be inclined to say that if they can be made to actually run, then yes. Otherwise, maybe not.

eswenson1 commented 4 years ago

If they can’t be made to run, I’d say definitely not, since we have a later version already in our repo.

atsampson commented 4 years ago

I think this source set is still missing some bits, since there's no definition of TELL (I haven't poked around in the save file to see if it's Muddle or assembler). It reads input in RDCOM using the READSTRING builtin rather than the assembler code in the latest version, though, so it might be useful to steal that version of RDCOM...

larsbrinkhoff commented 4 years ago

We should have TAA; TELL 3 and 35 incoming. Also the Muddle asssembler.

larsbrinkhoff commented 4 years ago

January 1978 files in https://github.com/MITDDC/zork

eswenson1 commented 4 years ago

I played around with this version of zork, and note that it is a 500-point version (the final had 616 points, plus a 100-point endgame). So there must have been a lot added after 1978.

eswenson1 commented 4 years ago

I note that the "save" command doesn't work. Giving the command "save" gives the following results:

>save "w1"
Can't open channel for save.
>
larsbrinkhoff commented 4 years ago

For SAVE to work, you need a MSGS file in your user directory. The fn2 should be your uname.

atsampson commented 4 years ago

I wonder if we should reenable the check for the existance of _MSGS_ FOO in TS ZORK (maybe with a friendlier error message than "Losers with the name FOO cannot play ZORK!").

larsbrinkhoff commented 4 years ago

Either that, or patch out the SAVE check.

taa01776 commented 4 years ago

And it should be friendlier…why, exactly? That environment was not for the thin-skinned; anything polite would be historically inaccurate. -ta


Ceterum autem censeo Microsoftem esse delendam.

From: Adam Sampson notifications@github.com Sent: Thursday, September 17, 2020 11:33 AM To: PDP-10/its its@noreply.github.com Cc: Anderson, Timothy A. taa@stresearch.com; Comment comment@noreply.github.com Subject: Re: [PDP-10/its] Early Zork (#1811)

WARNING: This message originates from outside the STR organization. Please take appropriate care in opening any links or attachments.

I wonder if we should reenable the check for the existance of MSGS FOO in TS ZORK (maybe with a friendlier error message than "Losers with the name FOO cannot play ZORK!").

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/PDP-10/its/issues/1811#issuecomment-694315402, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAM5GXM6OBRRNOCU3LVMBDTSGIT2LANCNFSM4KNZGBLQ.

eswenson1 commented 4 years ago

Tim, I find your previous post confusing. Since the environment is not for the thin-skinned, shouldn't we be as obnoxious as we were "back then"? Why do you think we should make the message friendlier?

atsampson commented 4 years ago

It was me that suggested it should be friendlier - and I appreciate the point. How about we just add a note to the games documentation instead?

taa01776 commented 4 years ago

Wasn’t me suggesting that it be friendlier, god forbid. I was responding to Adam Sampson. -ta


Ceterum autem censeo Microsoftem esse delendam.

From: Eric Swenson notifications@github.com Sent: Thursday, September 17, 2020 1:37 PM To: PDP-10/its its@noreply.github.com Cc: Anderson, Timothy A. taa@stresearch.com; Comment comment@noreply.github.com Subject: Re: [PDP-10/its] Early Zork (#1811)

WARNING: This message originates from outside the STR organization. Please take appropriate care in opening any links or attachments.

Tim, I find your previous post confusing. Since the environment is not for the thin-skinned, shouldn't we be as obnoxious as we were "back then"? Why do you think we should make the message friendlier?

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/PDP-10/its/issues/1811#issuecomment-694389423, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAM5GXIFBJMG3ABY6RRP7EDSGJCLXANCNFSM4KNZGBLQ.

eswenson1 commented 4 years ago

Ah, sorry. Didn't parse the message properly. Indeed, it would be a travesty to make the message friendlier.

eswenson1 commented 4 years ago

I think you should include a note in the documentation saying that in order to save in zork, you must have the requisite file.

larsbrinkhoff commented 4 years ago

I'm making some updates to the Zork section in games.md. I have provided instructions for how to create a user directory and make a _MSGS_ file in it.

Though not exactly historically accurate, I think it's useful to allow people to play Zork any time of the day and week.

larsbrinkhoff commented 3 years ago

@eswenson1, where do you see how many points Zork has?

eswenson1 commented 3 years ago

Without the source, you can run the game and invoke the "score" command. It will tell you your current score, as well as the maximum possible. When I played the 1977-06-14 version yesterday, it said that there were 285 possible points.

The 1977-07-01 version has a max of 387 points.

And of course the latest has 616, IIRC correctly -- plus 100 points in the endgame.

larsbrinkhoff commented 3 years ago

So we have these binary versions.

Timestamp Muddle ToTS tape Points
1977-06-12 54 9006255 285
1977-06-14 54 2100085, 9005183 285
1977-07-01 54 9005143 387
1977-12-04 54 9005196 500
1977-12-12 54 9005196 500
1978-01-07 54 9005095 500
1978-01-11 54 9005095
1978-01-23 54 100066, 9005201 500
1978-01-25 54 100066, 9005201
1978-01-26 54 9005201
1978-01-28 54 9005201
1989-01-08 2841
larsbrinkhoff commented 3 years ago

Zork was inspired by (Collosal Cave) Adventure. I find these timestamps related to ADVENT on ITS:

 PDL     ADVENT  SOURCE 1977-03-11 08:04:06
 KBS     ADVENT  SOURCE 1977-03-30 19:34:31
 .MSGS.  ADVENT  URE    1977-05-25 11:45:52
 .MSGS.  ADVENT  URE    1977-06-08 02:25:55
 BERN    TS      ADVENT 1977-06-13 04:26:22
 SYS2    TS      ADVENT 1977-06-13 04:26:22
 SYS2    TS      ADVENT 1977-06-25 17:53:37
 SYS2    TS      ADVENT 1977-07-03 15:16:27

My interpretation is that PDL was a early Adventure player, along with KBS. Apparently there was some kind of announcement about Adventure in late May, maybe updated early June. Someone called BERN had an executable that was copied to or from SYS2 in mid June. The executable was updated later.

eswenson1 commented 3 years ago

What about the ones loaded and run by NGAME? Where did they live? (EJS, BMT1, or elsewhere)? They might have had funky names to "hide" where they were in the file system IIRC. I have some vague recollection that EJS;AR8 MAIL was actually the binary for one of the games. It wasn't an archive. There was also EJS;AR5 MAIL -- that wasn't an archive either. One of those two files was ADVENT in disguise. We were having a real problem with people playing ADVENT on MC during the daytime, so we decided to obscure the location. NGAME, when you assemble it, asks for the location of a couple binary files. I think ADVENT and TREK were the two, but it's been such a long time.....

larsbrinkhoff commented 3 years ago

I looked in NGAME, and it seems to ask for the location at assembly time. The default is BMT1 as far as I can see. There are some files there called ADV1 1X etc. It seems obfuscated as you suggest. Maybe disassembling a TS GAME would tell.

heasm66 commented 3 years ago

I had a look at the new source files from June/July of 1977 at MITDDC.

In the file zork-1977-07/zork/9005183/taa/frob.glue

<USE "GLUE">
<SNAME "MARC">
<GROUP-LOAD "DEFS NBIN">
<GROUP-LOAD "ROOMS NBIN">
<GROUP-LOAD "TAA;TELL NBIN">
<GROUP-LOAD "MAZER NBIN">
<GROUP-LOAD "AACT NBIN">
<SET FOO (!.DEFS !.ROOMS !.TELL !.MAZER !.AACT)>
<GROUP-GLUE FOO <> <>>
<GROUP-DUMP "TAA;FOO GBIN" FOO ,PRINT>

We are definitly missing the AACT-file(s) from this time and probably the DUNGEON-file to be able to have a runnable version from source code from this time.

The ACT- and DUNGEON-files could, maybe, be reconstructed from later versions in combination with analysis of the MADADV SAVE-file from the same period, but are the files from the tape database listed below ever be released?

 MARC    PARSER  9      1977-06-01 00:15:16
 MARC    DEFS    23     1977-06-01 23:47:07
 MARC    MAZER   38     1977-06-02 00:23:57
 MARC    ROOMS   51     1977-06-02 02:41:27
 TAA     TELL    3      1977-06-08 01:50:19
 MARC    TS      ZORK   1977-06-09 19:55:46
 PDL     MELEE   16     1977-06-18 14:09:18
 TAA     DUNGON  8      1977-07-05 16:58:20
 MUDBUG  ACT1    10     1977-07-08 23:18:44
 MUDBUG  ACT2    5      1977-07-08 21:59:18
 MUDBUG  ACT3    1      1977-07-08 21:59:30
 LCF     NP      82     1977-12-04 16:51:08
 LCF     MAKSTR  5      1977-12-10 12:54:16
 LCF     TYPHAK  4      1977-12-10 18:31:09

They seem to be from the right time.

larsbrinkhoff commented 3 years ago

Sorry, that file listing is from a record made when making backups and it only has the file names and timestamps. The files and their contents have not been found on any tape images so far. Given the amount of tapes we have examined in the ToTS collection, it seems likely we will not find any more from the DM machine. Fingers crossed, maybe a few more could be hiding in there somewhere.

larsbrinkhoff commented 3 years ago

The AACT file is a bit of a mystery. I did find suitably dated SEND 2 and 3 files in a directory called SEND, but there is no clue who it belonged to.

heasm66 commented 3 years ago

I assumed it was a compiled? (NBIN) aggregate of the ACT1-3, or probably ACT1 & ACT2 in this case.

larsbrinkhoff commented 3 years ago

I'm not sure about the various Muddle BIN files, but I believe NBIN is the output from a single file. As you can see in the FROB file you posted, the FOO GBIN file is "glued" together from the NBIN files DEFS, ROOMS, TELL, MAZER, and AACT. It seems to me maybe AACT was split in three ACTn files. Also MAZER went away, maybe renamed to DUNG?

heasm66 commented 3 years ago

Looking at the content of MAZER I would say that it became MAKSTR.

heasm66 commented 3 years ago

ACT contains the action-functions on rooms and objects. AACT maybe was the original file for actions that around this time (the earliest versions of ACT1-3 above are from 1977-07-08) got split when AACT became unmanageable big.

EDIT: the frob.glue-file is from 1977-06-08.

larsbrinkhoff commented 3 years ago

I think this can be closed now.