PDP-10 / its

Incompatible Timesharing System
Other
868 stars 84 forks source link

Knight TV emulator #279

Closed larsbrinkhoff closed 6 years ago

larsbrinkhoff commented 7 years ago

For many years, the primary way to access Al was from the Knight TV terminal system, which was designed by Tom Knight.

The Knight TVs are bit-mapped frame buffer displays controlled by a small PDP-11. The TV-11 is connected to the PDP-10 via a special PDP10-to-PDP11 interface which allows the PDP-11's memory to be mapped into the PDP-10. A Knight TV console consists of a CRT display, and a keyboard similar to those on the SAIL TV system used at Stanford. -- Getting Started

knight2

Knight TV Controllers at MIT AI Lab. https://www.computerhistory.org/collections/catalog/102803892 102803892-03-01-acc

larsbrinkhoff commented 6 years ago

I think this is the only other ITS video. A directory listing is briefly visible a few seonds in.
http://projects.csail.mit.edu/video/history/aifilms/96-worm.mp4

There are a few with the PDP-6 showcasing chess, SHRDLU, and Mathlab. But there's no evidence of timesharing.

larsbrinkhoff commented 6 years ago

Again, evidence that there wasn't a one-to-one mapping between frame buffers and TV displays. I received an email with this:

There was battle for screens, of course, as there were more KnightTV terminals than PDP-11 buffers.

larsbrinkhoff commented 6 years ago

The TV frame buffers were made out of Intel RAM chips. This doesn't sound like the primary PDP-11/10 memory (did it use core memory?).

atsampson commented 6 years ago

Picture of a Knight TV console, from news:yzl1wj4vdhl.fsf@news.dtpq.com - Christopher Stacy thinks he took the photo.

https://hack.org/mc/tmp/knight-console.jpg

larsbrinkhoff commented 6 years ago

Hooray! It's so beautiful. Thanks @cstacy and @mchackorg.

larsbrinkhoff commented 6 years ago

I got an answer from MIT that higher resolution videos are possible, but for a price. Probably steep.

larsbrinkhoff commented 6 years ago

By the looks of it, there's not a lot of electronics in the console. I suppose it's all in or around the TV-11, and there are just cables going from the video switch to the displays.

larsbrinkhoff commented 6 years ago

There has been some progress on this recently. I added the PDP-10 side of the Rubin 10-11 interface to the KA10 emulator (pull request pending). And @aap started on a PDP-11 emulator to run the TV-11 code.

larsbrinkhoff commented 6 years ago

I think we'll have to do some mapping from the Knight keyboard to the host keyboard. I'm not sure about all details, but I think CALL is used like ^Z to log in. And maybe ESC is the key to do thing like switch framebuffer, see the free display etc. Maybe ALT is the key for ASCII ESC? I wonder what BREAK does. TOP needs a key.

duckophile commented 6 years ago

I would have sworn that the RAM was 1101's, but the schematics show 2118's. Am I thinking of the Logo TVs?

larsbrinkhoff commented 6 years ago

Weren't there two Logo TVs, a monochrome and a color version? In any case I only saw them mentioned in passing in a Logo memo, so I don't think there's a lot of info out there.

Xerox MAXC used 1103's for memory.

Devon7 commented 6 years ago

On Jul 23, 2018, at 11:39 AM, duckophile notifications@github.com wrote: I would have sworn that the RAM was 1101's, but the schematics show 2118's. Am I thinking of the Logo TVs?

Never heard of that chip, maybe you mean the one at https://en.wikipedia.org/wiki/Intel_1103?

    Peace
        —Devon

P.S. I’d like to find the TV-11 code... the IMP code too, which ran on DDP-516 or H-316 sixteen bit minicomputers not unlike the PDP-11.

duckophile commented 6 years ago

My memory's never been as good as I'd like to think it once was. I meant 1103, the 1Kbit DRAM.

atsampson commented 6 years ago

@Devon7:

P.S. I’d like to find the TV-11 code...

It's in this repository: SYSTEM; TV >.

the IMP code too, which ran on DDP-516 or H-316 sixteen bit minicomputers not unlike the PDP-11.

Several versions of the IMP source code were recovered a few years ago - see Resurrection of the 1973 IMP code. The AHC paper there is well worth a read!

larsbrinkhoff commented 6 years ago

