DEC社 TOPS-20を使う方法 Kermit<->TeraTerm でファイル転送

Windows-SYSTEM20 Kermit FIle転送

Windows-SYSTEM20 Kermit FIle転送

Kermitによるファイル転送

2018年4月、歴史的に貴重なDEC社 TOPS-20を使用しています。TOPS-20にログインするとき、Windows10からTeraTermターミナルを使用しています。時々、Windows10とTOPS-20の間でファイル転送したいことがあります。

Windows TeraTerm

Windows TeraTerm

調べてみると TOPS-20には、kermitというファイル転送/管理プロトコルがあります。また、TeraTermにもkermitコマンドを実装しています。そこで、KermitとTeraTermを使用したファイル転送の方法について調べました。

Kermitとは

1990年代のパソコン通信全盛期の頃に、Kermitプロトコルについて聞いた覚えがありました。パソコンにモデムを接続して電話回線を使用したダイアルアップで電子掲示板(Bulletin Board System)にアクセスしていました。ファイルを転送するときに、XMODEMとかYMODEMという転送プロトコルを使用していました。その転送プロトコルのひとつにKermitがありました。


Kermitについて調査しました。

Kermitは、1981年にコロンビア大学で開発されました。学生がマイクロコンピューター(CP/M)のリムーバブルメディアとDECSYSTEM-20との間でファイル交換するために開発したそうです。

THE DECSYSTEM-20 AT COLUMBIA UNIVERSITY KERMITにコロンビア大学の取り組みが書いてあります。

Our first Kermit programs were written for the DEC-20 and the Superbrain. Superbrains were placed in public areas to allow students to copy their own files onto floppies, and restore them to the DEC-20 later.
・・・
Until about 1985, DEC-20 Kermit was the “benchmark” against which all other Kermits were to be verified for interoperability. Many new Kermit features were added to DEC-20 Kermit first (server mode, macros, etc).
The DEC-20 user interface became the model for most Kermit programs.

【要約】
最初のKermitプログラムは、DEC-20とSuperbrain(Z80 CP/M端末)のために書かれました。Superbrainsは、学生が自分のファイルをフロッピーにコピーして後でDEC-20に復元できるように、公共エリアに置かれました。
・・・
1985年頃まで、DEC-20カーミットは、他のすべてのカーミットが相互運用性のために検証される「ベンチマーク」でした。多くの新しいKermit機能がDEC-20 Kermitに最初に追加されました(サーバーモード、マクロなど)。DEC-20のユーザーインターフェイスは、ほとんどのKermitプログラムのモデルとなりました。

The Kermit Projectについての記述も参考になります。

DEC-20 Kermit, or Kermit-20, was written at Columbia University by Bill Catchings and Frank da Cruz in MACRO-20 assembly language.
It was the first operational Kermit program and was actively developed and maintained from 1981 until 1988, and then revived in 2001 by the addition of long packets to enable faster file transfer into and out of emulated DEC-20s.
・・・
The current version is 5.1(186), dated 6 January 2006 — The 25th Anniversary Edition.

【要約】
DEC-20 Kermit、またはKermit-20は、Bill CatchingsとFrank da Cruzによってコロンビア大学でMACRO-20アセンブリ言語で書かれました。これは、最初の運用Kermitプログラムであり、1981年から1988年まで積極的に開発され、維持され、2001年にエミュレートされたDEC-20へのファイル転送を高速化するための長いパケットの追加によって復活しました。
・・・
現在のバージョンは5.1(186)、2006年1月6日 – 25周年記念版です。

KermitとTeraTermによるファイル転送の概要

Kermit ファイル転送の概要

Kermit ファイル転送の概要

  • 端末→ホスト : Kermit receive コマンドで、TeraTermからKermit 送信
  • 端末←ホスト : Kermit send コマンドで、TeraTermからKermit 受信
  • 端末→ホスト : Kermit server コマンドで、TeraTermからKermit 送信
  • 端末←ホスト : Kermit server コマンドで、TeraTermからKermit 取得

TOPS-20でKermitコマンドを起動して、TeraTerm側で「ファイル(F)-転送(T)-Kermitコマンド」を選択することで簡単にファイル転送することができます。

TeraTerm Kermitコマンド

TeraTerm Kermitコマンド

TOPS-20でKermitコマンドを起動して「?」と入力するとKermitコマンドの一覧が表示されます。

Kermit コマンド一覧

Kermit コマンド一覧

@KERMIT
TOPS-20 Kermit version 5.1(186) 6-Jan-2006
Kermit-20>? one of the following:
 close        connect       cwd           define        delete        directory
 echo         exit          help          local         log           push
 quit         receive       run           send          server        set
 show         space         statistics    take          type
Kermit-20>

バージョンを確認すると「TOPS-20 Kermit version 5.1(186) 6-Jan-2006」なので、The 25th Anniversary Editionです。

アップロード 端末→ホスト

