[MSX] Z88DKでBSAVE形式のファイルを作る場合に格納アドレスを変更するには #MSX #Z88DK

Z88DKでBSAVE形式のファイルを作るには

Z88DKではコンパイル時にSubtypeを指定することで、様々なシーンに対応したバイナリを作ることができます。 subtype=diskと指定すると、通常のバイナリに加えて、BSAVE形式のバイナリも作ってくれます。BSAVE形式はファイルの先頭に識別用のコード1バイト(FEH)、開始アドレス、終了アドレス、実行開始アドレス各2バイトの計7バイトのヘッダがつくのが特徴です。

BSAVE形式の格納アドレスを変更するには

デフォルトでは、BSAVE形式の開始アドレスは9C40Hとみなしてバイナリが作られますが、これを任意のアドレスに変更するには、-zorgというオプションを指定します。ちなみに、アドレスを16進表記とする場合は、"0x"というプレフィックスをつける必要があります。

zcc +msx -create-app hello.c mymsx.c -subtype=disk -o $1.bin -DAMALLOC -lm -zorg 0xc400

のように指定すると、先頭番地がC400HのBSAVE形式のバイナリを作成してくれます。 実行時には、HIMEMの位置を変更してマシン語領域を確保した後に、BLOADコマンドでロードして実行します。 Z88DKでコンパイルすると、BSAVE形式のファイルは拡張子が.MSXとなります。

CLEAR 100,&HC400
BLOAD"FOOBAR.MSX",R

コメント