@Devon7 we recently began work on resurrecting the TV-11. I made a simulation of the Rubin 10-11 interface. I successfully STUFFed a SIMH PDP-11 with a hello world program. @aap is writing a PDP-11 emulator for doing the display and keyboard end of things.

larsbrinkhoff commented 6 years ago

From AI WP 227:

The Knight TVs are controlled by the PDP-11 against the wall near the AI PDP-10. You can't miss it; it is the large rack with all the wires hanging out. It is extremely fragile.

If the TV-11 should crash, locate one of the people listed in the back of this document.

Before the TV system can be reloaded, it must be running. To start the TV-11 running, Halt it, Load Address 0 with 777, and Start the machine at 0. Run the STUFF program under ITS. If necessary, patch the value 1 into TT11P.

larsbrinkhoff commented 6 years ago

Here's a rendition of the keyboard layout. There are some differences from the original SAIL charset.


             ! " # $ % & ' ( ) _ = ` ~
   BREAK ESC 1 2 3 4 5 6 7 8 9 0 - @ ^ BS CALL

              ∧ ∨ ∩ ∪ ⊂ ⊃ ¬ ⊗ ↓ ↑ { } | ∞ Δ ∇
CLEAR TAB ALT Q W E R T Y U I O P [ ] \ / ⊖ ⊕

               ≤ ≥ ≡ ∂ ≠   ← → ↔ + *             BACK
FORM VT RUBOUT A S D F G H J K L ; : RETURN LINE NEXT

SHIFT           α β ε λ π ∀ ∃ < > ?
LOCK  TOP SHIFT Z X C V B N M , . / SHIFT TOP

META CTRL             SPACE          CTRL META
larsbrinkhoff commented 6 years ago

The differences are the keys labelled ⊖ and ⊕. Those symbols and Δ ∇ are not in Saildart's table. However, we can see in the TV-11 source code that in spite of the key labels, they were actually input as ±, ⊕, δ, γ. Those are part of the SUPDUP character set.

larsbrinkhoff commented 6 years ago

Martin Frost at SAIL, Datadisc display in the background. This was an inspiration for the Knight TV. frost

larsbrinkhoff commented 6 years ago

SAIL peripherals. Datadisc system to the left. I wish we had pictures like this from the MIT AI lab. sail-dd

larsbrinkhoff commented 6 years ago

The SAIL -> Knight TV -> CADR keyboards seem to have been a very smooth evolution. Here's one from the LMI CADR.

cadr-keyboard

atsampson commented 6 years ago

There are some good photos here of the keyboard PCB - it's a Micro Switch SD-16273.

larsbrinkhoff commented 6 years ago

I made this layout: knight-keyboard

larsbrinkhoff commented 6 years ago

@Devon7 @mctuva @duckophile,

Since you have shown interest in this thread, maybe you'd like to know we know have the TV-11 up and running in simulation. There's still some problem with the display being garbled, but almost there!

larsbrinkhoff commented 6 years ago

@mctuva,

We have found SUDS drawings for the 10-11 interface, and converted them to PNG files:
https://stuff.offog.org/its/suds/ten11n/

EDIT: I think that's the good stuff. There's another set here: https://stuff.offog.org/its/ten11/

larsbrinkhoff commented 6 years ago

Phosphor P39 has peak wavelength 525 nm. That should be RGB 4AFF00. Half life 190 or 280 ms depending on where you look, or this: p39

larsbrinkhoff commented 6 years ago

This is going to be fixed... sooner or later.. by #1107.

larsbrinkhoff commented 6 years ago

Lisp Logo on Knight TV display.

https://www.media.mit.edu/videos/144-lisp-logo-demonstration-henry-liberman/

larsbrinkhoff commented 5 years ago

I copied information about the Knight TV here: https://github.com/PDP-10/its/wiki/Knight-TV-and-keyboard Also added comments from Tom Knight.

larsbrinkhoff commented 5 years ago

David Moon wrote to ITS-LOVERS:

First I have to explain that ITS generally supported three kinds of terminals: off-the-shelf terminals, Imlac PDS-1 display computers, and Knight TVs.

The off-the-shelf terminals were what they were, we couldn't modify them (well, I modified one a little bit), and many different types were supported over the years. Generally they either did not have any special features that worked, or the special features were not used because not all terminals supported them, so these generally just displayed the 95 ASCII printing characters (sometimes only the 63 ASCII uppercase printing characters) in a 24x80 (sometimes different dimensions) array.

