命令概要
↑目次に戻る
DIRECTモード専用
DIRECTボタンを押した状態でのみ利用可能(プログラム内に書くとエラー)
CLEAR
NEW
LIST
RUN
CONT
KBDTYPE US
KBDREPEAT 240,40
JOYSTKASSIGN 4,0
JOYSTKPLAY 2048
EMUCOLOR RGB(0,240,0),RGB(16,16,0),RGB(8,32,32)
変数と配列
変数や配列の定義および操作関係
DIM TMP%[10]
VAR A
INC NO
DEC NO
SWAP A,B
COPY TMP%,WRK%
SORT TMP%
RSORT TMP%
PUSH TMP%,123
V=POP(TMP%)
UNSHIFT TMP%,123
SHIFT(TMP%)
FILL TMP%,0
制御と分岐
比較、分岐、くりかえしなどの制御関係
GOTO @LABEL
GOSUB @LABEL
END
STOP
@LABEL
RETURN
IF NO==0 THEN NO=1 ELSE NO=2
IF NO==0 THEN NO=1 ELSEIF NO==2 THEN N=3
ON IX GOTO @LABEL
ON IX GOSUB @LABEL
IF IX==0 GOTO @LABEL
FOR IX=0 TO 9 STEP 1:NEXT
WHILE SW==0:WEND
REPEAT:UNTIL SW==0
BREAK
CONTINUE
高度な制御
ユーザー定義関数や拡張機器の制御関係
DEF SUB X,Y:END
DEF FUNC(X,Y):RETURN 0:END
DEF GETXY NO OUT X,Y:END
COMMON DEF SUB X,Y:END
CALL "LOCATE",X,Y
V=CALL("ASC","A")
データ操作・その他
データ読み込み、垂直同期、コメントなど補助的な要素
READ A,B$
DATA 123,"ABC"
RESTORE @DTOP
OPTION STRICT
WAIT 60
VSYNC 1
' comment
KEY 1,"TEST"
TMREAD OUT H,M,S
DTREAD OUT Y,M,D
F=CHKLABEL("@SUB",1)
F=CHKCALL("PRINT")
F=CHKVAR("SW")
KEY 1, "PRINT"
A$=KEY(1)
CLIPBOARD "SAMPLE"
S$=CLIPBOARD()
BACKTRACE
コンソール入出力
テキスト画面への文字表示や文字列の入力関係
CLS
COLOR RGB(255,255,255),RGB(0,0,32)
LOCATE 20,15
CPRIO -100
PRINT "A=";A;",B$=";B$
ATTR 0
SCROLL VX,VY
C=CHKCHR(X,Y)
INPUT "NO:";NO
LINPUT "STR=";S$
K$=INKEY$()
FONTDEF
WIDTH 16
A=WIDTH()
CONSOLE
CONSOLE 0,0,40,25
CONSOLE OUT X,Y, W,H
ファイル
一覧取得、ファイルへの読み書き関係
FILES
LOAD"SYS/PRG1:EX1TEXT"
SAVE"TEST"
RENAME "TEST","NEWTEST"
DELETE "NEWTEST"
EXEC"PRG1:STDLIB"
USE 1
MKDIR "SUB"
RMDIR "SUB"
RENAME "TEST.PRG","SAMPLE.PRG"
FCOPY "SUB/TEST13.PRG","../BACKUP/"
DELETE "TEST.PRG"
スクリーン制御
画面の表示モードや制御関係
XSCREEN H,V,ASP
VISIBLE CON,GRP,SP
BACKCOLOR RGB(0,0,0)
C=BACKCOLOR()
FADE RGB(255,64,64,64),60
C=FADE()
R=FADECHK()
ACLS
グラフィック描画
ピクセル単位で線や円や矩形などの描画関係
GPAGE VPG,WPG
GPAGE OUT VP,WP
GOFS OX,OY
GOFS OUT X,Y
GCOLOR RGB(255,255,255)
C=RGB(255,128,64)
RGBREAD C OUT R,G,B
GCLIP MODE,TX,TY,EX,EY 'MODE (0=V,1=W)
GPRIO Z
GCLS
C=GSPOIT(X,Y)
GPSET X,Y,C
GLINE TX,TY,EX,EY,C
GCIRCLE CX,CY,R,C
GBOX TX,TY,EX,EY,C
GFILL TX,TY,EX,EY,C
GPAINT X,Y,C
GCOPY PG,TX,TY,EX,EY,MD 'MD (0=OVERWRITE)
GSAVE PG,W%,FLG 'FLG (0=32bitCOLOR)
GSAVE PG,TX,TY,EX,EY,W%,FLG
GLOAD W%,FLG,MD
GLOAD X,Y,W,H,W%,FLG,MD
GLOAD W%,PAL%,MD
GTRI X1,Y1,X2,Y2,X3,Y3
GPUTCHR X,Y,ABC
スプライト
スプライトと呼ばれる自由に動かせる矩形画像表示関係
SPPAGE 3
P=SPPAGE()
SPCLIP TX,TY,EX,EY
SPDEF DEFNO,U,V,W,H,HX,HY,A
SPDEF "@DEFDT"
SPDEF DEFNO OUT U,V,W,H,HX,HY,A
SPDEF "@DEFDT",OFS,UOFS,VOFS
SPSET IX,DEFNO
SPSET IX,U,V,W,H,A
SPCLR IX
SPSHOW IX
SPHIDE IX
SPHOME IX,HX,HY
SPOFS IX,X,Y,Z
SPOFS IX OUT X,Y,Z
SPROT IX,A
SPROT IX OUT A
SPSCALE IX,SX,SY
SPSCALE IX OUT SX,SY
SPCOLOR IX,RGB(128,255,255,255)
SPCOLOR IX OUT C
SPCHR IX,DEFNO
SPCHR IX,U,V,W,H,A
SPCHR IX OUT U,V,W,H,A
SPCHR IX OUT DEFNO
SPLINK IX,PARENTIX
P=SPLINK (IX)
SPUNLINK IX
SPANIM IX,"XY+",-60,200,120,0
SPANIM IX,"XY+",W%,0
SPANIM IX,"XY+","@SPDAT"
SPSTOP IX
SPSTART IX
A=SPCHK(IX)
SPVAR IX,VNO,123
SPVAR IX OUT V
SPCOL IX,SCALE,MASK
SPCOL IX,OX,OY,W,H,SCALE,MASK
SPCOLVEC IX,VX,VY
SW=SPHITSP(IX,IX2)
SW=SPHITRC(X,Y,W,H,MASK,VX,VY)
SPHITINFO OUT T,X1,Y1,VX1,VY1,X2,Y2,VX2,VY2
S=SPUSED(IX)
SPFUNC IX,@PROG
サウンド
サウンド関係
SBVOLUME 128
V=SBVOLUME()
BEEP 3
SOUND 15,240
数学
三角関数や対数などの数学関係
VI=FNUM DIV FNUM2
VI=FNUM MOD FNUM2
VI=FNUM AND NUM
VI=FNUM OR NUM
VI=FNUM XOR NUM
VI=FNUM << NUM
VI=FNUM >> NUM
VI=FLOOR(FNUM)
VI=ROUND(FNUM)
VI=CEIL(FNUM)
V=ABS(NUM)
V=SGN(NUM)
V=MIN(NUM)
V=MAX(NUM)
V=RND(100)
VF=RNDF(100)
RANDOMIZE SEED
V=SQR(NUM)
V=EXP(NUM)
V=LOG(NUM)
V=POW(NUM,2)
V=PI()
V=RAD(NUM)
V=DEG(NUM)
V=SIN(NUM)
V=COS(NUM)
V=TAN(NUM)
V=ASIN(NUM)
V=ACOS(NUM)
V=ATAN(NUM)
V=ATAN(Y,X)
V=SINH(NUM)
V=COSH(NUM)
V=TANH(NUM)
V=CLASSIFY(NUM)
文字列操作
文字列の表示書式指定や抽出などの文字操作関係
V=ASC("A")
S$=CHR$ (&H41)
V=VAL("123")
S$=STR$(123)
S$=HEX$(123,4)
S$=BIN$(123,8)
S$=FORMAT$("%03D",NUM)
S$=FORMAT$("%8.2F",NUM)
V=LEN("ABCDE")
S$=MID$("ABCDE",2,1)
S$=LEFT$("ABCDE",2)
S$=RIGHT$("ABCDE",2)
V=INSTR("ABCDE",CD)
S$=SUBST$("ABCDE",2,"XY")
ソースコード操作
指定したSLOTへのプログラム読み書きなどの制御関係
PRGEDIT SLOT
S$=PRGGET$()
PRGSET "BEEP 2"
PRGINS "' comment"
PRGDEL
V=PRGSIZE(SLOT)
S$=PRGNAME$(SLOT)
エミュレータ関係
エミュレータ側のCPUへのアクセスやエミュレータの制御関係
N$=EMUMACHINENAME$()
EMUCPUINFO OUT N$,RC
V=EMUCPUNO()
EMUCPUNO 0
V=EMUSTATUS()
EMURUN &HA000
EMUSTOP
EMUJUMP &HC000
EMUTRACE
EMUSTEP
V=EMUMEM( &HD000 )
EMUMEM &HD000,&HA3
EMUDISASM &HAC00 OUT ASM$, LENGTH
V=EMUREGCNT()
N$=EMUREGNAME$(0)
V=EMUREGSIZE(0)
V=EMUREGSIZE("A")
V=EMUREGSIDE()
EMUREG REG
V=EMUREG(0)
V=EMUREG("A")
EMUREG 0,56
EMUREG "A",&HCC
EMUBKST OUT TYPE, NUMBER
EMUBP 0,&HFF00
EMUBP 0 OUT FLAG,ADDR
EMUBC 0
EMURP 0,&H56AF,&HAA
EMURP 0 OUT FLAG,ADD,CNT
EMURC 0
EMUWP 0,&H56AF,&HAA,&H40
EMUWP 0 OUT FLAG,ADDR,NUM,VALUE
EMUWC 0
EMURESET
EMUVOLUME 128
V=EMUVOLUME()
EMUWINDOW 16,16,320,200
EMUWINDOW 5
EMUCOLOR OUT TX,BK,BD,AL
EMUKBDTYPE 1
EMUCG &H01,0,&HFE
V=EMUCG( &H01,0 )
EMUCGRESET
EMUJOY BTNID, KEYPA, KEYPB
EMUJOY BTNID OUT SW, KEYPA, KEYPB
EMUJOYCLR
GPIO制御関係(I2C/SPI含む)
外部入出力端子GPIO(及びI2C/SPI)制御関係
GPIOMODE 3,#GPIOMODE_IN
GPIOPUD 3,1
V=GPIOIN(18)
V=GPIOIN()
GPIOOUT 18,1
GPIOOUT &HC3
GPIOHWPWM 1,16
I2CSTART
I2CSTOP
R=I2CRESULT()
V=I2CRECV(&H32)
V=I2CRECV8(&H32,0)
V=I2CRECV16(&H32,0)
I2CSEND &H32,0
I2CSEND8 &H32,0,25
I2CSEND16 &H32,0,&H2525
SPISTART 400000,3
SPISTOP
SPIRECV WORK%,256
SPISEND WORK%,256
SPISENDRECV WORK%,256
↑目次に戻る