PDP-10 / its

Incompatible Timesharing System
Other
866 stars 84 forks source link

Trivia game #1420

Open larsbrinkhoff opened 6 years ago

larsbrinkhoff commented 6 years ago

Game by Tak To, Marc Blank, Tim Anderson, Dave Lebling.

SYS; TS TRIVIA
SYSn; TS TVDOC link to TS PR
.INFO.; ITS TVDOC
MADMAN; TVDOC n

larsbrinkhoff commented 6 years ago

@taa01776 wrote:

The next game of note was Trivia (who says research labs aren't ahead of their time?), an ongoing "can you top this" contest for the truly crazed. Trivia, unlike Maze, could be played by network users, and achieved wide popularity on the ARPAnet. Marc Blank wrote the second version, and I maintained/hacked it; it was actually a legitimate test of a database system the group used for a research project.

larsbrinkhoff commented 6 years ago

From the book "Twisty Little Passages: An Approach to Interactive Fiction":

A less visually spectacular MIT game -- but one that was available on the ARPANet and became quite popular -- was a text-only quiz game, Trivia. Tak To (who had also coded some additions to Maze) write the first version of Trivia, which Anderson said was an "utter kludge." Around 1975 or 1976 Marc Blank built a type of database system, a message store, as part of his work on a DM project. As a test of this, he created a new version of Trivia. Those who played Trivia on MIT's ARPANet host 80 would be the first ones outside MIT to discover a new game on that computer in 1977.

larsbrinkhoff commented 6 years ago

From "Down From the Top iof Its Game":

Once the DM group had created MDL, they moved on to create libraries of software for the language, trying to supplant LISP as the programming language of choice. One such library was intended to provide programmers with robust methods for implementing persistent objects. It gave programmers a way of preserving the state of a computer program from one execution to the next. To demonstrate the use of persistent objects, Marc Blank and Tim Anderson of the DM group wrote a simple trivia game in MDL. It was their first foray into computer game development, but it paved the way for Infocom’s first commercial product: the legendary Zork.

larsbrinkhoff commented 6 years ago

@dlebling618 wrote:

I had also worked with Marc Blank and Tim Anderson on a Trivia game which had a database of thousands of questions submitted from all over the old Arpanet.

larsbrinkhoff commented 5 years ago

@wmyork wrote:

In addition to Zork (which I lost much more time to than Maze) the DM group (or at least individuals) also produced one of the first wide-area multi-player games, an ongoing trivia contest based on user-submitted content. I believe that there were players from all over the ARPAnet-connected world. I think that Peter David Lebling (part of the Zork creation team with Tim Anderson and Mark Blank) wrote and maintained it. He also perpetually occupied the top ranking slot with a commanding lead over the rest of us peons, though I held down 2nd place for a while.

http://globalwahrman.blogspot.com/2013/06/how-mazewar-escaped-from-lab-at-mit-in.html

dlebling618 commented 5 years ago

The linked article is quite interesting, though somewhat inaccurate. Most importantly, "Trivia" was written and maintained by Tim and Marc (after Tak To's original version). I did a bit of work on it and contributed a lot of questions, but it was mostly their doing. I will admit to being quite good at trivia in general back in those days.

The Imlac "graphics lab" he describes wasn't: it was more often and mostly just a set of consoles wired up to the DM PDP-10. There was graphics work done on them now and then, and in one room was the E&S LDS-1: the Evans and Sutherland graphics computer that was wired into the 10 as well. Tak To wrote a "Maze Watcher" that ran on the E&S and let you snoop on ongoing Maze matches: an early anticipation of eSports...

Tom Knight's comment at the link is a bit harsh but basically true: Imlacs were hardware-ily flakey and software-ily prone to crashing. Still, the CPU was more or less a PDP-9 plus a set of graphics opcodes (easy to program -- we modified MIDAS to do assemble it), and the hardware was flakey partly because people would take the front panels off to "cool them down" and then either (a) kick the various boards inside, or (b) the memory boards would loosen and even fall out, as the front panels were what held them in, and they were (of course) mounted vertically and rather heavy (old-school ferrite core stacks).

The DM version of "Maze" (not called "MazeWar" until the Alto version he describes) was used (a few times) to play with folks out at USC who also had Imlacs with the special hardware mods that were otherwise unique to DM. Even with the 50kb (?) phone lines of the ARPANET it was pretty unsatisfactory, but one could play it. So Alto "MazeWar" was "one of the first," but certainly not the first "network distributed multi-person game with various points of view".

taa01776 commented 5 years ago

Generally a heavy weekend Maze session would leave lots of dead Imlacs to be revived of a Monday morning: I suspect a fair amount of kicking might've happened in the heat of battle. Modern keyboards would've died immediately under the strain. Because communication between Maze players went through a shared (and publicly writable--hey, it was ITS) page, it was possible to crash a session by garbaging the buffer. There were daemons (originally the Maze Guncher) whose job it was to find Maze games and kill them. I wrote a second one that was hidden inside another daemon, in principle making it less vulnerable to being hunted down and killed. Marc gets priority on Trivia (if I'm not entirely mistaken, it might've been called Zork for a while, because that's what we called a lot of hacks); IIRC, it was mentioned in at least one DM annual report, because it legitimately did provide a lot of testing for the "database" that Marc wrote (which was primarily for an email system we were funded to work on). My role, aside from submitting the most loathed question ever, and being the perennial also-ran to Dave on the leaderboard, was mostly sweeping up the elephant poop.

eswenson1 commented 5 years ago

Tim: I'm dying to know what was the most loathed question ever....

taa01776 commented 5 years ago

Who was the Union commander at the Second Battle of Bull Run?

Short answer, not multiple choice. I got nothing but complaints.

From: Eric Swenson notifications@github.com Tim: I'm dying to know what was the most loathed question ever....

eswenson1 commented 5 years ago

Henry Halleck? So I know I’m falling into a trap here. But why was this controversial? McClellan was relieved of duty about a year before, so he couldn’t be the right answer. Feel free to embarrass me since I know this must be a trap.

taa01776 commented 5 years ago

No trap—just very obscure, and Civil War trivia was, at the time, considered much more obscure than, say, Star Trek trivia. Second Bull Run was between the Seven Days and Antietam—McClellan hadn’t actually been relieved of command of the Army of the Potomac, but Halleck was in as overall commander. John Pope, leading the Army of Virginia. Lee said he needed to be “suppressed.” -ta

From: Eric Swenson notifications@github.com Sent: Tuesday, April 2, 2019 4:01 PM To: PDP-10/its its@noreply.github.com Cc: Anderson, Timothy A. taa@stresearch.com; Mention mention@noreply.github.com Subject: Re: [PDP-10/its] Trivia game (#1420)

Henry Halleck? So I know I’m falling into a trap here. But why was this controversial? McClellan was relieved of duty about a year before, so he couldn’t be the right answer. Feel free to embarrass me since I know this must be a trap.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/PDP-10/its/issues/1420#issuecomment-479174427, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABnTXabirsyn2JlQqi8UKAqHTY9FO9apks5vc7bggaJpZM4YsjW0.

larsbrinkhoff commented 5 years ago

@dlebling618 wrote:

we modified MIDAS to do assemble it

Yes, we have a file called IMDEFS which is .INSRTed to have MIDAS assemble Imlac program. I have used it for MAZE and SSV. (MAZE isn't running well yet; it seems to expect SSV to have the font data loaded at a particular address, but the versions we have don't match.) We also have the IMTRAN and IMLOAD programs which translate a MIDAS binary to an ASCII file with an Imlac bootstrap loader in front.

What I haven't figured out so far, is how to get SSV (or some other monitor program) onto an Imlac if cold started without anything usable in core memory. Was it loaded from paper tape, or from the TTY port?

larsbrinkhoff commented 5 years ago

Evidence from DM .TAPE directories:

larsbrinkhoff commented 5 years ago

Running ":TVDOC topic" prints a page from .INFO.; ITS TVDOC which is a help file for TRIVIA.

E.g. :TVDOC HOURS types


HOURS:

        TRIVIA is loaded by typing either TRIVIA^K or :TRIVIA to DDT.
TRIVIA will check for the availability of the game (see below) and then
load the actual TRIVIA program.
        The availability of TRIVIA for non-directory owners is as
follows:
        Mon-Fri : 10pm - 9am
        Sat-Sun : All day
        Holidays: All day
taa01776 commented 5 years ago

There were two versions of TRIVIA. The first was done by Tak To (tt); people liked it, but it was very flaky. Well, it was a multi-player game in 1973: the technology wasn’t exactly well-understood. The second was initiated by Marc, using it as a testbed for a data store he built for legitimate purposes. I think that one would’ve started summer of 1975. Made it into DM’s annual report for either ’75 or ’76, because it legitimately did provide a lot of free stress testing for something that was primarily done for a research program.

Especially the later version was pretty popular in its day (since it did not have the habit of crashing at random). You’ll notice that the document describes limits on usage for non-directory owners—that is, people from outside DM, and especially outside the lab. It wasn’t quite Zork, but still reasonably cool. -ta

From: Lars Brinkhoff notifications@github.com Sent: Friday, November 15, 2019 2:13 AM To: PDP-10/its its@noreply.github.com Cc: Anderson, Timothy A. taa@stresearch.com; Mention mention@noreply.github.com Subject: Re: [PDP-10/its] Trivia game (#1420)

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

Evidence from DM .TAPE directories:

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/PDP-10/its/issues/1420?email_source=notifications&email_token=AAM5GXO7GEE7NJPSWM43WODQTZDZTA5CNFSM4GFSGW2KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEERGBY#issuecomment-554242823, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAM5GXJJPGBVVDE742W3AKLQTZDZTANCNFSM4GFSGW2A.

jh95468 commented 5 years ago

I don't recall COMSYS itself knowing anything about TRIVIA. However, COMSYS was capable of being "programmed", e.g., by writing MDL code that would be run by COMSYS when various events occurred - e.g., at some particular time, when a message arrived for a particular mailbox, when you sent, replied to, or forwarded a message, etc. Such code might have been kept in COMSAV; perhaps that was part of whatever Mark did with the message project and a new database. By then I was only maintaining COMSYS itself (not much to do), but other people were building stuff "on top of" COMSYS, using it essentially as an email-based interprocess-communications facility and scheduler, with the ability to be programmed.

Re: loading Imlacs. I recall there was a boot loader that you frequently had to load into Imlac memory. It was accomplished by using the Imlac console switches and those big square push buttons to deposit instructions into memory. That was a frequent Monday-morning task to recover from weekend Mazing. I'm 99% sure that the code was a very basic boot loader to pull SSv or whatever down the TTY line from the PDP-10. The Imlacs had no paper tape or other I/o device.

dlebling618 commented 5 years ago

Trivia: I have a possibly incorrect memory that Marc's data store project was used to store COMSYS emails at some point in its development. Not all sure how that leads to a "COMSAV; TAILOR TRIVIA" file though.

Imlacs: Jack is correct. The boot loader just pulled data (provided by IMLOAD) down the TTY line. It wasn't very many instructions to toggle in; just enough to make you scream. Late in the IMLACs' career, I hacked "standard start code" so that you could have a live SSV and a live Maze (or other program) in memory at the same time. I don't recall how one switched between them (probably-false memory says "there was a key combo"); perhaps some of the "found" documentation mentions it. It might explain why different versions of SSV are incompatible.

There was also a single IMLAC that was hardware-modified so that displaying a character didn't take a full word but rather had the actual 7-bit ASCII of your text (two characters to a word). The hardware then called a routine in a table of all the ASCII characters' drawing code. It was a student project.

larsbrinkhoff commented 4 years ago

ToTS tape 9006234 has these files:

MADMAN; TVDOC 14
MADMAN; TV FILE
MADMAN; TVUPD 5
MADMAN; TRV SAVFIL MARC; AR1 TV MARC; TVDEFS 2
MARC; TVFROB 1
MARC; TVFROB 5
MARC; TVFROB NBIN
MARC; TVGUTS 4
MARC; TVGUTS NBIN
MARC; TVHACK GBIN
MARC; TV SAVE

Marc's archive file:

DATDEL 3 DATDEL NBIN LISTER 13 OBITUA 4 TMAINT 12 TRIVIA 210 TS TRIVIA TS TVBIGL TS TVDOWN TVBIGL 1 TVCOPY 5 TVDOWN 2 TVINIT 6 TVLOAD 3 TVMAN 5 TVWARN 1

It seems TRIVIA 210 is the source for TS TRIVIA. Similar to (and probably largely copied to) TS ZORK, it loads MADMAN; TRV SAVFIL and looks inside for the version of Muddle. It then tries to load SYS1; TS MUDver.

taa01776 commented 4 years ago

“Similar” only in that it was the previous hack; I don’t think any of Trivia made it into Zork.

There was a previous Trivia game done by Tak To, which people liked (trivia!), but it had various annoying features (fragile ASCII data store, if I’m not mistaken). Marc had a summer job in DM developing a shared data store for an email-related research program. Because it was irresistible, and because the store really did need to be tested under load, he developed a new multi-player trivia game that sat on top of it: users could enter questions, answer questions, score answers (it took “short answer” questions as well as multiple choice), etc. I think it had some kind of messaging thing going on as well. It had pretty broad popularity--at least at 545 Tech Square--for quite some time. It was mentioned in that year’s LCS annual report because of the testing aspect.

The executable probably was called “zork” for a while, since that was a name used for hacks like that—it was not invented for the game. -ta


Ceterum autem censeo Microsoftem esse delendam.

From: Lars Brinkhoff notifications@github.com Sent: Saturday, August 1, 2020 5:01 AM To: PDP-10/its its@noreply.github.com Cc: Anderson, Timothy A. taa@stresearch.com; Mention mention@noreply.github.com Subject: Re: [PDP-10/its] Trivia game (#1420)

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

ToTS tape 9006234 has these files:

MADMAN; TVDOC 14 MADMAN; TV FILE MADMAN; TVUPD 5 MADMAN; TRV SAVFIL MARC; AR1 TV MARC; TVDEFS 2 MARC; TVFROB 1 MARC; TVFROB 5 MARC; TVFROB NBIN MARC; TVGUTS 4 MARC; TVGUTS NBIN MARC; TVHACK GBIN MARC; TV SAVE

Marc's archive file:

DATDEL 3 DATDEL NBIN LISTER 13 OBITUA 4 TMAINT 12 TRIVIA 210 TS TRIVIA TS TVBIGL TS TVDOWN TVBIGL 1 TVCOPY 5 TVDOWN 2 TVINIT 6 TVLOAD 3 TVMAN 5 TVWARN 1

It seems TRIVIA 210 is the source for TS TRIVIA. Similar to (and probably largely copied to) TS ZORK, it loads MADMAN; TRV SAVFIL and looks inside for the version of Muddle. It then tries to load TS MUDver.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/PDP-10/its/issues/1420#issuecomment-667498936, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAM5GXLMHNKKEIMBES4H2ILR6PKUDANCNFSM4GFSGW2A.

larsbrinkhoff commented 4 years ago

Hello @marcblank

FYI, this is the GitHub issue about Trivia.

marcblank commented 4 years ago

No idea what to do with this...


From: Lars Brinkhoff notifications@github.com Sent: Saturday, August 1, 2020 10:15:02 AM To: PDP-10/its its@noreply.github.com Cc: marcblank marc.blank@live.com; Mention mention@noreply.github.com Subject: Re: [PDP-10/its] Trivia game (#1420)

Hello @marcblankhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmarcblank&data=02%7C01%7C%7Cf6e0902457bf4724da9208d8363e6e9d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637318989051245286&sdata=8MQqisB%2BcTO3q%2FLbCCNYdaO3Wz7CnE%2F7ogqVuMv1tIo%3D&reserved=0

FYI, this is the GitHub issue about Trivia.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FPDP-10%2Fits%2Fissues%2F1420%23issuecomment-667561548&data=02%7C01%7C%7Cf6e0902457bf4724da9208d8363e6e9d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637318989051255280&sdata=1J1R4DnpZSX3uiI0PrVq9mx8sqCILTmY5UcQwtQjOoA%3D&reserved=0, or unsubscribehttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAEIO63G5VTE2U74DI7BGVKLR6RERNANCNFSM4GFSGW2A&data=02%7C01%7C%7Cf6e0902457bf4724da9208d8363e6e9d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637318989051265274&sdata=NEDVlCUrVRPydgOmDs0dSTq%2FkPNp8Kx0YDOw5FbMvRA%3D&reserved=0.

larsbrinkhoff commented 4 years ago

Sorry, maybe this link works better:
https://github.com/PDP-10/its/issues/1420

jh95468 commented 4 years ago

I forgot to answer Lars' earlier question (last November) about COMSYS configuration. So, what I remember....

COMSYS didn't have a lot of settings since it only ran on one machine - DM. Configuration of all sorts was kept in MDL data structures, which could be written out to disk. I don't recall if it actually had to do that though; everything might have been in the COMSYS demon file and included in the startup. There was never any need to make elaborate configuration options so it could be tailored to run on different machines; I'd just change the code and re-save the demon file.

However, each user (mailbox) in COMSYS had the option to have a custom configuration that would be loaded whenever COMSYS was operating on a message on behalf of that user. That configuration "script" (MDL function) was saved in the message storage just like everything else, and would run as needed. It could certainly do <FLOAD ...> of any file that the particular user wanted. So that might be what you're finding in COMSAV - various "mailbox" on-the-fly processing files.

Users used (and abused?) this capability. For example, someone set up a mailbox and used it to have the COMSYS demon do MDL compiles. He would send his source to that mailbox and somewhat later it would send the results back. That avoided a lot of peer pressure to stop hogging memory and CPU cycles, since no one but me could easily tell what COMSYS was doing.

I have no idea if TRIVIA was built as an email-based "user" running within COMSYS' world. It certainly could have been, simply by defining a mailbox to interact with TRIVIA players, creating an appropriate COMSYS "script" containing the TRIVIA engine to receive and process incoming mail and send out results. That might have been what files like TAILOR TRIVIA were.

MSB (Mike Broos) also did a lot of work on a "message store", essentially a database, as part of a project called MME (Military Message Experiment). You might look in MSB; and/or for files MME for more clues. That work revealed some limitations of ITS. In particular, doing the traditional technique of LOCK files to manage access to data files didn't always work - his database would get corrupted. Diving into the code revealed that the problem was that simply CLOSing a file didn't guarantee it got out to disk. With that fixed (introducing a system call analogous to Unix "sync"), files still got corrupted, but less often. It turned out you had to not only make sure the file blocks made it to the physical disk, you had to make sure the updated directory blocks were also written out. Duh. The frequent crashes (mostly memory failures) actually helped make this problem annoying enough that we could find it and fix.

/Jack Haverty MIT-DM 1970-1977

taa01776 commented 4 years ago

Trivia was a standalone application--did not have any connection to COMSYS. And you've refreshed my memory--I think Marc's data store was for MME, though for some reason I've always associated it with COMSYS. As I recall, it used shared memory, and could lock individual objects within the data file, rather than locking the whole file (SETOM and AOSE were involved...).

marcblank commented 4 years ago

As I recall, the word MADMAN was used to indicate a piece of data in my implementation. The database itself might have been an ASYLUM. The database was a single file with internal memory allocation, if I’m remembering correctly.

Marc


From: Timothy Anderson notifications@github.com Sent: Saturday, August 1, 2020 12:43:01 PM To: PDP-10/its its@noreply.github.com Cc: marcblank marc.blank@live.com; Mention mention@noreply.github.com Subject: Re: [PDP-10/its] Trivia game (#1420)

Trivia was a standalone application--did not have any connection to COMSYS. And you've refreshed my memory--I think Marc's data store was for MME, though for some reason I've always associated it with COMSYS. As I recall, it used shared memory, and could lock individual objects within the data file, rather than locking the whole file (SETOM and AOSE were involved...).

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FPDP-10%2Fits%2Fissues%2F1420%23issuecomment-667578279&data=02%7C01%7C%7C8406f7d61f904a10b2c108d836531a63%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637319077829141359&sdata=PLTzeTfHliZrXMC7lOr7roQJjaVGDdzTyrTP68u4Tgk%3D&reserved=0, or unsubscribehttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAEIO63EJG35WD7A466BKM5DR6RV4LANCNFSM4GFSGW2A&data=02%7C01%7C%7C8406f7d61f904a10b2c108d836531a63%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637319077829141359&sdata=5d4NO%2FDpGmbaCupeVWnbKotQbDt4RZpL%2FUcqcAdSEbs%3D&reserved=0.

marcblank commented 4 years ago

I also recall that Al Vezza was not all that impressed with the nomenclature. And yes it was intended for MME originally, but TRIVIA was a far more worthwhile use case. 😀

Marc


From: Marc Blank marc.blank@live.com Sent: Saturday, August 1, 2020 12:49:13 PM To: PDP-10/its reply@reply.github.com; PDP-10/its its@noreply.github.com Cc: Mention mention@noreply.github.com Subject: Re: [PDP-10/its] Trivia game (#1420)

As I recall, the word MADMAN was used to indicate a piece of data in my implementation. The database itself might have been an ASYLUM. The database was a single file with internal memory allocation, if I’m remembering correctly.

Marc


From: Timothy Anderson notifications@github.com Sent: Saturday, August 1, 2020 12:43:01 PM To: PDP-10/its its@noreply.github.com Cc: marcblank marc.blank@live.com; Mention mention@noreply.github.com Subject: Re: [PDP-10/its] Trivia game (#1420)

Trivia was a standalone application--did not have any connection to COMSYS. And you've refreshed my memory--I think Marc's data store was for MME, though for some reason I've always associated it with COMSYS. As I recall, it used shared memory, and could lock individual objects within the data file, rather than locking the whole file (SETOM and AOSE were involved...).

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FPDP-10%2Fits%2Fissues%2F1420%23issuecomment-667578279&data=02%7C01%7C%7C8406f7d61f904a10b2c108d836531a63%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637319077829141359&sdata=PLTzeTfHliZrXMC7lOr7roQJjaVGDdzTyrTP68u4Tgk%3D&reserved=0, or unsubscribehttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAEIO63EJG35WD7A466BKM5DR6RV4LANCNFSM4GFSGW2A&data=02%7C01%7C%7C8406f7d61f904a10b2c108d836531a63%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637319077829141359&sdata=5d4NO%2FDpGmbaCupeVWnbKotQbDt4RZpL%2FUcqcAdSEbs%3D&reserved=0.

marcblank commented 4 years ago

BTW, I really do miss PDP-10 assembly language. Must be some kind of pathology.


From: Marc Blank marc.blank@live.com Sent: Saturday, August 1, 2020 12:51:24 PM To: PDP-10/its reply@reply.github.com; PDP-10/its its@noreply.github.com Cc: Mention mention@noreply.github.com Subject: Re: [PDP-10/its] Trivia game (#1420)

I also recall that Al Vezza was not all that impressed with the nomenclature. And yes it was intended for MME originally, but TRIVIA was a far more worthwhile use case. 😀

Marc


From: Marc Blank marc.blank@live.com Sent: Saturday, August 1, 2020 12:49:13 PM To: PDP-10/its reply@reply.github.com; PDP-10/its its@noreply.github.com Cc: Mention mention@noreply.github.com Subject: Re: [PDP-10/its] Trivia game (#1420)

As I recall, the word MADMAN was used to indicate a piece of data in my implementation. The database itself might have been an ASYLUM. The database was a single file with internal memory allocation, if I’m remembering correctly.

Marc


From: Timothy Anderson notifications@github.com Sent: Saturday, August 1, 2020 12:43:01 PM To: PDP-10/its its@noreply.github.com Cc: marcblank marc.blank@live.com; Mention mention@noreply.github.com Subject: Re: [PDP-10/its] Trivia game (#1420)

Trivia was a standalone application--did not have any connection to COMSYS. And you've refreshed my memory--I think Marc's data store was for MME, though for some reason I've always associated it with COMSYS. As I recall, it used shared memory, and could lock individual objects within the data file, rather than locking the whole file (SETOM and AOSE were involved...).

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FPDP-10%2Fits%2Fissues%2F1420%23issuecomment-667578279&data=02%7C01%7C%7C8406f7d61f904a10b2c108d836531a63%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637319077829141359&sdata=PLTzeTfHliZrXMC7lOr7roQJjaVGDdzTyrTP68u4Tgk%3D&reserved=0, or unsubscribehttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAEIO63EJG35WD7A466BKM5DR6RV4LANCNFSM4GFSGW2A&data=02%7C01%7C%7C8406f7d61f904a10b2c108d836531a63%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637319077829141359&sdata=5d4NO%2FDpGmbaCupeVWnbKotQbDt4RZpL%2FUcqcAdSEbs%3D&reserved=0.

dlebling618 commented 4 years ago

Trivia was a standalone application--did not have any connection to COMSYS. And you've refreshed my memory--I think Marc's data store was for MME, though for some reason I've always associated it with COMSYS. As I recall, it used shared memory, and could lock individual objects within the data file, rather than locking the whole file (SETOM and AOSE were involved...).

I have a strong but possibly incorrect memory that COMSYS also was retrofitted with Marc's MME/MADMAN/whatever data store.

I also recall that Al Vezza was not all that impressed with the nomenclature. And yes it was intended for MME originally, but TRIVIA was a far more worthwhile use case. 😀 Marc

A new no-fun age was dawning while all this was going on, and Al was worried that some Senator (like Mike Mansfield or William Proxmire) would find one of our funny names for things ("Muddle" comes to mind) and make a big deal about it. That's one reason why we always came up with "real world useful" explanations for our hacks.

eswenson1 commented 4 years ago

Marc: well, maybe you want to re-experience the bliss of MIDAS by writing a new zork-like game for ITS in it?

Or you could rewrite the missing MDL compiler so we could recompile Zork?

Or you could implement the missing runtime support so we could re-link/dump Zork?

How 'bout it? :-)

jh95468 commented 4 years ago

Trivia was a standalone application--did not have any connection to COMSYS. And you've refreshed my memory--I think Marc's data store was for MME, though for some reason I've always associated it with COMSYS. As I recall, it used shared memory, and could lock individual objects within the data file, rather than locking the whole file (SETOM and AOSE were involved...).

I have a strong but possibly incorrect memory that COMSYS also was retrofitted with Marc's MME/MADMAN/whatever data store.

If COMSYS was changed to use the datastore, I don't remember it at all, so if it happened it must have been after I left MIT in 1977. That's certainly possible since I lost track of COMSYS. Actually, COMSYS was hard to get rid of, since it had a bunch of things it would watch internally (e.g., disk space) and it would send email to "COMSYS-MAINTAINER@MIT-DM" to warn about impending problems. When I was leaving, I set up COMSYS so all incoming mail to JFH@MIT-DM would be forwarded to my new account at BBN.

But I forgot that would involve COMSYS-MAINTAINER, which of course had a profile to simply forward all mail to JFH@MIT-DM. So for months I would get email whenever disk space got tight, which was frequent of course. Eventually after complaining to AV, the mail firehose stopped. But I don't know what he did (or most likely told someone to do) to change COMSYS' behavior. I think I had to set up my BBN mail system to just forward all the COMSYS-MAINTAINER traffic back to AV@MIT-DM.... or something like that.

Perhaps that was when the new datastore was introduced into COMSYS? A shared-memory approach with disk backing store would have been nice (lots like Multics actually), but we didn't have such stuff in ITS when I first wrote COMSYS. Or maybe KLH' COMSAT took over so it ran on all ITSes? I never did hear what happened.

/Jack

larsbrinkhoff commented 4 years ago

@eswenson1, hold your horses. The Muddle compiler and libraries may exist on some XX tapes. I'm exploring that option.

That said, PDP-10 hacking is a lot of fun! Especially on ITS. For me ITS is the best text adventure game where you explore unknown territories, learn about interesting characters, and solve riddles.

larsbrinkhoff commented 4 years ago

Re: loading Imlacs. I recall there was a boot loader that you frequently had to load into Imlac memory. It was accomplished by using the Imlac console switches and those big square push buttons to deposit instructions into memory. That was a frequent Monday-morning task to recover from weekend Mazing. I'm 99% sure that the code was a very basic boot loader to pull SSv or whatever down the TTY line from the PDP-10.

This has now been fully explored. An Imlac is supposed to have a 32-word bootstrap at location 40, whether in ROM or toggled in. To load SSV (or SST, STV, etc), run IMLOAD. It will instruct you to reset the Imlac and start from 40. The bootstrap loads a 64-word secondary block loader to address 17700. The block loader accepts the payload in blocks with start address/length information.

Late in the IMLACs' career, I hacked "standard start code" so that you could have a live SSV and a live Maze (or other program) in memory at the same time. I don't recall how one switched between them (probably-false memory says "there was a key combo")

Maze and some other programs load to address 10000 to coexist with SSV. The SSV key combo to jump there is Control-Shift-ESC. Well behaved programs return to SSV with Control-Z or similar.

larsbrinkhoff commented 4 years ago

I found more Trivia and Zork files from summer 1977. Must be a very early Zork!

Also a MUDSAV; TS MUD54 that seems to work. I just have to rebuilt ITS to include the "Message Slurper":

:mudsav;mud54
MUDDLE 54 IN OPERATION.:$ FATAL ERROR IPC DEVICE LOST $

I hope this was the last missing piece to be able to run the Trivia and Zork binaries.

larsbrinkhoff commented 4 years ago

Not quite there...

:marc;zork

Losers with the name LARS cannot play ZORK!

:KILL 
*zork$j!
*$l marc; ts zork
*win$g
Welcome to adventure.
You are in an open field west of a big white house, with a closed, locked
front door.
There is a small mailbox here.
>I'm sorry, you seem to have encountered an error in the program.
Send mail to DUNGEON@MIT-DMS describing what it was you tried to do.

FIRST-ARG-WRONG-TYPE!-ERRORS 
READSTRING 
Your score is 0 [total of 387 points], in 0 moves.
This score gives you the rank of Loser.
 :KILL
*

MADMAN SAVE is from July 1st 1977. Apparently the name Dungeon was in use already then.

heasm66 commented 3 years ago

You all are probably already aware of this, but some Trivia files have been released yesterday. The files are both source and compiled files from 1976-77.

https://github.com/MITDDC/trivia-1976-1977

marcblank commented 3 years ago

Fond memories of building this!

Marc


From: heasm66 notifications@github.com Sent: Wednesday, January 27, 2021 1:27:56 PM To: PDP-10/its its@noreply.github.com Cc: marcblank marc.blank@live.com; Mention mention@noreply.github.com Subject: Re: [PDP-10/its] Trivia game (#1420)

You all are probably already aware of this, but some Trivia files have been released yesterday. The files are both source and compiled files from 1976-77.

https://github.com/MITDDC/trivia-1976-1977https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMITDDC%2Ftrivia-1976-1977&data=04%7C01%7C%7C06b59b1802dc414c9fd708d8c30a69c0%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637473796771548151%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=gvVbnrj5fmK%2BIp5l95NLAV2vwEUaqB5%2BpRh8db649l0%3D&reserved=0

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FPDP-10%2Fits%2Fissues%2F1420%23issuecomment-768588760&data=04%7C01%7C%7C06b59b1802dc414c9fd708d8c30a69c0%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637473796771558147%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=CIH%2FLEsE74DAlrQQ3RZrJNkqbVywC9m%2BvWkLR9mt5do%3D&reserved=0, or unsubscribehttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAEIO63D3QJ5X46Q2FKHSMBDS4CANZANCNFSM4GFSGW2A&data=04%7C01%7C%7C06b59b1802dc414c9fd708d8c30a69c0%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637473796771568142%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=3qUTL8jCx2BIb4JMraCgcz0G25ytWuv4UritCOG8HG4%3D&reserved=0.

larsbrinkhoff commented 3 years ago

On top of the MITDCC files, a few more are needed to run TRIVIA. With those in place:


*trivia^K!

Documentation in MADMAN;TVDOC >.
Send mail describing any bugs encountered to TAA.
If TRIVIA absolutely refuses to work, :xfile taa;tvdown >.

TRIVIA.20.1

Your TRIVIA password:
Please confirm your chosen password,
Password:

The following information has been found more or less essential to new
TRIVIA users.  Please read it.

[help text]

Question #1 by TAA  Category: History  Worth: 1.000 points

Which of the Boston Adamses (as in Adams Chronicles) made
the family wealthy, and how did he do it?

Your answer:
larsbrinkhoff commented 3 years ago

The Trivia sources USEs the following library packages: CALSYM, TIMFCN, CALRDR, BUF, TTY, ASYLUM, MADMAN, STR, INFERIOR, MUDTEC. They all seem to be available on ToTS tapes, but have not been cleared yet.

For building, the usual stuff: GLUE, CLEAN, PURITY.

eswenson1 commented 3 years ago

Very cool, Lars. Can you get through it -- or it die later on after playing for a while?

larsbrinkhoff commented 3 years ago

I only tried four questions or so. It's not like I know the answers.

eswenson1 commented 3 years ago

Oh, so you can't get to the next question until you've correctly answered the last one?

taa01776 commented 3 years ago

Not at all. Trivia had user-submitted questions, which could be T/F/multiple-choice or short answer (might’ve been a couple other forms). Some of the answers (not multiple choice) had to be scored by the submitter. It was competitive; Dave was always top of the leader board, of course. -ta


Ceterum autem censeo Microsoftem esse delendam.

From: Eric Swenson notifications@github.com Sent: Thursday, January 28, 2021 12:19 PM To: PDP-10/its its@noreply.github.com Cc: Anderson, Timothy A. taa@stresearch.com; Mention mention@noreply.github.com Subject: Re: [PDP-10/its] Trivia game (#1420)

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

Oh, so you can't get to the next question until you've correctly answered the last one?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/PDP-10/its/issues/1420#issuecomment-769241846, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAM5GXLVDXDWMASBOM5IYKLS4GMATANCNFSM4GFSGW2A.

heasm66 commented 3 years ago

@eswenson1 I asume you are EJS?

I don't know how MSGS work so I can't answer you inside ITS.

To get TRIVIA to work you need to create a fiule in your home directory:

:create ejs;_msgs_ ejs

*:trivia

Then:

Documentation in MADMAN;TVDOC >.
Send mail describing any bugs encountered to TAA.
If TRIVIA absolutely refuses to work, :xfile taa;tvdown >.

TRIVIA.20.1

Your TRIVIA password:
eswenson1 commented 3 years ago

Thanks, @heasm66. I forgot about the need for the MSGS EJS file. I seem to remember seeing this with ZORK too when I got it running. Thanks. I'll do it.

To send an interactive message on ITS, use :SEND <UNAME><CR> and then type your multi-line message. End with a . For example:

:SEND EJS
Here is a message.
^C
heasm66 commented 3 years ago

My MSGS file gets purged when I log out... I have to recreate it every time (on the its.pdp-10.se server). Strange because other files I create in my directory remains. How come?

eswenson1 commented 3 years ago

That's strange. I've never seen that behavior before.

larsbrinkhoff commented 3 years ago

I looked into the dissapearing _MSGS_ files. DDT reads the text in the file, then deletes it. This was apparently introduced between DDT 1000 and DDT 1072 (we don't have anything in between) in 1978. It doesn't say so explicitly in DDT RECENT, but probably in this update by @BobKerns:


DDT 1072        RWK 10/12/78

Bug fixes prepratory to release to other machines, primarily.

:MSGS (and :GMSGS) now uses a database of dates, rather than a date file.
This eliminates the need for a large percentage of the files on the public
directories, and side-steps the question of what the file should be
called.
eswenson1 commented 1 year ago

Attempting to run TRIVIA with the MDL 54 that we build in KA, I get:

*trivia^K!

Documentation in MADMAN;TVDOC >.
Send mail describing any bugs encountered to TAA.
If TRIVIA absolutely refuses to work, :xfile taa;tvdown >.
PDLOV; -322>>0   0/   400000,,734222   0/   400000,,734222

This is on a KA system (pdp10-ka). This is using the SYS;TS TRIVIA from tape 9006234 and the MADMAN;TRV SAVFIL from the same tape. Did this combination work for you? Or did you have to use the TS MUD54 from DM backup tapes?

eswenson1 commented 1 year ago

Interesting, when I try to restore MADMAN;TRV SAVFIL into MDL 54, I get:

mud54^K!
MUDDLE 54 IN OPERATION.
LISTENING-AT-LEVEL 1 PROCESS 1
<RESTORE "madman;trv savfil">$

*ERROR*
MUDDLE-VERSIONS-DIFFER
RESTORE
LISTENING-AT-LEVEL 2 PROCESS 1

So that SAVE file must be for MDL 53. So I'm guessing, you were able to get this running by creating a new SAVE file for MDL 54? @larsbrinkhoff

eswenson1 commented 1 year ago

I tried to load MARC;TVDEFS > into a MDL 54 and got the error:

*mud54^K!
MUDDLE 54 IN OPERATION.
LISTENING-AT-LEVEL 1 PROCESS 1
<FLOAD "marc;tvdefs >">$

*ERROR*
UNBOUND-VARIABLE
USE
VALUE
LISTENING-AT-LEVEL 2 PROCESS 1

That makes sense. Since I don't have the MDL 54 pure library available and the MDL 54 executable doesn't have a package system. So you must have used a TS MUD54 from ToTS and a corresponding MUDSAV;SAV FILE and MUDSAV;FIXUP FILE.