Difference between revisions of "Tymshare Base-Host Protocol"

From Computer History Wiki
Jump to: navigation, search
(This version from 1975.)
(Link to SUMEX-AIM.)
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{stub}}
+
[[Image:Tymnet-man1.jpg|thumb|right|Humorous visualization of Tymnet protocol]]
 +
 
 +
This documents the [[protocol]], as used around 1975-1982, between a [[PDP-10]] [[host]] and Varian 620 TymBAS.  At a low level, the interface consists of [[shared memory]]; one page (512 words) at [[address]] 02000 (octal).  The memory has some [[meta-data]] and [[ring buffer]]s for input and output.  The host and the TymBAS regularly poll this memory for updates.
 +
 
 +
Messages are transmitted from the PDP-10 as 36-bit [[word]]s with four [[octet]]s in bits 0-31.  Bits 32-35 are unused.
 +
 
 +
Message types A, B, C, and D are just 4 octets.
 +
 
 +
{| class="wikitable"
 +
| Message number
 +
| Port
 +
| Subtype or data
 +
| Data
 +
|}
  
[[Image:Tymnet-man1.jpg|thumb|right|Humorous visualization of Tymnet protocol]]
+
Type F messages total 8 octets:
  
This documents the protocol, as used around 1975, between a PDP-10 host and Varian 620 Tymbase.
+
{| class="wikitable"
 +
| Message number
 +
| Port
 +
| Data
 +
| Data
 +
|-
 +
| Data
 +
| Data
 +
| Unused
 +
| Unused
 +
|}
  
Packets start with a 4-octet headerMore data may optionally follow after the header, depending on the packet type.
+
Type G messages have a variable number of octetsThe message number is 0200 (octal) plus the number of data octets following the 16-bit [[header]].  The last word is padded out to a 36-bit boundary.
  
 
{| class="wikitable"
 
{| class="wikitable"
| Packet type
+
| 200+''n''
 
| Port
 
| Port
| Subtype
 
 
| Data
 
| Data
 +
| Data
 +
|-
 +
| colspan="4" | Data as per ''n''
 +
|-
 +
| colspan="3" | ...
 +
| Padding
 +
|}
 +
 +
Type H messages are for sending or receiving a block of words.
 +
 +
{| class="wikitable"
 +
| Message number
 +
| Port
 +
| Word count, high 8 bits
 +
| Word count, low 8 bits
 +
|-
 +
| Address, high 8 bits
 +
| Address, middle 8 bits
 +
| Address, low 8 bits
 +
| Unused
 
|}
 
|}
  
Packet types.  Any number not in this list is illegal.
+
 
 +
Messages.  Any number not in this list is illegal.  Numbers 1-41 were present in 1975.  Numbers 42-61 were added around 1982.
 
