歴史
グラフィックスベーシック
Graphics BASICは、Commodore 64コンピュータのCommodore BASIC V2.0プログラミング言語に対するサードパーティの拡張機能です。もともと1983年にロン・ギルバートとトム・マクファーレンによって書かれました。このプログラムはHeswareにライセンス供与されていました。Heswareは、1984年に廃業する前に製品ラインの一部としてプログラムを簡単に販売しました。このプログラムは後にKen RoseとJack Thorntonによって拡張され、1985年にEpyxによってProgrammers BASIC Toolkitというタイトルで再パッケージ化されて販売されました。
Graphics BASICは、BASIC言語に100を超える新しいコマンドを追加し、Commodore 64の比較的高度な(当時の)グラフィックスおよびサウンドハードウェア機能に使いやすいAPIを提供します。CommodoreBASICだけでこれらの機能にアクセスできますPEEKおよびPOKEコマンドの面倒な使用を通じて。 Graphics BASICは単一の5.25インチフロッピーディスクで提供され、言語自体と、言語の新機能を示す多数の非常にシンプルなデモプログラムが含まれていました。カートリッジバージョンも利用できました。
特徴
グラフィックス
Graphics BASICの主な機能は、ドット、線、円、楕円、長方形、多角形を描画するコマンドを含む、使いやすいグラフィックコマンドです。以下に、コマンドの使用方法の例を示します。
上記からわかるように、構文はGW-BASICまたはAmigaBASICのグラフィックスコマンドの構文と多少似ていますが、ソースコードの互換性を妨げるほど十分に異なります。
Commodore 64には、テキスト用とグラフィック用に別々のビデオモードがあります。これらの切り替えは、グラフィックスBASICで非常に簡単です。 TEXTはテキストモードに切り替わり、HIRESは320×200の2色グラフィックに切り替わり、MULTIは160×200の4色グラフィックに切り替わります。 Graphics BASICでは、画面を複数のモード間で水平に分割することもできます。
HiResモードとMultiモードの両方で16色すべてを使用できますが、2つの互換性のない色が同じ8×8ピクセルブロックに描画される場合、ブロック全体が後で描画される色で塗りつぶされます。これは、Commodore 64のVIC-IIディスプレイチップの技術的な制限によるものです。
Graphics BASICの構文のより珍しい選択の1つは、グラフィックの色の設定でした。テキストモードの前景色と背景色を設定するには、COLORコマンドとBACKGROUNDコマンドを使用し、その後に0〜15の数字、またはWHITEやBLACKなどの事前定義された記号定数を続けます。グラフィックモードの色を設定するためのコマンド構文は次の形式です。
ここで、xは前景色で、yは背景色です。 (たとえば、COLOR HIRES BLACK ON WHITE)。
スプライト
Graphics BASICは、Commodore 64の8つのスプライトを操作するコマンドも提供します。これらのスプライトは24 x 21ピクセルのサイズで、2色(1色+背景)または4色(3色+背景)で描画されます。各スプライトには、1つの個別の色があります。 3色モードでは、水平解像度が半分になり、すべての3色スプライトが同じ2つの追加の色を共有します。
スプライトコマンドのコンパクトな構文は、従来のプログラミング言語よりもUnixプログラムのコマンドラインオプションと共通しています。本質的に、いくつかのスプライト操作を1つのコマンドに組み合わせることができます。1つのコマンドは、SPRITEという単語と1〜8のスプライト番号で始まります。その後、必要な数のキーワードとパラメーターが続きます。例として、
合計4つのことを行います。スプライト1を表示可能に設定し、画面上の位置(160、100)に移動し、個々の色を青に設定し、物理サイズを水平および垂直に2倍にします。
Graphics BASICは、自動スプライト移動(場所の変更)、アニメーション(形状の変更)、および衝突検出もサポートします。これは、Commodore 64のソフトウェア割り込みルーチンにフックを追加することにより、言語コア自体に実装されます。 (この言語は、独自の割り込みフックの追加をサポートしていません。)
スプライトシェイプは、EDITコマンドでアクセスできる組み込みスプライトエディターを使用して、手動で描画できます。このエディターは使いやすいものの、やや初歩的なものでした。スプライトシェイプは、SPRITE LOADおよびSPRITE SAVEコマンドを使用してディスクにロードまたは保存できます。プログラムで新しいスプライト図形を描画するには、通常の雇用またはマルチカラー画面に図形を描画してから、「Copy HIRES TO SPRITE」または「COPY MULTI TO SPRITE」コマンドで図形をコピーします。
音
Graphics BASICは、コモドール64の内蔵オーディオシンセサイザーを制御するためのさまざまなコマンドも提供し、波形タイプ、トーン(周波数)、および振幅エンベロープの選択を可能にします。さらに、トーンのシーケンスを指定して、バックグラウンドで自動的に再生できます。
その他のコマンド
グラフィックスとサウンドコマンドに加えて、グラフィックスBASICは、デバイスのファイルディレクトリを一覧表示するDIR、ジョイスティックの位置を返すJOY、ファンクションキーをプログラムするKEY、現在のプログラム行の番号を変更するRENなどのさまざまな便利なコマンドも提供します数字。 Graphics BASICは、エラーキャプチャを実行するON ERRORコマンド、変数をサブルーチンに渡すことができるPROCEDUREコマンド、およびIF / THENコマンドにELSEを追加しました。