端末からホストへアップロードするには、ホスト側(TOPS-20)のKermitでreceiveコマンドを実行します。端末側(TeraTerm)から「ファイル(F)-転送(T)-Kermit-送信(S)」を選択してファイル名を指定します。しばらくすると、アップロードが開始します。

Kermit アップロード

Kermit アップロード

ファイル TOPS-20.txt を転送した例です。

@KERMIT
Kermit-20>receive
Kermit-20>
Kermit-20>directory tops*
TOPS20:<PI>TOPS*.*.*
Name                Pages Bytes(Size)        Creation Date

TOPS-20.TXT.5           1 463(7)              1-Apr-2018 09:37:20
 1 file
Kermit-20>type tops-20.txt

TOPS-20.TXT.5

Digital Equipment Corporation Tops-20 Operating System.

If you've been involved with computers for a while, you may have heard of a comp
any called DEC (Digital Equipment Corporation). DEC sold a family of computers b
ased on the PDP-10 architecture in the 70s and 80s. These were 36-bit computers,
 created before the PDP-11 (16-bit) and VAX-11 (32-bit). The PDP-10 architecture
 is extremely orthogonal and its instruction set (assembly language) is very ric
h.

Kermit-20>

受信完了後に、directoryコマンドで確認するとTOPS-20.TXTファイルが作られています。typeコマンドで内容を確認します。

ダウンロード 端末←ホスト

ホストから端末にダウンロードするには、ホスト側(TOPS-20)のKermitでsendコマンドを実行します。送信ファイル名を指定します。端末側(TeraTerm)から「ファイル(F)-転送(T)-Kermit-受信(R)」を選択します。しばらくすると、ダウンロードが開始します。

Kermit ダウンロード

ファイル DIR.TXT を転送した例です。

@kermit
TOPS-20 Kermit version 5.1(186) 6-Jan-2006
Kermit-20>? one of the following:
 close        connect       cwd           define        delete        directory
 echo         exit          help          local         log           push
 quit         receive       run           send          server        set
 show         space         statistics    take          type
Kermit-20>send DIR.TXT

ホスト serverモード

Kermitのreceive/sendコマンドによるアップロード/ダウンロードでは、ホスト側(TOPS-20)の操作と端末側(TeraTerm)の操作が必要でした。

Kermitをserverモードにすると端末側だけの操作でアップロード/ダウンロードを行うことができます。

Kermit サーバーモード

Kermit サーバーモード

@kermit
TOPS-20 Kermit version 5.1(186) 6-Jan-2006
Kermit-20>? one of the following:
 close        connect       cwd           define        delete        directory
 echo         exit          help          local         log           push
 quit         receive       run           send          server        set
 show         space         statistics    take          type
Kermit-20>server

 Kermit Server running on DEC-20 host.  Please type your escape
 sequence to return to your local machine.  Shut down the server by
 typing the BYE command to KERMIT on your local machine.

ホスト側(TOPS-20)のKermitでserverコマンドによりサーバーモードにします。

アップロードするときは、端末側(TeraTerm)から「ファイル(F)-転送(T)-Kermit-送信(S)」を選択します。DIR.TXTをアップロードします。

Kermit サーバーモード アップロード

Kermit サーバーモード アップロード

ダウンロードするときは、端末側(TeraTerm)から「ファイル(F)-転送(T)-Kermit-取得(G)」を選択します。

TeraTerm 取得

TeraTerm

取得するファイル名(DIR.TXT)を指定します。DIR.TXTをダウンロードします。
端末側にDIR.TXTがすでに存在するので、DIR1.TXTというファイル名でダウンロードします。

Kermit サーバーモード ダウンロード

Kermit サーバーモード ダウンロード

端末側(TeraTerm)から「ファイル(F)-転送(T)-Kermit-終了(F)」を選択すると、サーバーモード終了します。

まとめ

KermitとTeraTermを使用して、ホスト(TOPS-20)と端末(TeraTerm)の間でファイル転送を簡単にできました。TOPS-20のユーザーディレクトリーのバックアップやWindows10でソースコード作成などに利用したいと思います。

 

TOPS-20に関するブログ

歴史的に貴重なDEC社 TOPS-20を使うためにKLH10エミュレーターをLinuxにインストールして、TOPS-20を実行することができました。

TOPS-20に関するブログを以下に示します。

DEC社 TOPS-20を使う方法 KLH10エミュレーター導入編

DEC社 TOPS-20を使う方法 KLH10エミュレーター実行編

DEC社 TOPS-20を使う方法 TOPS-20コマンド使用編

DEC社 TOPS-20を使う方法 エミュレーター簡単起動/停止編

DEC社 TOPS-20を使う方法 TELNETでログイン編

DEC社 TOPS-20を使う方法 タイムゾーンの設定編

DEC社 TOPS-20を使う方法 ディレクトリのツリーウォーク編

DEC社 TOPS-20を使う方法 UNIX Toolsとbash使用編

DEC社 TOPS-20を使う方法 ファイルタイプ編

DEC社 TOPS-20を使う方法 FORTHシステム使用編