The Imlacs in the DM-CG group were vector graphics devices that were programmed to emulate ASCII terminals. There were also some graphic applications, the ones that I saw were games. The AI PDP-6 also had a DEC 340 vector graphics display which could be used as a somewhat illegible ASCII terminal emulator (as well as for graphics), with a Stanford keyboard.

The Knight TVs were shared-logic bit-mapped monochrome displays at NTSC resolution, with a single pdp-11 running all 14 displays.

Usually we were happy if a terminal just worked from one day to the next without smoke coming out and the screen going blank, and without the Intel 1103 SRAMs in the Knight TVs dying. Adding fancy features was not really in the picture.

  - what was the keyboard layout?

Different on every type of terminal. If you're asking specifically about the Knight keyboard, unlike SAIL MIT-AI did not deviate from the standard typewriter layout, except to add a few additional keys, the most notable being Call (to get the system's attention), Top (a shift key which survives as Alt on the IBM PC keyboard) to select alternative characters on top of the letter keys, and Meta (another shift key similar to control).

  - what support for text attributes (bold, dim/intense, underline, etc.), special characters (e.g., in the low 32 positions of ASCII), or graphics?

None (i.e. if you wanted your program to work on all terminals, you used the least common denominator of features). The Knight TVs had a random selection of mathematical symbols and lower-case greek letters in the 33 non-printing ASCII positions, and could be memory-mapped into pdp-10 address space for bit-mapped graphics. A few off-the-shelf terminals supported character attributes but I don't think these were used in any significant way. If they had been, character attributes probably would have been implemented in the Knight TVs, and they weren't.

dpeschel commented 5 years ago

The SAIL -> Knight TV -> CADR keyboards seem to have been a very smooth evolution. Here's one from the LMI CADR.

cadr-keyboard

Surprisingly, the MIT CADR and the Symbolics LM-2 supported both the Knight TV and the newer CADR keyboards, by mapping physical keys to abstract characters. For example TOP-RETURN on the Knight keyboard, or END on the CADR keyboard, both produce a character 224 octal. Some CADR keys (or characters) have no Knight keyboard equivalent though.

http://bitsavers.org//pdf/symbolics/LM-2/Operating_the_Lisp_Machine.pdf describes the equivalent keys. The MIT CADR sources (preserved by Brad Parker) include the code to handle both keyboards.

Also, I am 99% sure that Lars's comment about the characters ±, ⊕, δ, γ and the keys ⊖, ⊕, Δ, ∇ applies to the early LISP machine software. To me it's interesting how running Brad Parker's CADR emulator actually teaches you about ITS instead.

duckophile commented 5 years ago

keyboards Harvard/IBM Mark I compared to Knight - keyboards made a lot more progress in the first 30 years than they have in the time since then. The Knight keyboard is apparently from 826. KMP?

larsbrinkhoff commented 5 years ago

@dpeschel, "Operating" clearly says they used Knight keyboards, and switched to the new (Kulp) keyboards.

FYI @ams is now actively working on the CADR usim.

The MIT Lisp machine family shares a lot of history with ITS. It's virtually impossible to learn about one without learning about the other. Then the history of Logo ties into this, and whoops there's a lot of ideas from SAIL, etc, and on it goes.

larsbrinkhoff commented 5 years ago

@duckophile, nice picture! Is it in your possession?

I have room 826 occupied by Fredkin, as per SYSTEM; TV 147, SYSDOC; .CALLS 127, and TVKBD ROOMS.

I don't see any room number for KMP. Maybe @netsettler can chip in?

ams commented 5 years ago

It shouldn't be too surprising that the MIT CADR and the Symbolics LM-2 used the same keyboards, they are basically the same machine. Same for the LMI CADR. Indeed, the LMI LAMBDA used the same keyboard as the CADR's as well.

The file SYS: IO1; UKBD LISP documents implements both protocols, SYS: DOC; KBS TEXT has some initial design documentation on the Space Cadet.

larsbrinkhoff commented 5 years ago

Let's include this Wikipedia photo too. It's @MMcM's keyboard. Note the stain, same as in the keyboard closeup above.

larsbrinkhoff commented 5 years ago

Knight keyboard headcount:

larsbrinkhoff commented 5 years ago

Photo from an MIT hack: http://hacks.mit.edu/by_year/1992/cathedral_7/father_tool_description.html.

