bloadです。文字列変数を使います。
dialog "",16
if stat != 1:end
loadname = refstr
exist loadname
loadlen = strsize
sdim loadbuf,loadlen
bload loadname,loadbuf
name = "Unidentified."
repeat loadlen-2
if (wpeek(loadbuf,cnt) == 0x03ff) {
idx = cnt + 2
namesize = peek(loadbuf,idx)
sdim name,namesize + 1
memcpy name,loadbuf,namesize,0,idx+1
break
}
loop
mes name
苦労されてる様子なので動くものを貼ります。
標準MIDIファイルの仕様を半端に利用しているので、もしかしたら変なのが読みだされるかもしれませんし、下手すると間違った部分がたまたま読みだされるかもしれません。(たぶん無いはずですが)