sys_libの内容
COMMON DEF DAT_EXT DAT,TP,LEBE OUT B1,B2,B3,B4
ON TP GOTO @BIT,@CHAR,@SHORT,@INTBE,@CHARBE
@BIT
B1=DAT>>(LEBE-1) AND 1
B2=DAT>>LEBE AND 1
B3=DAT>>(LEBE+1) AND 1
B4=DAT>>(LEBE+2) AND 1
RETURN
@CHAR
RGBREAD DAT OUT B4,B3,B2,B1
RETURN
@SHORT
B1=DAT AND &HFFFF
B3=DAT>>16 AND &HFFFF
RETURN
@INTBE
RGBREAD DAT OUT B4,B3,B2,B1
B1=B1 OR (B4<<24) OR (B3<<16) OR (B2<<8)
B2=0:B3=0:B4=0
RETURN
@CHARBE
RGBREAD DAT OUT B1,B2,B3,B4
RETURN
END
startの内容
OPTION STRICT
LOAD "PRG1:SYS_LIB",FALSE
USE 1
VAR DAT%[0]
VAR OTD%[4]
DIM OTS$,HDSZ%,FMT%,TRKNM%,TMDV%,FLUG%,FNM$
INPUT "standard midi file name:";FNM$
LOAD "DAT:TH07_12.MID",DAT%,FALSE '+FNM$,DAT%,FALSE
DAT_EXT DAT%[0],5,0 OUT OTD%[0],OTD%[1],OTD%[2],OTD%[3],OTS$
FLUG%=(OTS$=="MThd")
ON FLUG% GOTO @ERR,@TSK
@ERR
?"ERROR!:Sorry...,This file format is not supported."
WAIT 1000
END
@TSK
? "This file is supported file!"
? "Please wait..."
↓この下の行でエラー発生。
DAT_EXT DAT%[1],3,0 OUT OTD%[0],OTD%[1],OTD%[2],OTD%[3],OTS$
結果的に
Uninitialized variable usedで終了。
対策としては、何か戻り値に値をセットするらしいのですが、意味がよくわかりませんでした。
お願いします。