To take a closer look, we venture to the second floor. Here, we see the light from the middle window (Beaver) shines nicely onto the organ. The keyboard is constructed from 6 computer keyboards (4 VT-100 and 2 which are believe to be of the Knight-TV system style). A close look at the keyboards reveals that important messages are contained within them as well (Nerd Pride, 37619*, IHTFP, Our Lady of the All Night Tool, 3.14159).

I believe these are Knight keyboards due to how the left meta key is placed.

duckophile commented 5 years ago

Yes, I have both keyboards. I suggested KMP because that's the only period-correct name I recognized when I did a web search on NE43-826.

larsbrinkhoff commented 5 years ago

You're right, I see KMP referring to that room number. I see some messages from 184. Note the TV-11 stopped working in 1982.

duckophile commented 5 years ago

Didn't the TV-11 move across the tracks to CCC after it was retired from service in NE43? Or am I conflating it with the Logo TV system?

larsbrinkhoff commented 5 years ago

@hga wrote CCC got the Logo 11/45: https://github.com/PDP-10/its/issues/1164#issuecomment-429621591

He didn't say whether the TV system came along.

duckophile commented 5 years ago

I thought the Knight TV system saw years more service at CCC after it was decommissioned from the AI lab. My recollection is that it ran MINITS. I don't remember the story of the Logo TVs, I just remember that they existed.

lispwright commented 5 years ago

@hga wrote CCC got the Logo 11/45: #1164 (comment)

There were two TV systems, the original run by a PDP-11 (the first PDP-11 model, retronamed the 11/20) and connected to MIT-AI, and a more advanced one with fewer displays built for the Logo Lab's PDP-11/45, had a feature where sequential writes would line up properly to display a character top to bottom. CCC was started with the latter, and I suspect the first came along with the MIT-AI KA10 sometime later, there were certainly a lot of monitors and keyboards stacked up.

mctuva commented 5 years ago

CCC never had a PDP-10, so most likely had Logo TVs, which could be hosted by a PDP-11.

So I can gather that TK got back to us with details, or do I need to remind him again? (Being a CEO tends to keep one busy)

--Tim

On Mar 6, 2019, at 15:44, duckophile notifications@github.com wrote:

I thought the Knight TV system saw years more service at CCC after it was decommissioned from the AI lab. My recollection is that it ran MINITS. I don't remember the story of the Logo TVs, I just remember that they existed.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

duckophile commented 5 years ago

CCC did have a PDP-10 - they inherited the AI KA. I don't recall to what extent it ever ran, though.

I don't think there was a host machine for the TVs, my assumption was that the TV system's PDP11 was only connected via chaosnet, but I never really thought about it since I'd never known they had the ability to be memory mapped. I can almost picture an 11/04 or 11/34 attached to the TV system (at CCC), in addition to the 11/10, but I wouldn't bet a used lollipop on that being correct.

larsbrinkhoff commented 5 years ago

@duckophile , as far as I know, the original AI TV system never ran MINITS when at the AI Lab.

Looking into MINTS, there are these four TV systems:

larsbrinkhoff commented 5 years ago

@mctuva, we have recovered schematics for the 10-11 interface and printed them with SUDS. So you can leave TK alone.

cstacy commented 5 years ago

On 3/6/19 2:28 PM, Lars Brinkhoff wrote:

You're right, I see KMP referring to that room number. I see some messages from 184. Note the TV-11 stopped working in 1982.

I am sure that I used Knight TVs years after 1982.

mctuva commented 5 years ago

MINITS was the OS that ran on the AI lab's home-brew terminal concentrators, right?  Anything else? Weren't those like LSI-11s?

On 3/6/19 11:32 PM, Lars Brinkhoff wrote:

@duckophile https://github.com/duckophile , as far as I know, the original AI TV system never ran MINITS when at the AI Lab.

Looking into MINTS, there are these four TV systems:

  • NW16 Plasma Fusion Center TV system, aka KTV.
  • Building 38 Plasma Physics TV system.
  • Building 38 old TV system, aka GTV or Grinnell TV.
  • New AI TV system, aka CTV, by Chuck Linton.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/PDP-10/its/issues/279#issuecomment-470380959, or mute the thread https://github.com/notifications/unsubscribe-auth/ANh4HpIVj6Gi4E-XLFrF1wsLLgV2upYrks5vUJZvgaJpZM4LPLOk.