core

This command set represents the foundation functionality of the language, and is independent of any media or third party requirements such as DirectX. The commands are primitive, yet allow enough functionality to create useful programs that are very small in size.
    #INCLUDE : #INCLUDE
    #CONSTANT : #CONSTANT  Value
    REM : REM
    REMSTART : REMSTART
    REMEND : REMEND
    SYNC ON : SYNC ON
    SYNC OFF : SYNC OFF
    SYNC RATE : SYNC RATE Rate
    SYNC SLEEP : SYNC SLEEP Flag Processor Friendly
    SYNC MASK : SYNC MASK Ignore Camera Mask
    SYNC : SYNC
    FASTSYNC : FASTSYNC

    CLS : CLS
    SET CURSOR : SET CURSOR X,Y
    PRINT : PRINT Print Statements
    PRINTC : PRINTC Print Statements
    INPUT : INPUT Print Statements, Input Variable

    DIM : DIM
    UNDIM : UNDIM
    DO : DO
    EXIT : EXIT
    LOOP : LOOP
    END : END
    IF : IF
    ELSE : ELSE
    ENDIF : ENDIF
    REPEAT : REPEAT
    UNTIL : UNTIL
    WHILE : WHILE
    ENDWHILE : ENDWHILE
    FOR : FOR
    STEP : STEP
    NEXT : NEXT
    GOTO : GOTO
    GOSUB : GOSUB
    RETURN : RETURN
    SELECT : SELECT
    CASE : CASE
    CASE DEFAULT : CASE DEFAULT
    ENDCASE : ENDCASE
    ENDSELECT : ENDSELECT
    FUNCTION : FUNCTION
    EXITFUNCTION : EXITFUNCTION
    ENDFUNCTION : ENDFUNCTION
    RESTORE : RESTORE String
    READ : READ Varable
    DATA : DATA
    SAVE ARRAY : SAVE ARRAY Filename, Array Name(0)
    LOAD ARRAY : LOAD ARRAY Filename, Array Name(0)
    WAIT : WAIT Integer Value
    SLEEP : SLEEP Number
    WAIT KEY : WAIT KEY
    WAIT MOUSE : WAIT MOUSE
    SUSPEND FOR KEY : SUSPEND FOR KEY
    SUSPEND FOR MOUSE : SUSPEND FOR MOUSE
    BREAK : BREAK
    DRAW TO BACK : DRAW TO BACK
    DRAW TO FRONT : DRAW TO FRONT
    DRAW TO CAMERA : DRAW TO CAMERA
    DRAW TO SCREEN : DRAW TO SCREEN
    DRAW SPRITES FIRST : DRAW SPRITES FIRST
    DRAW SPRITES LAST : DRAW SPRITES LAST
    RANDOMIZE : RANDOMIZE Seed Value
    INC : INC Integer Value
    DEC : DEC Integer Value

    MAKE MEMORY : Return DWORD=MAKE MEMORY(Size In Bytes)
    DELETE MEMORY : DELETE MEMORY Memory Address
    FILL MEMORY : FILL MEMORY Memory Address, FillByte, Size In Bytes
    COPY MEMORY : COPY MEMORY Memory Destination, Memory Source, Size In Bytes

    EMPTY ARRAY : EMPTY ARRAY Array Name(0)
    ARRAY INSERT AT TOP : ARRAY INSERT AT TOP Array Name(0)
    ARRAY INSERT AT BOTTOM : ARRAY INSERT AT BOTTOM Array Name(0)
    ARRAY INSERT AT ELEMENT : ARRAY INSERT AT ELEMENT Array Name(0), Index
    ARRAY DELETE ELEMENT : ARRAY DELETE ELEMENT Array Name(0)
    NEXT ARRAY INDEX : NEXT ARRAY INDEX Array Name(0)
    PREVIOUS ARRAY INDEX : PREVIOUS ARRAY INDEX Array Name(0)
    ARRAY INDEX TO TOP : ARRAY INDEX TO TOP Array Name(0)
    ARRAY INDEX TO BOTTOM : ARRAY INDEX TO BOTTOM Array Name(0)
    ARRAY INDEX TO QUEUE : ARRAY INDEX TO QUEUE Array Name(0)
    ADD TO QUEUE : ADD TO QUEUE Array Name(0)
    REMOVE FROM QUEUE : REMOVE FROM QUEUE Array Name(0)
    ARRAY INDEX TO STACK : ARRAY INDEX TO STACK Array Name(0)
    ADD TO STACK : ADD TO STACK Array Name(0)
    REMOVE FROM STACK : REMOVE FROM STACK Array Name(0)

    COS : Return Float=COS(Value)
    SIN : Return Float=SIN(Value)
    TAN : Return Float=TAN(Value)
    ACOS : Return Float=ACOS(Value)
    ASIN : Return Float=ASIN(Value)
    ATAN : Return Float=ATAN(Value)
    ATANFULL : Return Float=ATANFULL(Distance X, Distance Y)
    HCOS : Return Float=HCOS(Value)
    HSIN : Return Float=HSIN(Value)
    HTAN : Return Float=HTAN(Value)
    SQRT : Return Float=SQRT(Value)
    ABS : Return Float=ABS(Value)
    INT : Return Integer=INT(Value)
    EXP : Return Float=EXP(Value)
    RND : Return Integer=RND(Range Value)
    TIMER : Return Integer=TIMER()
    INKEY$ : Return String=INKEY$()
    CL$ : Return String=CL$()
    GET DATE$ : Return String=GET DATE$()
    GET TIME$ : Return String=GET TIME$()
    FLOOR : Return Float=FLOOR(Value)
    CEIL : Return Float=CEIL(Value)

    CURVEVALUE : Return Float=CURVEVALUE(Destination Value, Current Value, Speed Value)
    WRAPVALUE : Return Float=WRAPVALUE(Angle Value)
    NEWXVALUE : Return Float=NEWXVALUE(Current X Value, Angle Value, Step Value)
    NEWYVALUE : Return Float=NEWYVALUE(Current Y Value, Angle Value, Step Value)
    NEWZVALUE : Return Float=NEWZVALUE(Current Z Value, Angle Value, Step Value)
    CURVEANGLE : Return Float=CURVEANGLE(Destination Value, Current Value, Speed Value)

    ARRAY COUNT : Return Integer=ARRAY COUNT(Array Name(0))
    ARRAY INDEX VALID : Return Integer=ARRAY INDEX VALID(Array Name(0))
    FREE STRING$ : Return String=FREE STRING$()
    GET DX VERSION$ : Return String=GET DX VERSION$()
    PERFTIMER : Return Double Integer=PERFTIMER()
    GET ARRAY TYPE : Return Integer=GET ARRAY TYPE(Array Name(0))
    GET TYPE PATTERN$ : Return String=GET TYPE PATTERN$(Type Name$)

    TEXTURE SCREEN : TEXTURE SCREEN Image Number
    SET SCREEN EFFECT : SET SCREEN EFFECT Effect Number