表紙 目次情報/コンピューター > 私のコンピュータ事始め > 作成:1998年10月13日 

TK-80BS(Basic Station)  私のコンピュータ事始め(3)

直前のページに戻る

木製の枠に収まった「My」TK-80BS

  TK-80 は機械語の命令を人間が16進コードに変換し、それをキーで入力してメモリに書き込んでプログラムを走らせるという方式であった。機械語を16進コードに変換するのは根気の要る作業であり、簡単にプログラムを入力出来る方法が求められていた。

  この頃、アメリカではBASICを搭載した、現在のパソコンの原型とも言うべき Apple II、PET-2001(Commodore社)、TRS-80(Tandy Radio Shack社)が、1977年4,5月に発売された。

  アメリカで開発が進められた マイクロコンピュータ用の Tiny BASIC が日本に伝えられたり(*1)、日本でも独自に開発されたりして、マイクロコンピュータを手がけている者の間では、BASIC を自分の機械に移植し、スタートレックゲームをするのが一つの目標となっていた。

(*1)  bit臨時増刊「マイクロコンピュータのプログラミング」(Vol.10,No.3 1978年2月)に詳しい解説付きでソースコードが掲載された。スタートレックゲームの解説と BASICで書いたプログラムも掲載された。

  このようなムードの中で、1977年11月にTK-80BSが発売され、先に発売されていたTK-80と組み合わせることによって BASICが使えるようになった。

BSを使って

Level I と Level II BASIC

  BSにはじめに搭載されていたのがNECが開発した Level I BASICで、数値は整数のみが使えた。
  変数は、特別な変数(A〜Zの一文字の変数)に特別なアドレスが割り当ててあり、変数を直接参照することができ、機械語に比べて動きが遅い(インタープリータであるから当然であるが)BASIC を速くする工夫で便利であった。当時の雑誌にはこの特徴を利用したプログラムがいろいろと掲載された。

  1979年9月に Level I からLevel II にバージョンアップのため ROM の交換が行われることになった。郵送でも良かったが、一日でも早く使いたいと、大阪・難波に開設されていた Bit INN(*) へ出かけて交換してもらうことにした。

  開店時間の前から人が集まり、行列ができていたのを見て、人気というか関心の高さに驚くと同時に、同好の志がたくさんいることに安堵を覚えた。

(*) TK-80発売と同時にNECが作ったサポートセンター。はじめは東京・秋葉原に、続いて大阪・難波に開設。その後、横浜、名古屋にも作られた。

苦労したプログラムの保存

  フロッピーディスクは大型計算機ではすでに使用されていたが、高額のため、個人で購入することは無理であった。そこで考え出されたのがオーディオ用のカセットテープを使用することであった。記録方式についてはいろいろな工夫がなされたが、カンサスシティー・スタンダードもその一つで、BSもこの方式のカセットインターフェイスを採用した。

  テープによる記録は便利な方法ではあったが、テープレコーダーの特性によっては録音・再生中にエラーが発生し、せっかく記録したつもりのプログラムがうまく記録出来ていなかったり、5〜6分もかかってテープから読みこみの途中でチェックサムエラーが出て、また始めからロードのやり直しをしなければならないことがしばしば起こった。

  また、プログラムの記録用に、録音時間が10分という短いテープが安い値段で売られていた。(テープ1本に一つのプログラムを記録するのに使った)

デジタルカセットとTOS(Tape Operating System)

  大型計算機で使われていたハードウェアであったが、エラーが頻発するオーディオ用のカセットテープレコーダーに代わるものとしてデジタルカセットレコーダー(TEAC製 Proline2000)が発売されたので早速購入した。転送速度も毎秒12kビットと格段に速いものであった。放電プリンター(TK-80の項参照)同様、ハードウェアはしっかりしているが、ソフトウェアはなく、基本的な入出力の処理のサンプルをアセンブラで書いたものが1枚ついているだけであった。

  1本のテープに複数のプログラムを書きこむためには、TOS(Tape Operating System)と言うには大げさであるが、
 (1) テープに記録されている内容を表示する
 (2) 目的のプログラムをメモリーにロードする
 (3) 目的のプログラムをメモリーにロードして実行する
 (4) 指定した範囲内のメモリの内容に名前を付けて保存する
 (5) 作成(デバッグ・改良)したプログラムを上書き保存する
などの命令を作った。

  まだ、テープをブロックに分けて管理するという考えには至らなかった。
  現在使われているディスクではFATにプログラムの名前、サイズ、記録場所などが書きこまれているので、FATを調べることによってディスクの内容がわかるようになっているが、自作のTOSでは、カセットの先頭から調べていって、プログラムの先頭を探し、そこに書いてある名前、プログラムのサイズを調べて画面に表示するという方式を採った。

  実際にデジタルカセットテープを使って立ち上げる法方は・・・まず、オーディオカセットテープに書きこんであるテープからデータを読み出すプログラム(イニシャルローダ)を読み込ませ、読みこみが終わればそのプログラムを使ってデジタルカセットからプリンタードライバー、TOSの残りの部分などをメモリにロードして準備完了とした。

  専用のデジタルカセットテープは高価で(1本3500円くらい)そう沢山購入するわけには行かなかったが、試しにオーディオ用のテープを入れて見ると、問題なく使用することが出来た。

 ()テープをブロックで管理し、テープの先頭に管理情報を書きこんだ「TOS」は、1981年1月発売のMZ80B(シャープ)用のものが発売されている。

恐怖の[BREAK]キー

  キーボードの最下段左端、シフトキーと並んで[BREAK]キーが配置されていた。
  このキーは、メモリーをすべてクリアするためのものである。操作中に間違って押すと、今までの苦心が水の泡となってしまうという代物で、BSを使用した人は一度ならずプログラムを消してしまったという経験があるはずだ。

  この誤操作から逃げ出すためにキーボードケースの隅にマイクロスイッチを取り付け、直列に配線してキーとスイッチを同時に押さないとブレークが利かないようにした。キーボードのケースは現在のものに比べて隙間が多く、スイッチを取り付けたり配線を引き出したりハンダ付けは簡単に出来た。

メモリを増設しても長いプログラムの作れなかったBS

  メモリ増設ボードを追加して、メモリ不足から開放されて今までよりも長いプログラム作りにとりかかった。

  順調に進んでいたが複雑な計算をさせると必ず暴走した。BASIC ROM の始めの部分を解析すると、スタックエリアの設定がまずいことが分かった。(TK-80BS のボードに積んであるメモリを最大としてプログラムが作られていた。増設メモリボードにはその対策について、説明はなかった。)

  スタックポインタを増設ボードの最後尾に設定するプログラムを前述の自作TOSに付け加えて、一件落着となった。

ー 以 上 ー

ページの先頭に戻る   次(MZ-80K)へ  「私のコンピュータ事始め」目次へ


Valid HTML 4.01 Transitional  Valid HTML 4.01 Transitional