| デザイン: | スティーブ・レイニンガー |
|---|---|
| 初登場 | 1977 |
| 影響を受けた | |
| タイニーBASIC、パロアルトタイニーBASIC | |
| 影響を受けた | |
| TRS-80 レベル II ベーシック | |
レベル I BASIC は、最初のTRS-80であるTRS-80 モデル I に同梱されていたBASIC プログラミング言語の方言です。
背景
Tandy 社の従業員 Steve Leininger は、ナショナル セミコンダクターに勤務していたときに、 SC/MP用のNIBL (National Industrial Basic Language) BASIC インタプリタの最初の草稿を書いた 。[1]ソース コードを持っていくことができなかったため、当初はコンサルタントを雇ってインタプリタを作成した。その請負業者が成果物を提出できなかったため、[2] Li-Chen Wangのパブリック ドメイン版Tiny BASICをTRS-80 Model I の最初のプロトタイプに採用した。これにより、インタプリタに必要なメモリは 2 KB のみとなり、初期のマシンに共通する 4 KB のメモリ レイアウトで、平均してさらに 2 KB の空き領域がユーザー プログラム用に確保された。
幹部へのデモンストレーション中、タンディ社の当時の社長チャールズ・タンディは給与を入力しようとしたが、入力できなかった。これは、Tiny BASIC が最大値 32,767 の2 バイト符号付き整数を使用していたためである。その結果、製品版では浮動小数点演算が要求された。 [3]
これにより、既存の16ビット整数コードが32ビット単精度浮動小数点数を使用するバージョンに置き換えられました。レイニンガーはさらに言語を拡張して、入出力ルーチン(キーボード、CRT、カセットからの読み取りと書き込み)をサポートしました。言語は4KBのROMに収まりました。[4]
TRS-80を発表したプレゼンテーションで、レイニンガーは「我々はWang Basicを見直し、整数オーバーヘッドなど約60%を完全に削除しました」と述べた。[5]
さらなる発展
TRS-80 が導入されたとき、BASIC の 3 つのバージョンが発表されました。
- レベル I 基礎
- レベル II BASIC - Microsoftによって開発され、12 KB の ROM を使用して文字列処理、エラー処理、三角関数、その他の専用機能が追加されました。
- レベルIII BASIC - これもマイクロソフトによって開発され、ディスクコマンドを提供する[6]
レベル I 言語は TRS-80 モデル II では利用できませんでしたが、1981 年に TRS-80 モデル III のベースライン パッケージとして一時的に再登場し、モデル III BASIC (別の Microsoft 製品) を搭載したシステムの 999 ドルに対して 699 ドルで販売されました。この言語はモデル I バージョンと同一でしたが、プリンターに出力するための 2 つのコマンド (LLIST と LPRINT) が追加されました。[7]
言語機能
レベルI BASICは以下のキーワードをサポートしていた: [8]
- コマンド:
NEW、、、(ブレークポイントからプログラムを続行またはRUN再開するLIST)CONT - 声明:
PRINT、、、、、、INPUTREADDATARESTORELET - 印刷修飾子:
AT、TAB - 構造:
GOTO、、、、、(ただしは除く) 、、、GOSUBON-GOTOON-GOSUBRETURNIF-THENELSEFOR-TO-STEP/NEXTSTOPEND - グラフィック:
CLS、、、SETRESETPOINT() - 機能:
ABS()、、、INT()RND()MEM - 数学:
+-*/ - 関係演算子:
<>=<==><> - 論理演算子:
*(AND)+(OR)
ベースとなった Palo Alto Tiny BASIC と同様に、Level I BASIC はMicrosoft BASICのようにキーワードをトークン化せず、 for 、for 、for 、forなどの略語を使用して、キーワードで使用されるメモリの量を削減しました。
F.FORG.GOTOP.PRINTT.THEN
この言語は、26個の単精度変数AからZ、2つの文字列A$とB$(それぞれ16文字に制限)、および1つの定義済み配列A()をサポートしていました。この言語には配列の次元を指定するDIMステートメントがなく、配列のサイズはプログラムリストで使用されていない使用可能なメモリ(項目ごとに4バイト)によって決定されました。[9]この言語には多くの一般的な数学関数がなかったため、マニュアルには平方根、累乗、指数、対数、算術符号、および三角関数のサブルーチンリストが記載されていました。[10]
グラフィックスのサポートは、可能な限り最小限のセットでした。CLSはクリアスクリーン、SET(X,Y)はディスプレイ上の場所を点灯します。RESET(X,Y)はそれをオフにします。 は、POINT(X,Y)場所が点灯している場合は1を、点灯していない場合は0を返します。 座標は任意の式で、X軸の場合は0から127、 Y軸の場合は0から47の範囲でした。白黒表示のみがサポートされていました。[11]
参考文献
- ^ 「NIBL」。ドクター・ドブのコンピュータ体操と矯正ジャーナル、オーバーバイトなしで軽量化を実現。1 (10)。1976 年 11 月。
- ^ ロレンゾ、マーク (2017)。エンドレスループ:BASICプログラミング言語の歴史。フィラデルフィア:SEブックス。p.80。ISBN 978-1974-27707-0。
- ^ ウェルシュ、デイビッド、ウェルシュ、テレサ (2007)。『ポンプを準備する: TRS-80 愛好家が PC 革命の火付け役となった方法』p. 7。
- ^ Reed, Matthew. 「Level I BASIC」. TRS-80.org . 2017年8月27日閲覧。
- ^ 「Steven W. Leininger 氏へのインタビュー」TRS-80.com . 2017年8月28日閲覧。
- ^ Thomas, Wes (1977年9月~10月)。「Radio Shackの600ドルのホームコンピュータ」。Creative Computing 3 ( 5): 94–95。
- ^ リード、マシュー。「レベルIモデルIIIは存在したか?」TRS-80.org 。 2017年8月27日閲覧。
- ^ Lien, David (1977). ユーザーズマニュアル レベル I (第 1 版). フォートワース、テキサス州: Tandy Corporation. pp. 232–233 . 2017 年11 月 2 日閲覧。
- ^ Lien, David (1977). ユーザーズマニュアル レベル I (第 1 版). フォートワース、テキサス州: Tandy Corporation. pp. 123–132 . 2017 年11 月 2 日閲覧。
- ^ Lien, David (1977). ユーザーズマニュアル レベル I (第 1 版). フォートワース、テキサス州: Tandy Corporation. pp. 216–220 . 2017 年11 月 2 日閲覧。
- ^ Lien, David (1977). ユーザーズマニュアル レベル I (第 1 版). フォートワース、テキサス州: Tandy Corporation. pp. 105–108, 137 . 2020 年8 月 9 日閲覧。
外部リンク
- TRS-80 レベル I BASIC シミュレータ
- Conklin Systems - 彼は世界を変えた - レベル I BASIC ユーザーマニュアルのコンピューターの擬人化へのオマージュ
