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

Windows拡張子の例

Windows拡張子の例

 

TOPS-20 のファイルタイプ

2018年1月、歴史的に貴重なDEC社 TOPS-20を使用しています。TOPS-20では、ファイル名のファイルタイプにどんな名称を付けているのか気になりました。

MS-DOS/Windowsでは、ファイル種類を識別するためにファイル名の末尾に拡張子を付けます。そして、拡張子に応じたアイコンが表示され、起動するアプリケーションとの関連付けを行っています。

UNIX系では、拡張子的なものはありませんが慣例的にファイルの種別を示すキーワードを付けます。

MS-DOSやWindowsの元祖的なTOPS-20では、どうなっているのでしょうか。

C言語をビルドすると、.C → .REL → .EXE を生成しました。
だいたい想像できますが、知らない拡張子もありますので調査しました。

TOPS-20のファイル記述仕様を以下に示します。

dev:<dir>name.typ

フィールド 説明
dev: デバイス名
<dir> ディレクトリ名
name ファイル名
.typ ファイルタイプ

一般的に使用するファイルタイプは、「TOPS-20 User’s Guide」APPENDIX Bに Standard File Typesという一覧がありました。

ファイルタイプのランキング

実際にどんなファイルタイプを使用しているか、ディレクトリ一覧からファイルタイプを取り出してランキングを調査しました。

システムのディレクトリ一覧も取得するので、ENABLEコマンドで特権モードになります。DIRECTORYコマンドで、PS:(プライマリーストレージ)のすべてのディレクトリ一覧を取得して、テキストファイルに出力します。

@ENABLE (CAPABILITIES)
$
$DIRECTORY (OF FILES) PS:<*>,
$$OUTPUT (TO FILE) DIR.TXT
$$
$
$DISABLE (CAPABILITIES)
@

ディレクトリ一覧をAWKスクリプトで加工して、ファイルタイプのランキングを取得します。

TOPS-20のパイプやSORTコマンドがよくわからないので、bashを使用して処理します。こんなとき、UNIX Toolsが動くと便利だと思います。

@sh
bash$ awk -f filetyp.awk dir.txt | /usr/bin/sort -nr >rank.txt
bash$ exit
exit
@@
@

AWKスクリプトは、次のような処理です。

@TYPE FILETYP.AWK

BEGIN { bFile=0  }

$1 ~ /^([A-Z][A-Z0-9]*):<([A-Z0-9\-\.]+)>$/ { bFile=1; next; }

NF==0 { bFile=0; next; }

bFile==1 {
    num = split($0 ,aryItem ,".")
    if(num==3) {
        typ = aryItem[2]
        count[typ]++
    }
}
END {
        for (typ in count) {
           printf("%5d %s\n",count[typ],typ)
        }
    }

ランキングの処理結果で 使用数 USEが20件以上のファイルタイプを示します。
また、「TOPS-20 User’s Guide」のファイルタイプ説明を付けました。不明の場合は、???としています。

USE typ 説明
962 REL Relocatable binary file
793 MAC Source file in MACRO language
588 EXE Executable program
421 ???
415 BLI Source file in BLISS−10 language
322 C Source file in C language
205 PIC ???
204 HLP Help text files
202 CTL Batch control file
195 EMACS ??? EMACS
191 :EJ ???
167 EL ???
165 B36 Source file in the BLISS−36 language
155 COM ???
148 CMD Command file
145 ELC ???
143 DIRECTORY ???
140 DOC 最新バージョンのソフトウェアの変更一覧
113 C-ORIG ???
106 H ? Header
93 FASL ???
91 LSP Source file in LISP language
77 TXT Text file
74 CLISP ??? CLISP
72 UNV ???
72 MEM DSR書式付きテキストファイル
71 MID Source file in MIDAS (MIT Assembler) language
68 TTY ???
64 REQ LIBARY source file for the BLISS−36 language
64 R36 LIBARY source file for the BLISS−36 language
53 ERR Error message file
51 LAP Output from the LISP compiler
39 FOR Source file in FORTRAN language
33 FAI Source file in FAIL language
33 CCL Command file for LINK
31 SUP ???
30 OBJ PDP−11 relocatable binary file
27 MAK ???
26 LOGO ???
26 LOG Batch, PTYCON or LINK log file
26 H-ORIG ???

TOPS-20 ファイルタイプ説明

「TOPS−20 User’s Guide」APPENDIX Bの Standard File Types を示します。

その中でも、ソースファイルのファイルタイプを示します。TOPS-20では、多くの言語処理系が動いていたらしいです。

Type Meaning
68C COBOL−68 language
74C COBOL−74 language
AID AID language
ALG ALGOL language
B10 BLISS−10 language
B20 BASIC−PLUS−2/20 language
B36 BLISS−36 language
BAS BASIC language
BCP BCPL language
BLI BLISS−10 language
C68 COBOL−68 language
C74 COBOL−74 language
CBL COBOL−68 or COBOL−74 language
COB COBOL Source File
FAI FAIL language
FCL FOCAL language
FOR FORTRAN language
FTP FORTRAN test programs
LSP LISP language
MAC MACRO language
MID MIDAS (MIT Assembler) language
P11 MACX11 language
PAL PAL 10 (PDP−8 assembler)
PAS the PASCAL language
PL1 PL1 language
PPL PPL language
SAI SAIL language
SIM SIMULA language
SMP SIMPLE language
SNO SNOBOL language

 

 

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使用編