title: Function List slug: docs-sb4-function-list system: SmileBASIC 4 type: reference source: https://smilebasicsource.com/forum/thread/docs-sb4-function-list content_id: 19450 created: 2020-05-10 scraped: 2026-06-21 #
Function List #
someone improve this later also these should be links
| ABS | absolute value |
| ACCEL | read accelerometer |
| ACLS | reset graphics |
| ACOS | inverse cosine |
| ANIMDEF | define sprite/text animation |
| ARRAY# | create float array |
| ARRAY$ | create string array |
| ARRAY% | create int array |
| ARYOP | array operation |
| ASC | convert character to ascii value |
| ASIN | inverse sine |
| ATAN | inverse tangent |
| ATTR | set text rotation attribute |
| BACKCOLOR | set background color |
| BEEP | play sound effect |
| BEEPPAN | set beep pan |
| BEEPPIT | set beep pitch |
| BEEPSTOP | stop beep |
| BEEPVOL | set beep volume |
| BGMCHK | check music |
| BGMCLEAR | clear song definition |
| BGMCONT | unpause music |
| BGMPAUSE | pause music |
| BGMPITCH | set music pitch |
| BGMPLAY | play music |
| BGMSET | define song |
| BGMSETD | define song with DATA |
| BGMSTOP | stop music |
| BGMVAR | get/set music variable |
| BGMVOL | set music volume |
| BGMWET | set music effector strength |
| BIN$ | convert number to binary string |
| BIQUAD | apply biquadratic filter |
| BQPARAM | generate BIQUAD filter |
| BREAK | exit loop |
| BREPEAT | set button repeat rate |
| BUTTON | get button input |
| CALL | call function by name |
| CALLIDX | get sprite/text id in callback |
| CASE | start CASE block |
| CEIL | round number upwards |
| CHKCALL | check if function exists |
| CHKCHR | get charcater from text screen |
| CHKFILE | check if file exists |
| CHKLABEL | check if label exists |
| CHKMML | check if MML is valid |
| CHKVAR | check if variable exists |
| CHR$ | convert ascii value to string |
| CLASSIFY | check if number is infinity or NaN |
| CLIPBOARD | get/set editor clipboard |
| CLS | clear text screen |
| COLOR | set text color |
| COMMON | define shared function |
| CONST | define constant |
| CONTINUE | jump to start of loop |
| CONTROLLER | get controller status |
| COPY | copy data between arrays |
| COS | cosine |
| COSH | hyperbolic cosine |
| DATA | define data |
| DATE$ | get current date |
| DEC | decrement variable |
| DEFARG | get function argument |
| DEFARGC | get function argument count |
| DEFOUT | set function output |
| DEFOUTC | get function output count |
| DEG | convert radians to degrees |
| DELETE | delete file |
| DIALOG | display dialog |
| DIM | create array, get array dimensions |
| DTREAD | decode date string |
| EFCEN | enable/disable effector |
| EFCSET | set effector parameters |
| EFCWET | set effector strength |
| ELSE | |
| ELSEIF | |
| END | end function |
| ENDCASE | end case block |
| ENDIF | end if |
| ENDLOOP | end loop |
| ENUM | define enum |
| ENVFOCUS | get/set envprogram focus |
| ENVINPUT$ | get direct mode history |
| ENVLOAD | copy data from the main interpreter to the subprogram interpreter |
| ENVLOCATE | ? |
| ENVPROJECT | set subprogram project |
| ENVSAVE | copy data from subprogram to main program |
| ENVSTAT | get/set interpreter status |
| ENVTYPE | check which interpreter is running |
| EXEC | execute code in slot |
| EXP | calculate power of /e/ |
| FADE | set screen fade color |
| FADECHK | check screen fade status |
| FFT | fast fourier transform |
| FFTWFN | generate FFT window |
| FILES | get list of files |
| FILL | fill array |
| FLOAT | convert int to float |
| FLOOR | round number down |
| FONTINFO | get info about character |
| FOR | for loop |
| FORMAT$ | string formatting |
| FREEMEM | check free memory |
| GARRAY | get graphics page array |
| GBOX | draw unfilled rectangle |
| GCIRCLE | draw unfilled circle |
| GCLIP | set graphics drawing region |
| GCLS | clear graphics page |
| GCOLOR | set graphics drawing color |
| GCOPY | copy graphics data |
| GFILL | draw filled rectangle |
| GLINE | draw line |
| GLOAD | load data from an array to the graphics page |
| GOSUB | run subroutine |
| GOTO | goto |
| GPAINT | fill enclosed area on graphics page |
| GPGET | get color of pixel |
| GPSET | draw pixel |
| GPUTCHR | draw text on graphics page |
| GSAMPLE | set graphics wrap mode |
| GSAVE | save graphics data to array |
| GTARGET | set current graphics page |
| GTRI | draw filled triangle |
| GUPDATE | update graphics after modifying GARRAY |
| GYROA | get gyroscope angle |
| GYROSYNC | reset gyroscope |
| GYROV | get gyroscope velocity |
| HELPGET | get data from manual |
| HELPINFO | get data from manual |
| HEX$ | convert number to hexadecimal string |
| HSV | convert color to HSV |
| IF | if |
| IFFT | inverse fast fourier transform |
| INC | increment variable |
| INKEY$ | get keyboard input |
| INPUT | input values |
| INSERT | insert data into array |
| INSPECT | display information about value |
| INSTR | string search |
| INT | convert number to integer |
| IRREAD | read data from IR camera |
| IRSPRITE | display IR camera image on sprite |
| IRSTART | start IR camera |
| IRSTATE | get IR camera state |
| IRSTOP | stop IR camera |
| KEY | set function key |
| KEYBOARD | get raw keypresses |
| LAST | last index in string/array (LEN(x)-1) |
| LAYER | set layer mode |
| LCLIP | set layer clipping region |
| LEFT$ | get characters from start of string |
| LEN | get length of string/array |
| LFILTER | set layer filter |
| LINPUT | string input |
| LMATRIX | set layer transform matrix |
| LOAD | load program file into slot |
| LOADG | load image onto graphics page |
| LOADV | load string/array |
| LOCATE | set text cursor position |
| LOG | calculate logarithm |
| LOOP | start of infinite loop |
| MAINCNT | get frame count |
| MAX | get maximum value in array/list |
| MBUTTON | |
| METAEDIT | |
| METALOAD | |
| METASAVE | |
| MID$ | get part of string |
| MILLISEC | read millisecond timer |
| MIN | get minimum value in array/list |
| MOUSE | get mouse data |
| NEXT | end of FOR loop |
| ON | jump table |
| OPTION | set compiler option |
| OTHERWISE | default condition in CASE/WHEN block |
| OUT | function output |
| PCMCONT | unpause PCM |
| PCMPOS | get/set PCM playback position |
| PCMSTOP | stop pcm |
| PCMSTREAM | set PCM array/sample rate |
| PCMVOL | set PCM volume |
| PERFBEGIN | start performance timer |
| PERFEND | stop performance timer |
| POP | remove last item from array |
| POW | exponent |
| PRGDEL | delete line from slot |
| PRGEDIT | choose slot/line to edit |
| PRGGET$ | get line from slot |
| PRGINS | insert lines in slot |
| PRGNAME$ | get slot name |
| PRGSEEK | |
| PRGSET | set line in slot |
| PRGSIZE | get slot size |
| PRINT | display text |
| PROJECT | get/set current project folder |
| PUSH | add item to end of array/string |
| PUSHKEY | add keypress to input buffer |
| RAD | convert degrees to radians |
| RANDOMIZE | seed randomizer |
| READ | read DATA |
| REM | comment |
| REMOVE | remove data from array |
| RENAME | rename file |
| REPEAT | start of REPEAT/UNTIL loop |
| RESIZE | resize array |
| RESTORE | set DATA read position |
| RESULT | get result of LOAD/DIALOG/etc. |
| RETURN | return from function/GOSUB |
| RGB | convert between color and separate RGB channels (0-255) |
| RGBF | convert between color and separate RGB channels (0-1) |
| RIGHT$ | get characters from end of string |
| RINGCOPY | copy data to(?) ringbuffer |
| RND | get random integer |
| RNDF | get random number from 0-1 |
| ROUND | round number to nearest |
| RSORT | sort an array from largest to smallest |
| SAVE | save slot |
| SAVEG | save graphics |
| SAVEV | save string/array |
| SCROLL | shift data in text screen |
| SGN | get sign of number |
| SHIFT | remove item from beginning of string/array |
| SIN | sine |
| SINH | hyperbolic sine |
| SNDMSBAL | set subprogram sound balance |
| SNDMVOL | set master sound volume |
| SNDSTOP | stop all sounds |
| SORT | sort array from smallest to largest |
| SPANIM | start sprite animation |
| SPCHK | check sprite animation status |
| SPCHR | set sprite to definition |
| SPCLR | delete sprite |
| SPCOL | set sprite collision settings |
| SPCOLOR | set sprite color |
| SPCOLVEC | set sprite collision vector |
| SPDEF | define sprite definition |
| SPFUNC | set sprite callback function |
| SPHIDE | hide sprite |
| SPHITINFO | get collision information |
| SPHITRC | check collision between sprite and rectangle |
| SPHITSP | check collision between sprites |
| SPHOME | set sprite origin |
| SPLAYER | set sprite layer |
| SPLINK | link sprites |
| SPOFS | set sprite position |
| SPPAGE | set sprite graphics page |
| SPROT | set sprite rotation |
| SPSCALE | set sprite scale |
| SPSET | create sprite |
| SPSHOW | unhide sprite |
| SPSTART | unpause sprite animation |
| SPSTOP | pause sprite animation |
| SPUNLINK | unlink sprites |
| SPUSED | check if sprite exists |
| SPVAR | get/set sprite variable |
| SQR | square root |
| STICK | get analog stick position |
| STOP | stop program |
| STR$ | convert number to decimal string |
| SUBST$ | replace part of string |
| SWAP | swap the values of 2 variables |
| SYSPARAM | get system parameter |
| TALK | speech synthesis |
| TALKCHK | check talk status |
| TALKSTOP | stop speech synthesis |
| TAN | tangent |
| TANH | hyperbolic tangent |
| TANIM | start text screen animation |
| TARRAY | get text screen data array |
| TBLEND | |
| TCBIKE | |
| TCFISHING | |
| TCHK | |
| TCHOUSE | |
| TCOLOR | |
| TCOPY | |
| TCPIANO | |
| TCROBOT | |
| TCVISOR | |
| TFILL | fill region of text screen |
| TFUNC | set text screen callback function |
| THEN | if/then |
| THIDE | hide text screen |
| THOME | set text screen origin |
| TIME$ | get current time |
| TLAYER | set text screen layer |
| TLOAD | load data from text screen to array |
| TMREAD | decode time string |
| TOFS | set text screen position |
| TOUCH | read touch screen data |
| TPAGE | set text screen graphics page |
| TPRINT | print to text screen |
| TPUT | set tile on text screen |
| TROT | set text screen rotation |
| TSAVE | copy data from text screen to array |
| TSCALE | set text screen scale |
| TSCREEN | set text screen size |
| TSHOW | unhide text screen |
| TSTART | unpause text screen animation |
| TSTOP | pause text screen animation |
| TUPDATE | update text screen after modifying TARRAY |
| TVAR | get/set text screen variable |
| TYPEOF | get type of value |
| UIMASK | |
| UIPUSHCMPL | |
| UISTATE | |
| UNSHIFT | insert item at start of string/array |
| UNTIL | end of REPEAT loop |
| VAL | convert string to number |
| VAR | create variable, get variable from name |
| VIBRATE | set joycon vibration settings |
| VSYNC | wait for start of frame |
| WAIT | delay |
| WAVSET | define custom instrument from string |
| WAVSETA | define custom instrument from array |
| WEND | end of WHILE loop |
| WHEN | condition in CASE block |
| WHILE | WHILE/WEND loop |
| XCTRLSTYLE | |
| XSCREEN | set screen resolution |
| XSUBSCREEN | |