これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド zmakebas です。
プログラム:
NAME
zmakebas - テキストファイルを Spectrum Basic プログラムに変換します
SYNOPSIS
ズマケバス [-hlr] [-a スタートライン] [-i 増加] [-n speccy_ファイル名] [-o 出力ファイル] [-s ライン]
[入力ファイル]
DESCRIPTION
zmakebas は、テキスト ファイルとして書かれた Spectrum Basic プログラムを実際の Speccy に変換します。
基本ファイル (.TAP ファイル、またはオプションで生のヘッダーなしファイルとして)。 デフォルトでは、入力が来ます
stdin から出力され、出力は `out.tap' に送られます。
(たとえば) エミュレータで Basic を書くのではなく zmakebas を使用すると、次のように書くことができます。
より優れたエディタを使用し、テキスト ファイルなどで動作するツールを使用できます。また、`-l' を使用すると、
オプションでは、必要に応じてラベルを使用して行番号なしで記述することができます。
このプログラムは元々、単に小さなローダー プログラムを作成するために使用することを目的としていたため、
ソースのないバイナリである必要はありません。 でも、かなりの努力をしました
より大規模で本格的なプログラムでも機能することを確認するため、次の目的にも使用できます。
そういうこと。
OPTIONS
-a 生成されたファイルを次の行から自動開始するようにする スタートライン。 `-l' が指定された場合、
これはラベルにすることもできますが、これを示すために最初の `@' を忘れずに含めてください。
-h コマンドラインオプションに関するヘルプを表示します。
-i ラベル モードでは、行番号の増分を設定します (デフォルトは 2)。
-l 行番号ではなくラベルを使用してください。
-n .TAP ファイルで使用するファイル名を指定します (最大 10 文字)。つまり、指定されたファイル名です。
見ます。 デフォルトは空のファイル名 (スペース 10 個) です。
-o に出力 出力ファイル デフォルトの `out.tap' ではなく。 ファイル名として「-」を使用すると、
標準出力に出力されます。
-r デフォルトの .TAP ファイルではなく、生のヘッダーなしの Basic ファイルを書き込みます。
-s ラベル モードでは、開始行番号を設定します (デフォルトは 10)。
入力 FORMAT
入力は、speccy (正確には 128) に入力するのと同じである必要があります。
以下の例外:
`#' で始まる行は無視されます。 これにより、そうでないコメントを挿入できるようになります。
出力 Basic ファイルにコピーされます。
空白行は無視されます。
キーワードでは大文字と小文字は無視されます。`print'、`PRINT'、および `pRiNt' は同等です。
オプションで、「randomize」の代わりに「randomise」を使用できます。
C スタイルの 1234 進数で `bin' を使用すると、XNUMX 進数を取得できます。たとえば、XNUMXh を取得するには、次のようにします。
`bin 0x1234' を使用してください。 (ただし、仕様リストではまさにその形式で表示されます。
Speccy 上で出力プログラムを編集できるようにしたい場合に使用してください。)
逆引用符 (`) を使用すると、シャープ記号 (スペック上の文字 96) を取得できます。
通常、XNUMX つの入力行は Basic の XNUMX 行に相当しますが、最後の行としてバックスラッシュを使用できます。
行の文字を使用して、次の入力行にステートメントを続けます。
文字通りブロック グラフィック文字と UDG を挿入するのではなく、
そうですね、エスケープシーケンスを使用する必要があります。 これらはバックスラッシュ (「\」) で始まります。 を取得するには
UDG、このバックスラッシュの後に `a' から `u' までの範囲の UDG の文字を続けます (`t' と `u'
プログラムが 48k スペックまたは 48k モードで実行されている場合にのみ、望ましい効果が得られます。
けれど); 大文字と小文字の両方が機能します。 著作権記号を取得するには、その後に「*」を続けます。
ブロック グラフィックス文字を取得するには、次のコマンドを使用して、ブロック グラフィックス文字の XNUMX 文字の「描画」を続けます。
スペース、ドット、アポストロフィ、および/またはコロン。 (たとえば、「\」:' を使用すると文字 135 が取得されます。
リテラルの `@' を取得するには、その後に `@' を続けます。 (これは必要です
`-l' オプションが指定された場合のみですが、指定されたかどうかに関係なく機能します。) リテラルを指定するには
基本出力ファイルに直接ダンプする XNUMX ビット文字コード (埋め込みファイルに使用するため)
カラー制御コードなど)、中括弧と C 構文番号を使用します (例: `\{42}')。
0 進数、42 進数の場合は「\{XNUMXxXNUMX}」です。 最後に、このようなものではいつものように、文字通りの結果を得ることができます
最初のバックスラッシュの後に別のバックスラッシュを続けます。
`-l' オプションが指定された場合は、行番号を省略する必要があります。 代わりにこれらは
出力で自動的に生成され、必要に応じてラベルを使用できます。
`goto' コマンドなどの行番号を置き換えます。ラベルはテキストで定義されます。
行の先頭に「@label:」を追加します (先頭に空白が続く可能性があります)。 参照できる
(前後に) `@label' を付けます。 コロンとコロンを除く印刷可能な ASCII 文字
ラベル名にはスペースを使用できます。 以下に、ラベルがどのように機能するかを示す例を示します。
入力と出力 (のリスト) - まず入力です。
@foo に移動
「見られません」と印刷する
@foo: "hello world" を印刷します
出力は次のようになります。
10 ゴートゥ 14
12 プリント「見られない」
14 プリント「ハローワールド」
その場合に注意してください is ラベルにとって重要。 `foo' と `FOO' は異なります。
onworks.net サービスを使用してオンラインで zmakebas を使用する