hello.c
/*
z88dk / WebMSX
zcc +msx -lndos -create-app hello.c
zcc +msx -lndos -create-app -bnhello hello.c
bload"cas:",r
*/
#include <stdio.h>
void main()
{
printf("hello, world");
}
zcc +msx -lndos -create-app hello.c
上記ソースをコンパイルするとa.casファイルが作られる。これをWebMSXのCassetteにドロップする(もしくは[Load Image File])。
左下の[Cassette Tape]アイコンをクリックし、[Run Program]を選択するとa.binがSkipされてDevice I/O error
となる(テープEND)。
a.casファイルをドロップし直すか、[Rewind Tape]で巻き戻し
bload"cas:",r
と入力すると正常に実行される。
bsaveしたファイルと比べたりした結果、どうやらテープ内ファイル名a.binにピリオドを含むのが原因のようだ。テープなのに拡張子処理してるように思われる。
zcc +msx -lndos -create-app -bnhello hello.c
とコンパイルするとhello.casファイルが作られる。テープ内ファイル名はhelloとなる。
-bn Set the output file for the linker stage
-bnオプションにはa.binの代わりとなるファイル名を指定する。