• 検索結果がありません。

技 術 解 説

N/A
N/A
Protected

Academic year: 2021

シェア "技 術 解 説"

Copied!
11
0
0

読み込み中.... (全文を見る)

全文

(1)

4 .

技 術 解 説

市販ファイルコンパータ

(N88‑BASIC <=>  IBM)

使い勝手とそのサポートプログラム

工学部

内 田 勝 徳 金 丸 邦 康

1)  はじめに

パーソナルコンビュータは、近年、高性能、低価格化し、各研究室に於てもスタンドアロン として一般の技術計算などに大いに利用されていると思うが、そのデータの量が増大し、また より高速な処理が必要になるとやはり大型の計算機には及ばない。そこで、大型計算機に電話 回線を利用してデータを転送し処理するといった方法が考えられ(文献(1),

(2))

、著 者らも

PC‑9800

シリーズ用の

TSS

インテリジェントプログラムを、移植して活用して いる(文献(

3 )  

)。しかしながらこの方法は、そのデータ転送速度が

1200 (bps)

あっても大量のデータになると時間的にかなりのロスとなる場合があり、また混線やノイズに よる文字化けも起こり得る。さて本学情報処理センターの特殊端末室には光学読み取り装置

(OCR)

が設置されており、

8

インチフロッピーディスク上のデータが入出力可能である。

今回の報告は、この入出力装置を用いて大量のデータを高速に転送する場合、最も普及率の高 いと思われる

PC‑9801

用のファイルコンパータ(市販品)だけでは不十分な点を補いプ

ロック形式をサポートさせるためのものである。

2) 

プログラムの説明

先ずこれから述べる変換手順の主要部は、

PC‑9801

N88‑DISK BASIC 

のファイルを

IBM

フォーマットに変換するための市販のファイルコンパートプログラム(文

(4)

一 (

6) 

)に委ねられているが、そのプログラムはファイルのブロック形式まではサ ポートしておらず、そのままこれに依ってコンパートされた

IBM

ファイルを

OCR8

インチ デ川スクにより転送すると、

256byte

のレコードと見なされそのファイルが非圧縮(即 ちディスケットの

1

セクタに対して

l

レコード)の場合は、そのレコードの後ろに

256

byte

に満たない分だけ空白文字が入り、それを大型計算機は

1

行とみなす。また圧縮ファ イル(即ち

25  6 

y  t  e

単位でファイルを無意味に区切る)の場合は、大型計算機の

l

行は

l

セクタ分即ち無意味に区切られて構成する。これらの事より疑似的にレコード長を

80

のプ

ロック形式を成立させるために、下記の変換図にみられるように、

2

つのプログラム(リスト

1

、リスト

2 )

を、この市販のコンパータの前処理、後処理用として作成した。

‑37 ‑

(2)

データ

1 N  8 8   F O R

A T

一一一→ データ

1' 

一一一→ データ

2

一一一ー+ データ

2' L A B E L  C f l A N G E D   1  B  M  F O R

A T

"IBMfrm. bas" 

リスト

1

市販のファイルコンバータ

"OCR. N88" 

リスト

2

1

データ変換

リスト

1

はファイルコンパートの前処理用としてのプログラムである。データに限らずソー ステキストの転送も可能にするため、変換したい

BASIC

ファイルは、

1

80

文字以内で ある事を前提とし、

80

文字に満たない分だけ空白文字を付加し、

1

行を

80

文字丁度の

BASIC

ファイルを作成し、これを

1

レコードとみなす。と同時に行数をカウントし、

3

1

組としてこれを

1

ブロックと見立てる。即ち、

l

ブロック

2

.11

0byte

となるが

1

セク

25  6  b  y  t  e

なので残りの

16byte

にヌルストリングスコード(アスキーコード

&H  0  0 )

を付加し、これを

BASIC

ファイルとして

1

セクタ内に格納する。以後これをフ ァイル終了まで操り返すが、最終行で

1

プロック使い果たさなかった場合は、残ったレコード

+16byte

分だけ空白文字(アスキーコード:

&H  2  0 )

を入れ

1

セクタを作成する。以 上で疑似的に

1

レコード

80byte

1

プロック

240byte

BASIC

上のデータフ

ァイルが完成する。

リスト

2

はファイルコンパートの後処理用のプログラムである。

IBM

ディスクフォーマッ トに於いては、通常のデータ記憶領域の他に、トラック

O .

サーフェス

O .

セクタ

8‑26

びトラック

O .

サーフェス1.セクタ

1‑16

にデータセット識別名や種々の属性表示のため のデータセットラベルを有している。本プログラムはそのラペル内の属性を変更して、ブロッ ク形式をサポートしようというものである。

8

インチディスケットの特徴として、

2D

2  5  6 

(両面倍密度

1

セクタ

256byte)

であってもトラック

O .

サーフェス

O

のセクタ

(3)

は全て

128byte

で成っていて、

DSKI$

のコマンドで読み出すと

2

つのセクタを同時 に読む事と、トラック

O

でデリーテッドデータ(以下、

DDAT)

