LoginSignup
2
0

More than 5 years have passed since last update.

z88dkのMSXテープ自動読み込み

Last updated at Posted at 2018-07-14
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
と入力すると正常に実行される。
WMSX Screen (1).png

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の代わりとなるファイル名を指定する。

同様にhello.casファイルをドロップし、[Run Program]した結果、正常に実行された。
WMSX Screen (2).png

WebMSXテープ自動読み込みサンプル

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0