Tymshare Base-Host Protocol: Difference between revisions

From Computer History Wiki
Jump to navigationJump to search
Larsbrinkhoff (talk | contribs)
Stub. Info from SUMEX-AIM TYMSRV.MAC.
 
Larsbrinkhoff (talk | contribs)
Link to SUMEX-AIM.
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{stub}}
[[Image:Tymnet-man1.jpg|thumb|right|Humorous visualization of Tymnet protocol]]


Packets start with a 4-octet headerMore data may optionally follow after the header, depending on the packet type.
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"
{| class="wikitable"
| Packet type
| Message number
| Port
| Port
| Subtype
| Subtype or data
| Data
| Data
|}
|}


Packet types.  Any number not in this list is illegal.
Type F messages total 8 octets:
 
{| class="wikitable"
| 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.
 
{| class="wikitable"
| 200+''n''
| Port
| 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
|}
 
 
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: Network Protocols]]

Latest revision as of 06: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