を読もうとするとエラーに なる事である。従って、トラック

O .

サーフェス

O

では

2

つのセクタのうち、一方が

DDAT

ならば

DSKI$

で読めない事に成る。そこで、その場合は

2

つの組み合わせを換える事で可 能となるが

DDAT

に挟まれたラベルは読むことができない。しかし、一度

IBM

ファイルに コンパートしたファイルを消さぬ限り上記の事態は起こらず、また今回の場合はデータを変換 してラベルを変更し、転送するためのものだから、通常の使用には差し支えないと考える。デ ータセット識別名をそのデータセットラベルのディスク上の位置を示す情報と一緒にメモリに 格納し、iデータセット識別名の入力を待ちその識別名の現在の属性をリストアップする。(但 し、ここでリストアップされるラペルは、

OCR

のユーティリティーに標準を合わせ同じ出力 にした。)

ここで変更すべき属性は、ブロック長、レコード属性、レコード長、交換タイプ標識、デー タセットの終わり

(EOD)

5

ケ所で、ブロック長は..

240 

..レコード属性を..

B" 

( ロック化、非スパンレコード)、レコード長を..

0  080 

..とし、レコード属性の変更に伴っ て交換タイプ標識は

"E" (E

タイプデータ交換形式)に、また今回使用した市販コンパート プログラムは

EOE

の次のセクタが

EOD

となり、転送の際に余分な

1

プロック分が付加され る事になるので、

EOD

EOE

と問ーのセクタとした。これらの変更が許可されたら、現状 況はアスキーコードでの処理なのでこれをエピセディク

(EBCDIC)

コードに変換後(こ のコード変換は、英大文字,数字,数記号のみのサポート)

BM

ディスケットのデータセッ トラベルに格納され、変換後の属性を再出力して完了する。なお、リスト

2

のアスキーコード とエピセディクコードの変換は、文献(

7)

を参考にした。また、本グログラムは、プロック 形式のサポートのみにとどまったが、

OCR

のユーティリティーによらずパーソナルコンビュ ータ側で種々の属性を変更する将来の拡張のために(例えば、バイパスインデックスを消す 等)都合の良いように

19

コの変数が用意されている。

3) 

操作方法

)先ず、,

1  B  M 

r  m.  b  a  s 

..を起動し

Put  your  source  disket  in  ASCII  code  in 

tJ:

2 ) 

のメッセージに対して

N88DISK‑BASIC

のアスキーファイル(参照:図

2

データ1)をドライブ

2

にセッ

(Are  you  ready?)

にリターンキーで応答する。するとファイル名が出 力されるから変換希望のファイル名を入力する。この時、デバイスは

(2

:)となっているの で単にファイル名だけを入力する。

(Converted 

le  name  is  l:WORK.(asc))

のメッセージ

Q d  

nd

(4)

で終了しドライブ

1

'WORK'

の名のファイル名が作成された。(参照:図

3

データ

l '   ) 

)次に、市販のファイルコンパートプログラムを実行し

IBM

フォーマットのファイル を作成する。(但し、この時必ず圧縮ファイルで、なければならない。)変換後のデータセット

ラペルを図

4

に示す。

)最後に、

'OCR. N88'

を起動する。実行が始まるとデータセット名をリスト アップするから(参照:図

5

)、その中から変換したいファイル名を入力する。ファイルが存 在するとその属性を表示する(しなければ、再びファイル名の表示) (参照:図

6 )

1  s 

t  a  1  1  r 

g  h  t  ? 

'のメッセージが出るので、変換の時は、リターンキーで応答 する。(リターン以外で、ファイル名の入力待ち)変換後、確認のため再び属性を表示し

