Please visit our sponsors.
Advertising Info

USUL

User's Guide

WHAT DOES USUL STAND FOR?

USUL stands for Usgard Super Utopian Language. It's also a character from a book.


DEFINING VARIABLES

Before any commands are issued, if you want any variables, you must define them. To do so, you must create a VAR block, like so:
 
VAR

END

The line 'END' is extremely important, you will get many an error without it.

When accessing variables, tack the code onto the end of the variable, like in QBasic. For example, a one byte temporary variable would be accessed as variable1.
 
Typecode Chart
1
One byte temporary storage, is constant through program length, but is then erased
2
Two bytes of temporary storage
!
One byte, permenant, stored in the program, if you exit with this equal to 20, next time your program is started, it will still be 20.
@
Two bytes, permenant, stored in the program
$
String variable, must also have the SIZE of the string after the $. Permenant.
#
Header variable, such as K_UP. See below for more information.


OTHER VARIABLES AVAILABLE

If you have already programmed for Usgard (or Z-Shell, for that matter), there are many variables you can access. For example, CURSOR_X, CURSOR_Y, et cetera. In order to access these variables, tack on a type code for how many bytes the storage is. So if you want to access the value in CURSOR_Y, access it as CURSOR_Y1.

If you haven't programmed before, some of these locations still may be of interest to you. A listing of most of the variables available is in the Other Variables Available file.

As for defined values, such as K_UP, K_DOWN, et cetera, you can access these by adding the header '#' onto them. For example:

This only works in IF for now, if you want it in anything else just ask.

 COMMANDS IN BASIC DEVELOPMENT KIT:

Parameters in () marks are optional, whereas in [] marks are manditory.
The following is an alphabetical listing of all commands as of this date.
To see a listing of categories these commands fall into, see the category listing. (not available yet)

ASM

BREAKON

BREAKOFF

CLEARLCD

DEC [variable]

DELAY (time)

END

GETKEY [variable]

GOSUB [label name]

GOTO [label name]

IF [value] [operation] [value] [goto / gosub] [label]

INC [variable]

INPUT [string] [length] [cursor] (goto/gosub) (label)

LABEL [label name]

LET [variable] [variable / immediate value]

MENU [text to print] [where to jump] (text) (jump) (text) (jump) (text) (jump) (text) (jump)

MENU_INV [text/variable] (x position) (y position)

MENU_OVR

MENU_PRINT [text/variable] (x position) (y position)

MENU_XOR

PAUSE

RANDOM [variable]

SPRITENASR [sprite] [x-position, leftmost = 0] [y-position, bottom of screen = 0]