{| class="wikitable"
 
{| class="wikitable"
 
| Number
 
| Number
 +
| Type
 
| Name
 
| Name
 
| Comment
 
| Comment
 
|-
 
|-
 
| 1
 
| 1
 +
| A
 
| ANS
 
| ANS
 
| System is answering.
 
| System is answering.
 
|-
 
|-
 
| 2
 
| 2
 +
| A
 
| SHT
 
| SHT
 
| System is up but shut.
 
| System is up but shut.
 
|-
 
|-
 
| 3
 
| 3
 +
| A
 
| CRS
 
| CRS
 
| Sender is crashed.
 
| Sender is crashed.
 
|-
 
|-
 
| 4
 
| 4
 +
| A
 
| DIE
 
| DIE
 
| Recipient should crash.
 
| Recipient should crash.
 
|-
 
|-
 
| 5
 
| 5
 +
| A
 
| NSP
 
| NSP
 
| Base taken over by new supervisor.
 
| Base taken over by new supervisor.
 
|-
 
|-
 
| 6
 
| 6
 +
| B
 
| LOG
 
| LOG
 
| Login, next 4 data characters are the info about terminal type, and port or origin, then name, etc.
 
| Login, next 4 data characters are the info about terminal type, and port or origin, then name, etc.
 
|-
 
|-
 
| 7
 
| 7
 +
| B
 
| AUX
 
| AUX
| Supervisor response to establishing auxillary circuit.
+
| Supervisor response to establishing auxiliary circuit.
 
|-
 
|-
 
| 10
 
| 10
 +
| B
 
| NOP
 
| NOP
| Backpressure on.
+
| Back pressure on.
 
|-
 
|-
 
| 11
 
| 11
 +
| B
 
| OUP
 
| OUP
| Backpressure off.
+
| Back pressure off.
 
|-
 
|-
 
| 12
 
| 12
 +
| B
 
| GOB
 
| GOB
 
| Character gobbler.
 
| Character gobbler.
 
|-
 
|-
 
| 13
 
| 13
 +
| B
 
| ZAP
 
| ZAP
 
| Circuit zapper.
 
| Circuit zapper.
 
|-
 
|-
 
| 14
 
| 14
 +
| B
 
| EDC
 
| EDC
 
| Enter deferred echo mode.
 
| Enter deferred echo mode.
 
|-
 
|-
 
| 15
 
| 15
 +
| B
 
| LDC
 
| LDC
 
| Leave deferred echo mode.
 
| Leave deferred echo mode.
 
|-
 
|-
 
| 16
 
| 16
 +
| B
 
| GRN
 
| GRN
 
| Green ball.
 
| Green ball.
 
|-
 
|-
 
| 17
 
| 17
 +
| B
 
| RED
 
| RED
 
| Red ball.
 
| Red ball.
 
|-
 
|-
 
| 20
 
| 20
 +
| B
 
| YEL
 
| YEL
 
| Yellow ball.
 
| Yellow ball.
 
|-
 
|-
 
| 21
 
| 21
 +
| B
 
| ORG
 
| ORG
 
| Orange ball.
 
| Orange ball.
 
|-
 
|-
 
| 22
 
| 22
 +
| B
 
| HNG
 
| HNG
 
| Hang character - not used.
 
| Hang character - not used.
 
|-
 
|-
 
| 23
 
| 23
 +
| B
 
| ETM
 
| ETM
 
| Enter 2741 transparent mode.
 
| Enter 2741 transparent mode.
 
|-
 
|-
 
| 24
 
| 24
 +
| B
 
| LTM
 
| LTM
 
| Leave 2741 transparent mode.
 
| Leave 2741 transparent mode.
 
|-
 
|-
 
| 25
 
| 25
 +
| C
 
| LOS
 
| LOS
 
| Lost ball, data has been lost from buffers.  The data filed may tell how many were lost.
 
| Lost ball, data has been lost from buffers.  The data filed may tell how many were lost.
 
|-
 
|-
 
| 26
 
| 26
 +
| C
 
| SUP
 
| SUP
 
| Supervisor request (aux circuits).
 
| Supervisor request (aux circuits).
 
|-
 
|-
 
| 27
 
| 27
 +
| C
 
| SUR
 
| SUR
 
| Supervisor response (aux circuits).
 
| Supervisor response (aux circuits).
 
|-
 
|-
 
| 30
 
| 30
 +
| C
 
| AXC
 
| AXC
 
| Supervisor string character.
 
| Supervisor string character.
 
|-
 
|-
 
| 31
 
| 31
 +
| F
 
| TSP
 
| TSP
 
| Test pattern probe.
 
| Test pattern probe.
 
|-
 
|-
 
| 32
 
| 32
 +
| F
 
| TSR
 
| TSR
 
| Test pattern response.
 
| Test pattern response.
 
|-
 
|-
 
| 33
 
| 33
 +
| F
 
| SAD
 
| SAD
 
| Host sad.
 
| Host sad.
 
|-
 
|-
 
| 34
 
| 34
 +
| B
 
| ECN
 
| ECN
 
| Echo on.
 
| Echo on.
 
|-
 
|-
 
| 35
 
| 35
 +
| B
 
| ECF
 
| ECF
 
| Echo off.
 
| Echo off.
 
|-
 
|-
 
| 36
 
| 36
 +
| D
 
| TCS
 
| TCS
 
| Term characteristics, first data byte indicates which characteristics second data byte indicates value to set to.
 
| Term characteristics, first data byte indicates which characteristics second data byte indicates value to set to.
 
|-
 
|-
 
| 37
 
| 37
 +
| C
 
| TCP
 
| TCP
| Term characteristcs probe, data byte indicates which terminal characteristic were requested.
+
| Term characteristics probe, data byte indicates which terminal characteristic were requested.
 
|-
 
|-
 
| 40
 
| 40
 +
| D
 
| TCR
 
| TCR
| Term characteristcs response, data is just like TCS, comes in response to a probe; also is reflected by remote when terminal characteristics are sent.
+
| Term characteristics response, data is just like TCS, comes in response to a probe; also is reflected by remote when terminal characteristics are sent.
 
|-
 
|-
 
| 41
 
| 41
 +
| C
 
| HSI
 
| HSI
| Host up and answereing with # of ports in port byte, and host # in data byte.
+
| Host up and answering with # of ports in port byte, and host # in data byte.
 +
|-
 +
| 42
 +
| A
 +
| CLP
 +
| Super clock info request.
 +
|-
 +
| 43
 +
| F
 +
| CLR
 +
| Super clock info.
 +
|-
 +
| 44
 +
| H
 +
| BKO
 +
| Start block output.
 +
|-
 +
| 45
 +
| B
 +
| BOC
 +
| Block output complete.
 +
|-
 +
| 46
 +
| H
 +
| BIN
 +
| Start block input.
 +
|-
 +
| 47
 +
| D
 +
| INB
 +
| Block input done, out of buffer.
 +
|-
 +
| 50
 +
| D
 +
| INE
 +
| Block input done, completed.
 +
|-
 +
| 51
 +
| D
 +
| INT
 +
| Block input done, timeout.
 +
|-
 +
| 52
 +
| B
 +
| IRQ
 +
| Request block input termination.
 +
|-
 +
| 53
 +
| D
 +
| IHR
 +
| Block input done, host request.
 +
|-
 +
| 54
 +
| B
 +
| ORQ
 +
| Request block output termination.
 +
|-
 +
| 55
 +
| B
 +
| OHR
 +
| Block output done, host request.
 +
|-
 +
| 56
 +
| C
 +
| NEG
 +
| Block IO port negotiation.
 +
|-
 +
| 57
 +
| B
 +
| BRK
 +
| Break character received.
 +
|-
 +
| 60
 +
| C
 +
| PSR
 +
| Port status.
 +
|-
 +
| 61
 +
| B
 +
| EAO
 +
| Enter alt output device mode.
 +
|-
 +
| 0200+''n''
 +
| G
 +
|
 +
| Data.
 
|}
 
|}
  