( If  you  want  to  end ,  type  <  RETURN 

Otherwise ,  key  in<  Any  key 

>.のメッセージが出るので、

終了する場合はリターンキーで応答すると、

(Completed!J

が表示されて終了する。

変換後のデータセットラベルを図

7

に示す

d

尚、システムの変更に伴い

OCR

によりデータを転送する際に必要なコマンドが有るので記 しておく。

ALTDSD 

データセット名

UACC (UPDATE) 

詳しくは、センターパンフレット(文献

(8)

)を参照されたい。

4 )

おわりに

本プログラムは、パーソナルコンビュータでいったん入力した犬量のデータを、大型計算機 で処理したいユーザーのためのもので、データ入力の重複化を避けることができる。既発表の

TSS

インテリジェントターミナルプログラムと併用することにより、効率的なデータ処理が 可能となろう。本プログラムの場合のように比較的安価な市販ソフトには、機能面において不 満な点が多少あるが、適切なサポートプログラムを作成し付加することにより、使い勝手は格 段に向上する。本報告が、パーソナルコンピュータと大型計算機を同時に利用して、データの 大量処理を行ないたいと考えているユーザにとって、寄与するところが多少ともあれば幸いで ある。

参考文献

(1)泉、小山、山田 「マイクロコンビュータによる

FACOM M‑180IIAD

へのフ ァイルの送信および受信について」センターレポート第

1 号 (980)

( 2  

)清木、芳本

rpC‑880 0/PC8 0  0  0

シリーズによるテキスト編集および、

‑40 ‑

(5)

TSS インテリジェントターミナルのためのプログラム J センターレポート第 3 号 (1 983) 

( 3   )金丸 fPC‑9800TSS インテリジェントターミナル用プログラム J センターレ

ポート第 4 号 ( 1 983)

( 4   )システムソフト 「ファイルトランスレータ 98  ユーザーズマニュアル」

(  5  )管理工学研究所 「ファイルコンパータ /9800 マニュアル J

(  6  )ソフト情報編集部 「共通 OS ワークショップ、機種の違い、応用ソフトの違いを突き

破る小道具」 ソフト情報 1  984 年 9 月(第 3 巻第 9 号)

( 7   )石村 fN E  C  P  C  ‑9  8  0  1 活用研究 =その 3 PC‑IBM データ交換」 マ

イコン 1  983 年 9 月号

( 8 ) 長崎大学情報処理センター「データセットの管理について J 昭和 59 年 8 月

IBM diskket  Surface 0 Track 8  Sector 6 

FORd5553E551700000  2

CI‑‑C4ClFE74400

E09DDDC230D580000  ‑4D0005CE04F64400  D403330D960B70000 

‑ n u d

F

L F

U F

R d A

‑ z

U

L n ‑ z

R U E ‑

泊地

‑ 8

2 n u n

u

C108EC2C9B3550000  ‑C4645C5D6EFF4400 

B90222E1651BB5000 

‑ n u

凋 抽

E p

u p ‑ v

F

﹂凋品

τ

円 し

P H

F

F

‑ E

a u ‑

‑ z

n u n u

A H

f n u n D F

F L

' l F

n u

n D a ‑

‑ n u R

J n u n

u n u n

u

τ R U A

‑ A R .

u p

‑ z

c u n u

F

E l

n u

a

n u n u

96oil‑‑D704918D000  =υ4CCC4C4CDF45400  8900EEMEnu006605500 

‑ n u s

‑ A ‑ z

'

F

T 4 ‑ n

U F U

F

r '

A n

u n

u

770D45600D6B18D00  ‑D45CCC445C6F・4000

R u

n u

R U

F L

n u

n u

n u

n u

n u

n u

n u

n u

a u

n u

' n

u n u

‑41544444F47CFDOO 

R d

n u

n u

n D

n u

n u

n u

n u

n u

n u

n U

F U

n D

1 n

O

F

n u

‑ a n u τ n U F O a a τ

必性凋怜

A

z a ‑ F

r a u

F r n υ

d

n u

a ‑ n u

n D R d

n U

u n

u n u n

u ‑ ‑ n

u a u τ

n u n O

d

F D

n u

‑4EF44444FFC7CE10  304000005BODE8200 

‑ m

n u

s τ a

τ A

3 A

τ ・

E P O F

F

'

P O

F U

n u

n u

ヲ 白

n u ・

4

・ n

u n u n

u n u n

u n u n

u ‑ ‑ n

u R d n

u n u

10440005DDOODE050  ‑4D444440FF6C74C0 

U

4 F

A

Z A

M E

' a R

A

噌凋値

2 8

'

'

4 ・

n u n u

n u n U

必 且

τ '

i n u n

u n u n

U

d

n u

n u

n o

n D

n o

n u

P 3

n u

‑ s u T

F U F L

d

a u

A

n u F L

A

a ‑

F L P O

F L 8 a

τ F b n

u

••••••••••••••••••••••••••••••••

‑ ‑ ‑ 一

‑ ‑ ‑ ‑

‑ ‑ ‑ ‑

‑ ‑ ‑ ‑

n u

1 ?

・勺

J V

A ‑ J D

R U

F

a u

n 3

A H

R u

p u

n u

E U

E I

2 デ ー タ 1

‑4 1

01 23456789ABCDEF  PROGRAM 

DUMMY  RE 

AD (5.*)  A.B.C  D=A+B+C  E=A*B*C  F=(A+BI*C 

G=A

鈴【

B+

Cl  WRITE 

(6.100)  D

E

F  100  FORMAT  ( 1   H  ・ . D= • ,  F '  10 .5 ,  5X 

, 

'E=

FIO.5. 5X.  • F= ・ . FI 0.5) 

STOP 

END 

参照

関連したドキュメント

その限りで同時に︑安全配慮義務の履行としては単に使

ƒ 、または Arduinoのリセットボタン”oƒ、2 }~x してか らコマンド @2 しま Q*した Arduino す。 プログラムを Arduino に…き:む Äsについては「

この設備によって、常時監視を 1~3 号機の全てに対して実施する計画である。連続監

□ ゼミに関することですが、ゼ ミシンポの説明ではプレゼ ンの練習を主にするとのこ とで、教授もプレゼンの練習

夜真っ暗な中、電気をつけて夜遅くまで かけて片付けた。その時思ったのが、全 体的にボランティアの数がこの震災の規

 学年進行による差異については「全てに出席」および「出席重視派」は数ポイント以内の変動で