Difference between revisions of "Tymshare Base-Host Protocol"
(Funny picture.) |
(Link to SUMEX-AIM.) |
||
(14 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | [[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 | ||
+ | |} | ||
+ | |||
+ | 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" | {| class="wikitable" | ||
− | | | + | | 200+''n'' |
| Port | | Port | ||
− | |||
| 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 | ||
+ | |} | ||
+ | |||
+ | |||
+ | 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 | + | | Supervisor response to establishing auxiliary circuit. |
|- | |- | ||
| 10 | | 10 | ||
+ | | B | ||
| NOP | | NOP | ||
− | | | + | | Back pressure on. |
|- | |- | ||
| 11 | | 11 | ||
+ | | B | ||
| OUP | | OUP | ||
− | | | + | | 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 | + | | Term characteristics probe, data byte indicates which terminal characteristic were requested. |
|- | |- | ||
| 40 | | 40 | ||
+ | | D | ||
| TCR | | TCR | ||
− | | Term | + | | 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 | + | | 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: | + | [[Category: Network Protocols]] |
Latest revision as of 07:26, 10 June 2023
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
- Tymnet information from Norman Hardy
- (FREMONTDOC)TBASE.DOC - TYMCOM-X documenting the Tymeshare Base-Host Protocol.