This information comes from the SUMEX-AIM monitor file TYMSRV.MAC, written by Michael A. Heathman in 1975.
+
This information comes from the [[SUMEX-AIM]] monitor file TYMSRV.MAC, written by Michael A. Heathman in 1975.  Additional updates from the [[SRI-NIC]] version from 1982.
 +
 
 +
{{semi-stub}}
 +
 
 +
==External links==
 +
 
 +
* [http://cap-lore.com/Tymnet/ Tymnet information from Norman Hardy]
 +
* [https://github.com/TYMCOM-X/169281.tape/blob/61a4c1fcd77c19952506cd141ca9bb9dd0adfd4c/fremontdoc/tbase.doc (FREMONTDOC)TBASE.DOC] - TYMCOM-X documenting the Tymeshare Base-Host Protocol.
  
[[Category: Networking]]
+
[[Category: Network Protocols]]

Latest revision as of 07:26, 10 June 2023

Humorous visualization of Tymnet protocol

This documents the protocol, as used around 1975-1982, between a PDP-10 host and Varian 620 TymBAS. At a low level, the interface consists of shared memory; one page (512 words) at address 02000 (octal). The memory has some meta-data and ring buffers for input and output. The host and the TymBAS regularly poll this memory for updates.

Messages are transmitted from the PDP-10 as 36-bit words with four octets in bits 0-31. Bits 32-35 are unused.

Message types A, B, C, and D are just 4 octets.

Message number Port Subtype or data Data

Type F messages total 8 octets:

Message number Port Data Data
Data Data Unused Unused

Type G messages have a variable number of octets. The message number is 0200 (octal) plus the number of data octets following the 16-bit header. The last word is padded out to a 36-bit boundary.

200+n Port Data Data
Data as per n
... Padding

Type H messages are for sending or receiving a block of words.

Message number Port Word count, high 8 bits Word count, low 8 bits
Address, high 8 bits Address, middle 8 bits Address, low 8 bits Unused


Messages. Any number not in this list is illegal. Numbers 1-41 were present in 1975. Numbers 42-61 were added around 1982.

Number Type Name Comment
1 A ANS System is answering.
2 A SHT System is up but shut.
3 A CRS Sender is crashed.
4 A DIE Recipient should crash.
5 A NSP Base taken over by new supervisor.
6 B LOG Login, next 4 data characters are the info about terminal type, and port or origin, then name, etc.
7 B AUX Supervisor response to establishing auxiliary circuit.
10 B NOP Back pressure on.
11 B OUP Back pressure off.
12 B GOB Character gobbler.
13 B ZAP Circuit zapper.
14 B EDC Enter deferred echo mode.
15 B LDC Leave deferred echo mode.
16 B GRN Green ball.
17 B RED Red ball.
20 B YEL Yellow ball.
21 B ORG Orange ball.
22 B HNG Hang character - not used.
23 B ETM Enter 2741 transparent mode.
24 B LTM Leave 2741 transparent mode.
25 C LOS Lost ball, data has been lost from buffers. The data filed may tell how many were lost.
26 C SUP Supervisor request (aux circuits).
27 C SUR Supervisor response (aux circuits).
30 C AXC Supervisor string character.
31 F TSP Test pattern probe.
32 F TSR Test pattern response.
33 F SAD Host sad.
34 B ECN Echo on.
35 B ECF Echo off.
36 D TCS Term characteristics, first data byte indicates which characteristics second data byte indicates value to set to.
37 C TCP Term characteristics probe, data byte indicates which terminal characteristic were requested.
40 D TCR Term characteristics response, data is just like TCS, comes in response to a probe; also is reflected by remote when terminal characteristics are sent.
41 C HSI Host up and answering with # of ports in port byte, and host # in data byte.
42 A CLP Super clock info request.
43 F CLR Super clock info.
44 H BKO Start block output.
45 B BOC Block output complete.
46 H BIN Start block input.
47 D INB Block input done, out of buffer.
50 D INE Block input done, completed.
51 D INT Block input done, timeout.
52 B IRQ Request block input termination.
53 D IHR Block input done, host request.
54 B ORQ Request block output termination.
55 B OHR Block output done, host request.
56 C NEG Block IO port negotiation.
57 B BRK Break character received.
60 C PSR Port status.
61 B EAO Enter alt output device mode.
0200+n G Data.

This information comes from the SUMEX-AIM monitor file TYMSRV.MAC, written by Michael A. Heathman in 1975. Additional updates from the SRI-NIC version from 1982.

External links