The following keywords form the entire vocabulary of the language.
The keywords must be written in UPPER case. Therefore PRINT
is a valid
command, while print
is not.
16BIT AAHS ABS ACCORDION ACOUSTIC ADD ADDRESS AGE AGOGO ALT ALTO AND APPLAUSE ARRAY ARROW AS ASC ASTERISK AT ATARI ATARIXL ATMOSPHERE BACK BACKGROUND BAG BANJO BANK BANKED BAR BARITONE BASS BASSOON BEG BEGIN BELL BELLS BELONG BIN BINARY BIRD BIT BITMAP BLACK BLIT BLOWN BLUE BOOM BORDER BOTTLE BOWED BOX BRASS BREATH BRIGHT BRIGHTNESS BROWN BUFFER BYTE CALL CALLIOPE CAN CAPS CAPSLOCK CASE CDOWN CELESTA CELLO CENTER CENTRE CHAR CHARANG CHIFF CHOIR CHR CHURCH CIRCLE CLARINET CLAVI CLEAN CLEAR CLEFT CLINE CLIP CLS CMOVE COCO CODE COLECO COLLISION COLON COLOR COLORMAP COLORS COLOUR COLOURMAP COLOURS COLUMN COLUMNS COMMA COMMODORE COMPLETE COMPRESS COMPRESSED CONST CONTRABASS CONTROL COPY COUNT CPC CRIGHT CRSR CRYSTAL CSPRITE CUP CURSOR CYAN CYCLES CYMBAL DARK DATA DEBUG DEFAULT DEFINE DELETE DESTINATION DIM DISABLE DISTANCE DISTORTION DIV DLOAD DO DONE DOUBLE DOWN DRAGON DRAW DRAWBAR DRUM DRUMS DTILE DTILES DULCIMER DWORD ECHOES ECM ELECTRIC ELLIPSE ELSE ELSEIF EMBEDDED EMPTY EMPTYTILE ENABLE END ENDIF ENDSELECT ENDSTORAGE ENGLISH ENSEMBLE EQUAL EVERY EXACT EXIT EXPAND EXPLICIT EXPLOSION FALSE FI FIDDLE FIFTHS FILEX FILL FINGER FIRE FIRST FLIP FLOAT FLUTE FONT FOR FRAME FRAMES FREE FRENCH FRET FRETLESS FROM FUNCTION FX GAMELOOP GET GLOBAL GLOCKENSPIEL GOBLINS GOLD GOSUB GOTO GR GRAND GRAPHIC GRAY GREEN GREY GUITAR GUNSHOT HALO HALT HALTED HARMONICA HARMONICS HARP HARPSICHORD HAS HEIGHT HELICOPTER HEX HIDDEN HIDE HIT HOME HONKY HORIZONTAL HORN HSCROLL IF IGNORE IMAGE IMAGES IN INK INKEY INPUT INSERT INSTR INSTRUMENT INT INTEGER INVERSE IS JAZZ JDOWN JFIRE JLEFT JOY JOYCOUNT JRIGHT JUP KALIMBA KEY KEYSHIFT KEYSTATE KILL KOTO LAVENDER LBOUND LEAD LEFT LEN LET LETTER LIGHT LINE LOAD LOCATE LOCK LONG LOOP LOWER MAGENTA MARIMBA MASKED MAX MCM MELODIC MEMORIZE MEMORY METALLIC MID MILLISECOND MILLISECONDS MIN MINUS MMOVE MOB MOD MODE MONOCOLOR MONOCOLOUR MOVE MSX MUL MULTICOLOR MULTICOLOUR MUSIC MUTED NEW NEXT NOISE NONE NOP NORMAL NOT NOTE NYLON OBOE OCARINA OF OFF OLIVE ON ONLY OOHS OPTION OP_DEC OP_INC OR ORANGE ORCHESTRA ORCHESTRAL ORGAN ORIGIN OUT OVERDRIVEN OVERLAYED PAD PALETTE PAN PAPER PARALLEL PARAM PEACH PEEK PEN PERCUSSIVE PERIOD PIANO PICCOLO PICK PINK PIPE PIZZICATO PLAY PLOT PLUS POINT POKE POLYLINE POLYSYNTH POP POSITION POSITIVE POUND POWERING PRECISION PRESERVE PRESSED PRINT PROC PROCEDURE PURPLE PUT RAIN RANDOM RANDOMIZE RASTER RAW READ READONLY RECORDER RED REED RELATIVE RELEASE REMEMBER RENDER REPEAT REPLACE RESOLUTION RESPAWN RETURN REVERSE RGB RIGHT RING RND ROCK ROLL ROW ROWS RUN RUNSTOP SAWTOOTH SAX SCAN SCANCODE SCANSHIFT SCI SCREEN SCROLL SEASHORE SECTION SELECT SEMICOLON SEMIGRAPHIC SEPARATOR SEQUENCE SET SGN SHADES SHAKUHACHI SHAMISEN SHANAI SHARED SHIFT SHIFTS SHOOT SHOW SIGNED SITAR SIZE SLAP SLASH SOPRANO SOUND SOUNDTRACK SOURCE SPACE SPAWN SPRITE SQR SQUARE STANDARD STATE STEEL STEP STOP STORAGE STR STRING STRINGS SWAP SWEEP SYNTH SYNTHBRASS SYNTHSTRINGS TAB TAIKO TAN TANGO TASK TELEPHONE TEMPORARY TENOR TEXT TEXTADDRESS TEXTMAP THEN THREAD THRESHOLD TI TICKS TILE TILEMAP TILES TILESET TIME TIMER TIMPANI TINKLE TO TOM TONK TRANSPARENCY TRANSPARENT TREMOLO TROMBONE TRUE TRUMPET TUBA TUBULAR TURQUOISE TWEET TYPE UBOUND UNIQUE UNTIL UP UPPER USE USING VAL VALUE VAR VARIABLES VARPTR VBL VERTICAL VIBRAPHONE VIDEO VIOLA VIOLET VIOLIN VISIBLE VOICE VOLUME VSCROLL WAIT WARM WEND WHILE WHISTLE WHITE WIDTH WITH WOODBLOCK WORD WRITE WRITING XCURS XGR XGRAPHIC XOR XPEN XTEXT XY XYLOPHONE YCURS YELLOW YGR YGRAPHIC YIELD YPEN YTEXT YX ZX
In ugBASIC (like CBM BASIC) you do not need to isolate keywords from each other or from other identifiers with any separator, like spaces.
Identifiers are used to give a name to labels, variables, constants, procedures and functions. You may choose any name for identifier. Anyway, you have to follow some rules:
$
) identify string variables;pippo
and pIPPO
are different symbols
Statements and commands can be separated using the colon symbol (:
)
character, and can end with LF or CR+LF characters. The separator is not required if there's only one statement in one
line, as the following example:
WHILE NOT finished : PRINT "continue" : WEND WHILE NOT finished PRINT "continue" WEND
If you begin a line with single quote (') character, or put it after
colon symbol, it will be considered a comment until the end of the line.
The same for the REM
command, that is used to begin a comment.
' comment REM comment line = 1 :' comment line = 1 :REM comment
Whitespace (e.g. spaces and tabs) are ignored, since they are not needed. You are encouraged to use them if you need to make make the program more readable, or to remove it if you need to join competitions where number of lines is an important factor.
Labels can be used to identify any point of the source code.
Labels are used by some statements, like GOTO
and GOSUB
statements.
Labels must be appended with a colon character (:
).
GOSUB subroutine1 END subroutine1: PRINT "subroutine1 has been called!" RETURN
As in traditional BASIC language, labels can be numeric, as well.
Line numbers are treated like special labels by ugBASIC, but they
must not followed by colon character (:
).
The underscore (_
) character at the end of the line
can be used to split a single line to multiple lines, in order
to be more readable.
' Write this very long line in a short one. DIM xx AS BYTE(32) = # { _ x1, x2, x3, x1, x2, x3, x1, x2, x3, x1, x2, x3, x1, x2, x3, x1, _ x2, x3, x1, x2, x3, x1, x2, x3, x1, x2, x3, x1, x2, x3, x1, x2, _ }