RFC205 日本語訳
0205 NETCRT - a character display protocol. R.T. Braden. August 1971. (Format: TXT=28272 bytes) (Status: UNKNOWN)
プログラムでの自動翻訳です。
英語原文
Network Working Group R. Braden Request for Comments: 205 UCLA/CCN NIC: 7172 6 August 1971
コメントを求めるワーキンググループR.ブレーデン要求をネットワークでつないでください: 205UCLA/CCN NIC: 7172 1971年8月6日
NETCRT - A CHARACTER DISPLAY PROTOCOL
NETCRT--キャラクタディスプレイプロトコル
At the May NWG, meeting, CCN circulated dittoed copies of a proposed character-display protocol NETCRT. Since that time, NETCRT has been revised significantly; the current version is now being published as an RFC, as promised last May.
5月のNWG、ミーティング、循環するCCNでは、提案されたキャラクタディスプレイの写されたコピーはNETCRTについて議定書の中で述べます。 その時以来、NETCRTはかなり改訂されています。 最新版は現在、RFC、去年の5月の約束にされるとして発行されています。
NETCRT was developed because a particular site (RAND) requested Network access to URSA, CCN's display-based crje system. The primary use of URSA at UCLA is conversational remote job entry from a display terminal: entering and editing program text, submitting programs for batch execution, and examining job output; URSA is not a general- purpose time-sharing system.
特定のサイト(RAND)がURSAへのNetworkアクセス、CCNのディスプレイベースのcrjeシステムを要求したので、NETCRTは開発されました。 UCLAのURSAのプライマリ使用はディスプレー装置からの会話形リモートバッチです: プログラム・テキストに入って、編集して、バッチ実行のためのプログラムを提出して、仕事の出力を調べます。 URSAは一般的な目的時分割システムではありません。
URSA's text editor is designed for a fast updating character display and cannot be used in any reasonable way from a typewriter-like console. Therefore, a simple TELNET protocol is not adequate for using the crje function of URSA. Furthermore, we have assumed that other ARPA sites will have their own text editors, well matched to their own terminals and systems. Therefore, CCN has implemented NETRJS (see RFC #189), to provide remote job submission and retrieval services, before implementing NETCRT.
URSAのテキストエディタを速いアップデートキャラクタディスプレイのために設計して、タイプライタのようなコンソールからどんな合理的な方法でも使用できません。 したがって、URSAのcrje機能を使用するには、簡単なTELNETプロトコルは適切ではありません。 その上、私たちは、他のARPAサイトがそれら自身の端末とシステムによく合わせられたそれら自身のテキストエディタを持つと思いました。したがって、CCNはリモート・ジョブ服従と検索サービスを提供するためにNETRJSを実装しました(RFC#189を見ます)、NETCRTを実装する前に。
There are a number of other functions in URSA besides crje; some of these would probably be useful to remote users. URSA contains a comprehensive STATus service, whose constantly-updating displays are "windows" into the operation of the machine and the operating system, allowing a user to watch the progress of his jobs through the system. URSA also includes on-line data set (file) utilities, convenient for a user with files stored at CCN. To obtain access to these facilities, a few sites which use CCN heavily may want to implement NETCRT. The schedule for implementation of NETCRT at CCN to allow Network access to URSA will depend upon the existence of a user site that wants the service and that will write a suitable NETCRT user process. Interested sites are urged to contact the CCN Technical Liaison, Bob Braden.
他の多くの機能がcrje以外にURSAにあります。 これらの或るものはたぶんリモート・ユーザーの役に立つでしょう。 URSAは包括的なSTATusサービスを含んでいます、ユーザがシステムを通した彼の仕事の進歩を見るのを許容して。(サービスの絶えずアップデートしているディスプレイはマシンとオペレーティングシステムの操作への「窓」です)。 また、URSAはユーザにとって、便利なCCNに保存されているファイルでオンラインデータセット(ファイル)ユーティリティを含んでいます。 これらの施設へのアクセスを得るために、大いにCCNを使用するいくつかのサイトがNETCRTを実装したがっているかもしれません。 CCNのNETCRTの実装がURSAへのアクセスをNetworkに許すスケジュールはサービスが欲しく、適当なNETCRTユーザ・プロセスを書くユーザの現場の存在に依存するでしょう。 関心があるサイトがCCN Technical Liaison、ボブ・ブレーデンに連絡するよう促されます。
Even though the implementation schedule for NETCRT is nebulous, we are publishing the specs now for several reasons. First, we would like comments and criticisms. Furthermore, NETCRT contains some features which may be useful in the protocol(s) now being developed for full graphical displays.
NETCRTのための遂行スケジュールは不明瞭ですが、私たちは現在、いくつかの理由で仕様を発表しています。 まず最初に、私たちは、コメントと批評が欲しいと思います。その上、NETCRTはいくつかの現在完全なグラフィカルなディスプレイのために開発されながらプロトコルで役に立つかもしれない特徴を含んでいます。
Braden [Page 1] RFC 205 NETCRT - A CHARACTER DISPLAY PROTOCOL 6 August 1971
ブレーデン[1ページ]RFC205NETCRT--キャラクタディスプレイプロトコル1971年8月6日
NETCRT PROTOCOL - VERSION 3
NETCRTプロトコル--バージョン3
A. INTRODUCTION
A。 序論
The UCLA Campus Computing Network (CCN) node intends to provide Network access to its conversational remote job entry system URSA. The URSA system is display-oriented, supporting only character displays with local buffers (originally IBM 2260 displays, now CCI 301 TV display consoles). This document defines a third-level protocol called NETCRT which allows a Network user in a remote Host to look like a CCI console to URSA. NETCRT is defined in terms of a virtual character display ("VCD") terminal, simulated by a process in the user host.
(CCN)ノードがNetworkを提供するつもりであるUCLA Campus Computing Networkは会話形リモートバッチシステムにURSAにアクセスします。 URSAシステムはディスプレイ指向です、ローカルのバッファ(元々のIBM2260ディスプレイ、現在のCCI301テレビの表示操作卓)でキャラクタディスプレイだけをサポートして。 このドキュメントはリモートHostのNetworkユーザをCCIコンソールをURSAに似させるNETCRTと呼ばれる第3レベルプロトコルを定義します。 NETCRTはユーザー・ホストのプロセスによってシミュレートされた仮想のキャラクタディスプレイ("VCD")端末に関して定義されます。
URSA, like many on-line console systems, attempts to provide a good man/machine interaction by keeping tight control over the state of the terminal. On the other hand, the Network Working Group has deliberately built some "squishiness" into the standard Network protocols. We believe this squishiness is a conceptual mistake when dealing with remote man/machine interaction, and we would support protocol revisions to allow control over the effective communication compliance between processes in different hosts. However, this NETCRT protocol attempts to cope with the present squishiness, which is apparently built into a number of host's NCPs. In fact, we have arranged things so a host can improve response time and reduce Network traffic with NETCRT by using the message buffering inherent in his NCP.
多くのオンラインコンソールシステムのように、URSAは、厳格な管理を保つことによって善人/マシン相互作用を端末の状態の上に供給するのを試みます。 他方では、Network作業部会は故意にいくつかの"squishiness"を標準のNetworkプロトコルに組み込みました。 リモート男性/マシン相互作用に対処するとき、私たちは、このsquishinessが概念的な誤りであると信じています、そして、異なったホストでプロセスの間の有効なコミュニケーションコンプライアンスのコントロールを許すためにプロトコル改正をサポートするでしょう。 しかしながら、このNETCRTプロトコルは、現在のsquishinessに対処するのを試みます。(ホストのNCPの数は明らかにsquishinessに組み込まれます)。 事実上、ホストがNETCRTと共に彼のNCPに固有のメッセージバッファリングを使用することによって応答時間を改良して、Networkトラフィックを減少させることができるように、私たちはものをアレンジしました。
B. THE VIRTUAL CHARACTER DISPLAY
B。 仮想のキャラクタディスプレイ
A VCD consists of the following virtual hardware (see Figure 1):
VCDは以下の仮想のハードウェアから成ります(図1を見てください):
1. A rectangular _display screen_ capable of displaying N lines of M characters.
1. Nを表示できる_が裏打ちするMキャラクタの長方形の_ディスプレイの画面。
2. A _local buffer_ of M x N characters used to refresh the display.
2. Nキャラクタが画面の内容を更新するのに使用したM xの_の地方のバッファ_。
3. A _cursor register_ which addresses the characters in the buffer (and hence on the screen). This register controls the writing of text into the local buffer from either the keyboard or the server, and the reading of the local buffer by the server.
3. バッファでキャラクタに演説する_カーソルレジスタ_、(したがって、スクリーン、) このレジスタはサーバからキーボードかサーバのどちらかからのローカルのバッファの中へのテキストの書くこと、およびローカルのバッファの示度を制御します。
4. A _keyboard_ containing text keys and control keys. Each text key enters a character into local buffer at the current cursor address and steps the cursor register by 1.
4. テキストキーとコントロールキーを含む_キーボード_。 それぞれのテキストキーは、現在のカーソルアドレスのローカルのバッファの中にキャラクタに入って、1時までにカーソルレジスタを踏みます。
Braden [Page 2] RFC 205 NETCRT - A CHARACTER DISPLAY PROTOCOL 6 August 1971
ブレーデン[2ページ]RFC205NETCRT--キャラクタディスプレイプロトコル1971年8月6日
5. A _communication interface_ through which the server CPU can send a stream of _command_ segments to the VCD and receive a stream of _response_ segments from the VCD. The command segments include control commands to the VCD and text to be written into the local buffer. Response segments contain status indicators and text read from the buffer. In addition, both VCD and server may send break signals.
5. サーバCPUが_の流れを送ることができる_通信インターフェース_は_セグメントをVCDに命令して、VCDから_応答_セグメントのストリームを受けます。 コマンドセグメントは、ローカルのバッファの中に書かれているためにVCDとテキストに制御コマンドを含んでいます。 応答セグメントはバッファから読まれた自動運転表示灯とテキストを含んでいます。 さらに、VCDとサーバが送るかもしれない両方が信号を壊します。
The current address in the cursor register, an integer between 0 and M x N-1, is displayed as a blitch, underscore, or other visual indication at the corresponding point on the screen; this indication is called the _cursor_. Position 0 is the upper left corner of the screen.
スクリーンの対応するポイントでのblitch、強調、または他の視覚指示としてカーソルレジスタの現在のアドレス(0とM x N-1の間の整数)を表示します。 この指示は_カーソル_と呼ばれます。位置0はスクリーンの左上隅です。
The screen is addressed in line ("row") order, and read and write operations by the server overflow automatically from one line to the next. The cursor register is not assumed to operate modulo M x Nxsy. It is possible for a server command to set the cursor register to M x N, one position beyond the last screen position; however, the server should never set the register to an address beyond M x N, and it should not leave the cursor at M x N when the keyboard is unlocked.
スクリーンは系列(「行」)オーダーで扱われます、そして、サーバオーバーフローで1つの系列から次まで自動的に操作を読み書きしてください。 カーソルレジスタが法M x Nxsyを操作すると思われません。 N、ものが最後のスクリーンの位置を超えて置くM xにカーソルレジスタを設定するサーバコマンドに、それは可能です。 しかしながら、サーバはM x Nを超えてアドレスにレジスタを決して設定するべきではありません、そして、キーボードの錠が開いているとき、それはM xのカーソルをNに残すべきではありません。
The application program or conversational system using the VCD may format each display screen in a variety of ways, and may use a number of styles of interaction. One consequence is that the application program might have to look anywhere on the screen (i.e., in the local buffer) to find the input information it requires. We may consider three alternative mechanisms for transmitting information from the VCD to the serving CPU:
VCDを使用するアプリケーション・プログラムか会話システムが、さまざまな方法で各ディスプレイの画面をフォーマットして、多くのスタイルの相互作用を使用するかもしれません。 1つの結果はアプリケーション・プログラムがそれが必要とする入力情報を見つけるためにスクリーン(すなわち、ローカルのバッファの)でどこでも、を見なければならないかもしれないということです。 私たちはVCDから給仕CPUまで情報を伝えるために3つの代替のメカニズムを考えるかもしれません:
Mechanism 1 Whenever the user presses a "Transmit" control key, the entire M x N characters in the buffer are transmitted to the server CPU.
ユーザのメカニズム1Wheneverは「伝わってください」というコントロールキーを押しつけて、バッファの全体のM x NキャラクタはサーバCPUに伝えられます。
Mechanism 2 When the user presses "Transmit", the string of text between a "start" control character and the cursor is transmitted to the server.
ユーザプレスが「伝える」メカニズム2When、「始め」制御文字とカーソルの間のテキストのストリングはサーバに伝えられます。
Mechanism 3 The server must send a read command segment to the VCD before the "Transmit" key will have an effect. The read command segment determines which parts of the buffer are to be transmitted to the server.
「伝わってください」というキーに効果がある前にサーバが送らなければならないメカニズム3はVCDにセグメントを命令しますaが、読んだ。 コマンドセグメントが決定するバッファのそれの部分がサーバに伝えられることになっている読み。
Mechanism 1 may be faulted as too costly in transmission time and channel capacity, while Mechanism 2 is too restrictive. The scheme which we propose here is based on Mechanism 3, which subsumes the other two.
トランスミッション時間とチャネル容量で高価過ぎるとしてメカニズム1をとがめるかもしれませんが、Mechanism2は制限し過ぎています。 私たちがここで提案する体系はMechanism3に基づいています。(Mechanismは他の2を包括します)。
Braden [Page 3] RFC 205 NETCRT - A CHARACTER DISPLAY PROTOCOL 6 August 1971
ブレーデン[3ページ]RFC205NETCRT--キャラクタディスプレイプロトコル1971年8月6日
The VCD is assumed to include the following control keys:
VCDが以下のコントロールキーを含んでいると思われます:
Erase Clears the display buffer to all blanks and resets the cursor to position 0 (the upper left corner of the screen).
ディスプレイがすべてにバッファリングする抹消Clearsは、0(スクリーンの左上隅)を置くためにカーソルを空白であり、リセットします。
Transmit Locks the keyboard and places the VCD under control of the server CPU. Typically, the server will read specified areas of the screen and perhaps write out new data before unlocking the keyboard again.
Locksを伝えてください。VCD下が制御されるサーバCPUのキーボードと場所。 サーバは、通常、スクリーンの指定された領域を読んで、再びキーボードをアンロックする前に、恐らく新しいデータを書き上げるでしょう。
Break Has the same effect as _Transmit_, and in addition sends an interrupt message to the server CPU. The _Break_ key always sends the interrupt, regardless of the state of the VCD.
同じくらいが中断メッセージに_Transmit_として作用して、さらに、送るHasをサーバCPUに壊してください。 _Break_キーはVCDの州にかかわらずいつも中断を送ります。
Reset May be used to unlock the VCD keyboard in case the server CPU fails to respond immediately and the user wishes to enter new or different information.
5月をリセットしてください。使用されて、サーバCPUがすぐに、応じないで、ユーザが新しいか異なった情報を入力するといけなくしたがっているので、VCDキーボードをアンロックしてください。
These may be called pure control keys, since they do not correspond to any text characters. The following control key does store a character into the display buffer:
これらは、どんなテキストキャラクタにも文通していないので、純粋なコントロールキーと呼ばれるかもしれません。 以下のコントロールキーはディスプレイバッファの中としてキャラクタを保存します:
Newline Enter a Newline (NL) character into the display buffer and reset the cursor to the beginning of the next line. If this character is encountered during a read or write operation, it is executed (i.e., the cursor is moved to the beginning of the next line) and the NL is counted as _one_ character.
ディスプレイへのニューラインEnter a Newline(NL)キャラクタは、次の系列の始まりまでカーソルをバッファリングして、リセットします。 それは実行されます、そして、(すなわち、カーソルは次の系列の始まりまで動かされます)このキャラクタがaの間、遭遇するなら、操作を読むか、または書いてください、そして、NLは_1_キャラクタにみなされます。
Finally, there are assumed to be keys for manually positioning the cursor to any address on the screen. Cursor positioning keys may include: cursor right, cursor up, cursor left (BS), cursor down (LF), and cursor return (CR). A tab (HT) mechanism could also be defined, although none is included here.
最終的に、スクリーンに手動でどんなアドレスにもカーソルを置くためのキーがあると仮定されます。 カーソル位置決めキーは以下を含むかもしれません。 カーソル権利、カーソルを上へ、あとカーソル(BS)、(LF)へのカーソル、およびカーソルは(CR)を返します。 なにもここに含まれていませんでしたが、また、タブ(HT)メカニズムを定義できました。
C. VCD STATES
C。 VCD州
The VCD has two internal states, _Local_ and _Control_ (see Figure 2).
VCDには2つの内部の州があって、_はLocal_と_Control_(図2を見る)です。
Local State: The keyboard is unlocked and all keys are active. The VCD does not accept or recognize any commands from server except (reverse) Break.
地方の州: キーボードの錠が開いていて、すべてのキーがアクティブです。 VCDは、受け入れもしませんし、サーバからの(逆)以外のどんなコマンドも壊れると認めもしません。
Braden [Page 4] RFC 205 NETCRT - A CHARACTER DISPLAY PROTOCOL 6 August 1971
ブレーデン[4ページ]RFC205NETCRT--キャラクタディスプレイプロトコル1971年8月6日
Control State: The keyboard is locked, and only the _Break_ and _Reset_ keys are active. The VCD accepts and executes command segments from the server, and returns response segments as the result of read commands.
状態を制御してください: キーボードは固定されます、そして、_のBreak_と_Reset_キーだけがアクティブです。 VCDはサーバからコマンドセグメントを受け入れて、実行して、読みコマンドの結果として応答セグメントを返します。
The VCD changes from Local to Control state if either:
VCDはどちらかならLocalからControl状態に変化します:
(1) The user presses the _Transmit_ key; or
(1) ユーザは_Transmit_キーを押します。 または
(2) the user presses the _Break_ key; or
(2) ユーザは_Break_キーを押します。 または
(3) the server sends a reverse Break request.
(3) サーバはBreakが要求する逆を送ります。
_Transmit's_ only effect is to enter Control State; _Break_ enters Control State and also sends a break request (INS and X'80') to the server.
_伝わってください、_唯一の効果がControl州に入ることであるということです。 _'中断_がControl州に入って、また、中断要求を送る、(INSとX80年、'、)、サーバに。
The VCD returns to Local State when either:
どちらかであるときに、VCDはLocal州に戻ります:
1. The user presses the _Reset_ key; or
1. ユーザは_Reset_キーを押します。 または
2. the VCD encounters a LOCAL command from the server and is not in the process of synchronizing a reverse break (see section E below).
2. VCDはサーバからLOCALコマンドに遭遇して、逆の中断を同時にさせることの途中にありません(下のセクションEを見てください)。
We should note that CCI and IBM 2260 character display consoles actually have only one control key ("Interrupt" on CCI, "Enter" on 2260) to perform the functions of both _Break_ and _Transmit_; this one key in fact has the function of the _Break_ key of the VCD. We have included both _Break_ and _Transmit_ keys in the VCD for generality, but the URSA-NETCRT interface will be programmed to allow a Network user of URSA to either (1) employ the _Break_ key exclusively, or (2) use either _Break_ or _Transmit_ as appropriate. This will be achieved by URSA simply by ignoring those break requests (INS messages) which occur while there are outstanding read commands.
私たちは、_Break_と_Transmit_の両方の機能を実行するためにCCIとIBM2260キャラクタディスプレイコンソールには1つのコントロールキー(2260でCCIで「入ってください」と「中断する」)しか実際にないことに注意するべきです。 この1個のキーには、事実上、VCDの_Break_キーの機能があります。 (2) 私たちは一般性のためのVCDで_Break_と_Transmit_キーの両方を入れましたが、URSA-NETCRTインタフェースが排他的に(1) 雇用へのURSAのNetworkユーザに_Break_キーを許容するようにプログラムされるか、または適宜_Break_か_Transmit_のどちらかを使用してください。 これは、単に傑出している読みコマンドがある間に現れるそれらの中断要求(INSメッセージ)を無視することによって、URSAによって達成されるでしょう。
D. VCD COMMANDS
D。 VCDコマンド
The server sends the VCD a string of command segments. These are of varying length, consisting of an op code and none or more parameters. The commands recognized by the VCD are as follows:
サーバは一連のコマンドセグメントをVCDに送ります。 オペコードとなにもか、より多くのパラメタから成って、これらは異なった長さのものです。 VCDによって認識されたコマンドは以下の通りです:
Braden [Page 5] RFC 205 NETCRT - A CHARACTER DISPLAY PROTOCOL 6 August 1971
ブレーデン[5ページ]RFC205NETCRT--キャラクタディスプレイプロトコル1971年8月6日
1. Display & Keyboard Control Commands:
1. ディスプレイとキーボード制御装置は命令します:
Command Parameter(s) Function ------- ------------ -----------------------------------
コマンドパラメタ機能------- ------------ -----------------------------------
ERASE none Erase display and reset cursor to 0. i.e, clear the local buffer.
Eraseのいずれも、0にカーソルを表示して、リセットしません。ERASE、i. e、ローカルのバッファをきれいにしてください。
BLANK none Disable display refresh (i.e., blank the screen but do not clear the local buffer).
Disableのいずれも表示しないBLANKはリフレッシュします(すなわち、スクリーンが空白にしなさい、ただし、ローカルのバッファをきれいにしないでください)。
UNBLANK none Enable display refresh.
Enableのいずれも表示しないUNBLANKはリフレッシュします。
LOCAL none Put VCD in _local_ state. The result is to suspend command interpretation and unlock the keyboard.
LOCAL、_地方の_状態のPut VCDのいずれも。 結果は、コマンド解釈を中断させて、キーボードをアンロックすることです。
SYNC none Used to synchronize reverse Break from server. SYNC (X'80) is placed in stream by server at same time that it sends an INS. VCD enters Control State, synchronizes INS with BREAK command (see next section), and continues command interpretation.
SYNC、サーバSYNC(X80年)が置かれる逆のBreakを連動させないUsedのいずれもINSを送る時間、同じことをサーバで流れます。 VCDはControl州に入って、BREAKコマンド(次のセクションを見る)にINSを連動させて、コマンド解釈を続けています。
2. Cursor Control Commands:
2. カーソル制御装置は命令します:
CURSOR 16 bit integer P Set cursor register to P, where 0 <= P <= M x N.
CURSOR16は整数P Setカーソルレジスタに0<がP<と等しいP=M x Nまで噛み付きました。
FIND X'0001' followed Move the cursor to point to an by one character occurrence of the character c. c Specifically, search backwards toward lower addresses) from the current cursor position and take the first occurrences of c (i.e., the one with the largest address). If no occurrence is found, leave cursor at position 0.
FIND X'0001'がMoveに続いた、示すカーソル、キャラクタc.c Specificallyの1回のキャラクタ発生で、後方に低いアドレス)現在のカーソル位置と撮影からのc(すなわち、最も大きいアドレスがあるもの)の最初の発生に向かって探してください。 発生が全く見つけられないなら、位置0にカーソルを残してください。
SAVE none Save a copy of the current cursor address in local register S.
SAVE、現在のカーソルのSave aコピーがローカルで扱わないなにもSを登録します。
RESTORE none Replace cursor register contents by value S.
RESTORE、Replaceカーソルレジスタが満足させないなにもSを評価します。
Braden [Page 6] RFC 205 NETCRT - A CHARACTER DISPLAY PROTOCOL 6 August 1971
ブレーデン[6ページ]RFC205NETCRT--キャラクタディスプレイプロトコル1971年8月6日
I/O Commands:
入出力は命令します:
WRITE n,text 16 bit integer Write n bytes of text into display n, followed by buffer starting at current cursor n text bytes. position and advancing cursor by 1 for each byte (except NL character advances to beginning of next line). Here [sigma] + n <= M x N.
WRITE n(ディスプレイnへの16ビットのテキスト整数Write nバイトのテキスト)は、現在のカーソルnテキストバイト位置で始まって、各バイト(次の系列の始まりまでのNLキャラクタ進歩を除いた)単位の1時までにカーソルを進めながら、バッファで続きました。 ここで、[σ]+n<はM x Nと等しいです。
READ n 16 bit integer Read n bytes starting at the cursor n. [sigma] and advancing cursor by one for each byte (except NL advances cursor to beginning of next line). NL counts as one character. Send the text to the server as a response segment. Must have n + [sigma] <= M x N.
READ n16はカーソルnで始まる整数Read nバイトに噛み付きました。 [σ]と各バイト(NLを除いて、次の系列の始まりまでカーソルを進める)単位の1つ時までにカーソルを進めること。 NLは1つのキャラクタにみなします。 応答セグメントとしてテキストをサーバに送ってください。 n+[σ]<=M x Nを持たなければなりません。
SREAD none Read S - [sigma] bytes starting from the current cursor position [sigma] up to (but not including) the cursor address stored in register S. The cursor is left in position S as a result. Send the text to the server as a response segment.
SREAD、なにも、Read S--現在のカーソルから始める[σ]バイトが[σ]をカーソルがその結果、位置のSに残されるレジスタS.に保存された(しかし、包含しない)カーソルアドレスまで置きます。 応答セグメントとしてテキストをサーバに送ってください。
AWRITE n,text 16 bit integer Same as WRITE n, except characters n, followed by are not stored in buffer if they n text bytes. have a lower cursor address than the value in S.
AWRITE n、キャラクタnを除いて、WRITE nが続いたようにテキストの16ビットの整数Sameは彼らであるならバッファにnテキストバイト保存されていません。Sに値より低いカーソルアドレスを持ってください。
Here are some applications of these commands in URSA:
ここに、URSAのこれらのコマンドのいくつかの利用があります:
1. One elementary URSA terminal operation reads the screen from position x up to (but not including) the current cursor position. This could be done with the sequence of VCD command segments:
1. 1つの基本のURSA端末の操作が位置のxからスクリーンを(しかし、包含しない)現在のカーソル位置まで読みます。 VCDコマンドセグメントの系列でこれができました:
SAVE CURSOR x SREAD
SAVE CURSOR x SREAD
2. Another common operation in URSA is to remember the cursor, update specific information on the screen, and replace the cursor. This can be done by the following 8 + n byte sequence of command segments:
2. URSAでの別の一般的な操作は、カーソルを覚えていて、スクリーンで特殊情報をアップデートして、カーソルを取り替えることです。 コマンドセグメントの以下の8+nバイト列でこれができます:
Braden [Page 7] RFC 205 NETCRT - A CHARACTER DISPLAY PROTOCOL 6 August 1971
ブレーデン[7ページ]RFC205NETCRT--キャラクタディスプレイプロトコル1971年8月6日
SAVE CURSOR x WRITE n, text RESTORE
SAVE CURSOR x WRITE n、テキストRESTORE
3. In URSA, the area in which a user is to type his response is usually delimited on the left by a "Start Symbol" (graphic '[1]'). This is a historical remnant of the IBM 2260, which has only two hardware read operators: read the full screen, and read from the Start Manual Input Symbol ("SMI") to the cursor. The SMI read operation can be simulated easily on the VCD as follows:
3. URSAでは、「開始記号」(グラフィック'[1]')によって通常、ユーザが彼の応答をタイプすることになっている領域は左で区切られます。 これはIBM2260の歴史的な残りです:(IBMは、ハードウェアがオペレータに読み込んだ2しか持っていません)。 フルスクリーンを読んでください、そして、Start Manual Input Symbol("SMI")からカーソルまで読んでください。 以下のVCDで容易に操作が読まれたSMIをシミュレートできます:
SAVE FIND '[1]' SREAD
掘り出し物の'[1]'がSREADであると保存してください。
4. The _Break_ (or _Transmit_) key on the VCD may serve the function of the INTerrupt key on a CCI console (or ENTer on an IBM 2260). URSA will often attempt to minimize Network traffic by sending a sequence of commands (one message if allocation allows) like the following:
4. VCDの上の_Break_(_または、Transmit_)キーはCCIコンソール(または、IBM2260のENTer)で主要なINTerruptの機能がそうするかもしれません。 URSAが、しばしばコマンドの系列を送ることによってNetworkトラフィックを最小にするのを試みる、(1つのメッセージ、配分が許容する、)、以下のように:
-+ CURSOR m | WRITE n, text - URSA writes a request LOCAL | -+ -+ +- +-+ |_ User types response | _BREAK_ | | - -User Presses | _TRANSMIT_ |key - - -+ +- -+ -+ SAVE | CURSOR p - URSA reads response SREAD | -+
-+ カーソルm| WRITE n、テキスト--URSAは要求LOCALに書きます。| -+ -+ +- +-+ |_ ユーザは応答をタイプします。| __を壊してください。| | - -ユーザプレス| __を伝えてください。|キー-----++-+-+SAVE| CURSOR p--URSAは応答SREADを読みます。| -+
At other times, URSA might send the sequence:
他の時に、URSAは系列を送るかもしれません:
CURSOR m WRITE n,TEXT LOCAL READ 0
カーソルmは地方の読書0をn、テキストに書きます。
and wait for the INS from the user pressing _Break_ (or the response segment triggered by the zero-length read if he presses _Transmit_); then URSA will send the appropriate read command sequence.
そして、ユーザ圧搾物_Break_(彼が_Transmit_を押すなら、ゼロ・レングスによって引き起こされた応答セグメントは読んだ)からINSを待ってください。 そして、URSAは適切な読みコマンドに系列を送るでしょう。
Braden [Page 8] RFC 205 NETCRT - A CHARACTER DISPLAY PROTOCOL 6 August 1971
ブレーデン[8ページ]RFC205NETCRT--キャラクタディスプレイプロトコル1971年8月6日
F. NETWORK MESSAGE FORMATS
F。 ネットワークメッセージ・フォーマット
The VCD connects the server through ICP to a standard socket, establishing thereby a pair of connections between the VCD and the server. Command segments (server-to-VCD) and response segments (VCD-to-server) are sent over these connections, without regard to physical message boundaries, using byte size 8. The VCD is defined to operate in a segment-at-a-time mode (rather than character-at-a- time), with local echo. Therefore, the server never echoes under NETCRT.
コマンドセグメント(サーバからVCD)と応答セグメント(VCDからサーバ)をこれらの接続の上に送ります、物理メッセージ限界への尊敬なしで、VCDはICPを通して標準のソケットにサーバを接続します、その結果、バイトサイズ8を使用して、VCDとサーバとの1組の関係を確立します。コマンドセグメント(サーバからVCD)と応答セグメント(VCDからサーバ)をこれらの接続の上に送ります、物理メッセージ限界への尊敬なしで、VCDはICPを通して標準のソケットにサーバを接続します、その結果、バイトサイズ8を使用して、VCDとサーバとの1組の関係を確立します。 VCDが一度にセグメントモードで作動するために定義される、(キャラクタよりむしろ、-、-1回、)、ローカルエコーで。 したがって、サーバはNETCRTの下で決して反映しません。
In many cases URSA will send a sequence of command segments (as in the examples of the preceding section) at once; if there is sufficient allcocation they will be sent in the same message. Response time may be improved, therefore, if the user site is able to buffer ahead on command segments. This buffering does raise break synchronization problems, which are solved in the following manner for reverse (server-to-user) break:
多くの場合、URSAはすぐに、コマンドセグメント(先行するセクションに関する例のように)の系列を送るでしょう。 十分なallcocationがあると、同じメッセージでそれらを送るでしょう。 したがって、ユーザの現場がコマンドのときに先でセグメントをバッファリングできるなら、応答時間は改良されるかもしれません。 このバッファリングは中断同期問題を提起します:(問題は以下の方法で逆(サーバからユーザ)の中断のために解決されています)。
The server sends an INS on the control link and also a SYNC command (X'80) on the data link to the VCD. On receiving either, the VCD enters Control State and then achieves synchronization between the INS and BREAK; if the INS arrives first, the VCD executes normally all commands buffered in his host, _except_ it ignores LOCAL commands, until the SYNC appears. Having achieved synchronization, the VCD continues normal command interpretation (without ignoring ensuring LOCAL commands).
サーバはVCDへのデータ・リンクにおけるコントロールリンクとSYNCコマンド(X80年)にもINSを送ります。 受信すると、VCDはINSとBREAKの間でControl州に入って、次に、同期を達成します。 INSが先着するなら、通常、VCDは彼のホストでバッファリングされたすべてのコマンドを実行して、_それ以外の_はLOCALコマンドを無視します、SYNCが現れるまで。 同期を達成したので、VCDは通常のコマンド解釈(無視がLOCALにコマンドを確実にすることのない)を続けています。
By this means the server can regain control of the VCD to write new information at any time. For example, when URSA is used under NETCRT, most WRITE or AWRITE sequences will be preceded by a BREAK from the server, since URSA will not know the current state of the VCD. Even if URSA left the VCD in Control State, the user might have manually returned his VCD to Local State by pressing _Reset_.
このようにしてサーバは、いつでも新情報を書くためにVCDのコントロールを取り戻すことができます。 URSAがNETCRTの下で使用されるとき、例えば、ほとんどのWRITEかAWRITE系列がBREAKによってサーバから先行されるでしょう、URSAがVCDの現状を知らないので。 URSAがControl州でVCDを残したとしても、ユーザは圧搾物_Reset_で手動で彼のVCDをLocal州に返したかもしれません。
After receiving an INS, the VCD executes rather than ignores buffered commands so that pending writes will not be lost in case that processing at the user side has been held up temporarily. The read commands executed after the server sent an INS might be irrelevant to a server, which can ignore the corresponding response segments. In order to do so, the server simply keeps matching counts of read commands sent and corresponding response segments received.
INSを受けた後にVCDがバッファリングされて、無視するよりむしろコマンドを実行するので、ユーザ側でのその処理が一時妨げられたといけないので、失われないでしょう未定のそれが、書く。 サーバがINSを送った後に実行された読みコマンドはサーバと無関係であるかもしれません。(それは、対応する応答セグメントを無視できます)。 そうするために、サーバは、単に読みコマンドの合っているカウントを送り続けます、そして、対応する応答セグメントは受信されました。
Command segments will use the following formats:
コマンドセグメントは以下の形式を使用するでしょう:
Form 1 (No parameters) q:OPCODE(8)
フォーム1(パラメタがありません)q: OPCODE(8)
where q = X'80' means SYNC
'qがX80年の'手段SYNCと等しいところ
Braden [Page 9] RFC 205 NETCRT - A CHARACTER DISPLAY PROTOCOL 6 August 1971
ブレーデン[9ページ]RFC205NETCRT--キャラクタディスプレイプロトコル1971年8月6日
X'91' " LOCAL
「地方'X91年'です」。
X'92' " ERASE
'X92年'「抹消」
X'93' " BLANK
'X93年'「空白」
X'94' " UNBLANK
'X94年'"UNBLANK"
X'95' " SAVE
'X95年'「保存する」
X'96' " RESTORE
「回復'X96年'」
X'97' " SREAD
'X97年'"SREAD"
Form 2 (16 bit integer) q:OPCODE(8) + n:INTEGER(16)
フォーム2(16ビットの整数)q: OPCODE(8)+n: INTEGER(16)
where q = X'9E' means READ n
READ nは、qがXと等しいところでは、'9E'と意味します。
q = X'9C' " CURSOR n
qはX'9C'「CURSOR n」と等しいです。
In both cases, 0 <= n <= M x N
どちらの場合も、0<はn<=M x Nと等しいです。
Form 3 (count and text) q:OPCODE(8) + n:LENGTH(16) + (TEXT(8) = n)
フォーム3(カウントとテキスト)q: OPCODE(8)+n: LENGTH(16)+(TEXT(8)=n)
where q = X'9D' means WRITE
WRITEは、'qがX'9Dと等しいところ'と意味します。
q = X'9A' means AWRITE
AWRITEは、'qはX'9Aと等しいです'と意味します。
q = X'9F' and n=1 means FIND
qはXと'9F'等しいです、そして、n=1はFINDを意味します。
A response segment, caused by a READ or SREAD command, has the following format:
READかSREADコマンドで引き起こされた応答セグメントは以下の形式を持っています:
RESPONSE <-----X'A1' + CURSOR(16) + n:LENGTH(16) + (TEXT(8) = n)
応答<。-----X'A1'+カーソル(16)+n: 長さの(16)+(TEXT(8)=n)
where n > 0 is the number of characters actually read. CURSOR(16) is an integer giving the final cursor position after the corresponding read command. Note that the command READ 0 is permissible and may be used by the server to find the current cursor position, or to find out when the user presses _Transmit_.
n>0が実際にキャラクタの数であるところでは、読んでください。 CURSOR(16)は対応がコマンドを読んだ後に最終的なカーソル位置に与える整数です。 コマンドREAD0が許されて、サーバによって使用されて、現在のカーソル位置を見つけるか、またはユーザがいつ_Transmit_を押すかを見つけるかもしれないことに注意してください。
Braden [Page 10] RFC 205 NETCRT - A CHARACTER DISPLAY PROTOCOL 6 August 1971
ブレーデン[10ページ]RFC205NETCRT--キャラクタディスプレイプロトコル1971年8月6日
E. SCREEN SIZE
E。 画面サイズ
For simplicity and consistency with URSA, we have chosen to treat the cursor as a single integer. This in turn means that VCD and server must agree upon the number of columns M; it is also desirable for the server to know N.
URSAがある簡単さと一貫性のために、私たちは、ただ一つの整数としてカーソルを扱うのを選びました。 これは、VCDとサーバが段数Mに同意しなければならないことを順番に意味します。 また、サーバがNを知るのも、望ましいです。
The agreement on M and N takes place through a one-sided negotiation. The server is assumed to know what M and N values he can handle and these are published for user sites. When the VCD is first connected to the server, the VCD must send an Open response segment with the values M and N:
MとNの協定は一方的な交渉で行われます。 サーバが、彼がどんなMとN値を扱うことができるかを知っていると思われて、これらはユーザの現場に発行されます。 VCDが最初にサーバに接続されるとき、VCDは値MとNがあるオープン応答セグメントを送らなければなりません:
Open segment <---- X'B1' + M(8) + N(8) + X'0000'
開いているセグメント<。---- X'B1'+M X(8)+N(8)+'0000'
If the VCD fails to send this segment or the server does not like the values, the server closes the connections and the user is considered logged off.
VCDがこのセグメントを送らないか、またはサーバが値が好きでないなら、サーバは接続を終えます、そして、ログオフされて、ユーザは考えられます。
Endnotes
エンドノート
[1] Graphic representation of start symbol: shaded triangle on its side.
[1] 開始記号のグラフィック表示: 側の上の陰影をつけられた三角形。
Braden [Page 11] RFC 205 NETCRT - A CHARACTER DISPLAY PROTOCOL 6 August 1971
ブレーデン[11ページ]RFC205NETCRT--キャラクタディスプレイプロトコル1971年8月6日
+---------------+ | | | D I S P L A Y | +---------------+ ^ | | Refresh | +---------------+ | LOCAL | Address | BUFFER |<------------+ +---------------+ | ^ ^ | | +-----------+ text | | | | / |_______| | | | | KEYBOARD | |WRITE |READ | +-------------+ |AWRITE |SREAD | | | | control | v | +---------------+ +---------------+ | VCD | | CURSOR ADDRESS| | CONTROL |<--->| REGISTER | +---------------+ +---------------+ ^ | ^ | | | | | | | | | | | | | | v | | +---------------+ | | | S | | | | REGISTER | | | +---------------+ | v +---------------+ | COMM | | INTERFACE | +---------------+ ^ | | | | v COMMANDS RESPONSES
+---------------+ | | | D I S P L A Y| +---------------+ ^ | | リフレッシュしてください。| +---------------+ | ローカル| アドレス| バッファ| <、-、-、-、-、-、-、-、-、-、-、--+ +---------------+ | ^ ^ | | +-----------+ テキスト| | | | / |_______| | | | | キーボード| |書いてください。|読んでください。| +-------------+ |AWRITE|SREAD| | | | コントロール| v| +---------------+ +---------------+ | VCD| | カーソルアドレス| | コントロール| <、-、--、>| レジスタ| +---------------+ +---------------+ ^ | ^ | | | | | | | | | | | | | | v| | +---------------+ | | | S| | | | レジスタ| | | +---------------+ | +に対して---------------+ | COMM| | インタフェース| +---------------+ ^ | | | | COMMANDS RESPONSESに対して
Network Connections
ネットワーク接続
FIGURE 1. VIRTUAL CHARACTER DISPLAY ------------------------------------
図1 仮想のキャラクタディスプレイ------------------------------------
Braden [Page 12] RFC 205 NETCRT - A CHARACTER DISPLAY PROTOCOL 6 August 1971
ブレーデン[12ページ]RFC205NETCRT--キャラクタディスプレイプロトコル1971年8月6日
Keyboard Unlocked No Commands Executed
アンロックされたいいえコマンドが実行したキーボード
+--------------------+ | | +------>| LOCAL |------+ | +--->| State | | | | +--------------------+ | | | | | | | | | | | | | |Break | | | | | | | INS received LOCAL | | | key | | | | | [send INS | | Command | | | and X'80'] | | Executed| | | |Transmit| | | Reset | | | | | | | key | | | key | | | | | v v | | | +--------------------+ | | +---| Control |<------+ | | State | +------| | | +--------------------+ | ^ | | Keyboard locked, | | Execute Commands +------+ After INS is received, LOCAL command is ignored until SYNC (X'80') is encountered
+--------------------+ | | +------>| ローカル|------+ | +--->| 状態| | | | +--------------------+ | | | | | | | | | | | | | |中断| | | | | | | INSはLOCALを受けました。| | | キー| | | | | '[INS| | コマンドを送ってください| | | X80年'、]| | 実行されます。| | | |伝わってください。| | | リセット| | | | | | | キー| | | キー| | | | | vに対して| | | +--------------------+ | | +---| コントロール| <、-、-、-、-、--+ | | 状態| +------| | | +--------------------+ | ^ | | キーボードはロックされました。| | コマンド+を実行してください。------'INSの後の+が受け取られている、LOCALコマンドがSYNCまで無視される、(X80年、'、)、遭遇します。
FIGURE 2. VCD STATES ---------------------
図2 VCD州---------------------
[This RFC was put into machine readable form for entry] [into the online RFC archives by Lorrie Shiota, 2/02]
[このRFCはエントリーのためのマシンに入れられた読み込み可能なフォームでした][ロリー塩田によるオンラインRFCアーカイブへの2/02]
Braden [Page 13]
ブレーデン[13ページ]
一覧
スポンサーリンク