AROS Vision
Modern and free Amiga-Compatible Experience on Amiga and PC
ACE works best in Scalos because the script to compile the sourcecodes needs REXXMAST started that only runs in Scalos. If you are not in Scalos then start Shell, type in "scalos" and "enter,", then type in "reset" and "enter"
If you booted in Scalos you must open directory "System" and then start "Shell". Then put in "ace:examples" and then enter. Next "bas helloworld.b" and enter. Then source of "helloworld.b" is compiled and binary can be started by "helloworld" and enter. ".b" are ACE source files and can be changed with any text editor.
with "edit <sourcecodefile> you can open the source code in editor and change it
ACE BASIC is based on Amiga Basic. It imlements the commands and adds more to it. Reference of Amiga Basic do you find here (german)
Compact ACE BASIC Command Reference
This compact reference is based on the attached ACE v3.0.1
command and function reference. Commands and functions marked with an asterisk
in the source are ACE-specific additions and are not part of AmigaBASIC.
Command / Function
Short description
ABS
Returns the absolute value of a number.
ADDRESS
Declares address variables, mainly for pointer or
system-level values.
ALLOC
Allocates a block of memory and returns its address.
AND
Boolean
AND operator.
AREA
Defines polygon points for later filling.
AREAFILL
Fills a polygon defined with AREA.
ARG$
Returns a command-line argument as a string.
ARGCOUNT
Returns the number of command-line arguments.
ASC
Returns the ASCII code of the first character of a string.
ASSEM
Embeds assembly code in an ACE program.
ASSERT
Stops execution if a condition is false.
ATN
Returns the arctangent of a number.
BEEP
Produces a short alert sound.
BEVELBOX
Draws a Workbench-style 3D bevel box.
BIN$
Returns the binary string representation of a number.
BIND
Creates a closure by binding arguments to a SUB.
BLOCK
Groups several statements where one statement is expected.
BREAK
Controls
ON BREAK event trapping.
CALL
Calls a subprogram, external routine, library function, or
machine-code routine.
CALLBACK
SUB modifier for Amiga Hook callbacks.
CASE
Selects and executes the first true expression block.
CHDIR
Changes the current directory.
CHIPSET
Returns the detected Amiga graphics chipset type.
CHR$
Returns a one-character string from an ASCII code.
CINT
Converts a value to a short integer.
CIRCLE
Draws or fills a circle or ellipse.
CLEAR ALLOC
Frees all memory allocated with ALLOC.
CLNG
Converts a value to a long integer.
CLOSE
Closes one or more open files.
CLS
Clears the current output window or screen.
COLOR
Sets foreground/background color or direct RGB foreground
color.
COMMON
Declares exported global/static variables.
CONST
Defines numeric constants.
COS
Returns the cosine of a number in radians.
CSNG
Converts a value to single precision.
CSRLIN
Returns the current print line in a user-defined screen or
window.
CSTR
Converts a memory address into a string.
DATA
Stores constants for later READ statements.
DATE$
Returns the current date as a string.
DAY
Returns the day of the week after
DATE$ has been used.
DECLARE
Declares library functions, external functions, SUBs, or
structures.
DEF FN
Defines a simple function.
DEFxxx
Sets default variable types by initial letter.
DIM
Declares and dimensions arrays.
END
Ends the program and performs cleanup.
ENDSWITH
Tests whether a string ends with a suffix.
EOF
Tests whether an open file has reached end of file.
EQV
Boolean equivalence operator.
ERR
Returns and clears the last error code.
ERROR
Controls ON ERROR event trapping.
EXIT FOR
Exits a FOR loop early.
EXIT REPEAT
Exits a REPEAT..UNTIL loop early.
EXIT SUB
Leaves the current subprogram.
EXIT WHILE
Exits a WHILE..WEND loop early.
EXP
Returns e raised to a power.
EXTERNAL
Declares an external function or variable.
FILEBOX$
Opens a file requester and returns the selected path.
FILES
Displays or stores a directory listing.
FIX
Truncates a number or controls numeric rounding output.
FMT$
Returns a formatted string using printf-style formatting.
FONT
Changes the font in the current output window.
FOR..NEXT
Repeats statements using a loop counter.
FRE
Returns available system memory information.
FREE
Frees one memory block allocated with ALLOC.
GADGET
Creates, changes, or reads GUI gadget information.
GADGET (GadTools)
Creates GadTools-based GUI gadgets.
GADGET CLOSE
Removes a gadget from the current window.
GADGET FONT
Sets the font for later GadTools gadgets.
GADGET GETATTR
Reads a GadTools gadget attribute.
GADGET MOD
Modifies a proportional gadget.
GADGET ON
Controls ON GADGET event trapping.
GADGET OUTPUT
Selects a gadget for reading current gadget information.
GADGET SETATTR
Changes attributes of an existing GadTools gadget.
GADGET WAIT
Waits until a gadget is selected.
GET
Reads a record from a random-access file into a structure.
GLOBAL
Declares module-wide static variables.
GOSUB..RETURN
Jumps to a subroutine and returns afterward.
GOTO
Transfers execution to a label or line.
HANDLE
Returns the DOS file handle for an open file.
HEX$
Returns the hexadecimal string representation of a number.
IF
Executes code conditionally.
IMP
Boolean implication operator.
INKEY$
Returns a pending keystroke or an empty string.
INPUT
Reads values from the keyboard.
INPUT #
Reads data items from a sequential file.
INPUT$
Reads a specified number of characters from a file.
INPUTBOX
Shows a requester and returns a numeric value.
INPUTBOX$
Shows a requester and returns a string value.
INSTR
Finds the first occurrence of one string in another.
INT
Returns the largest integer less than or equal to a
number.
INVOKE
Calls a function pointer or closure indirectly.
KILL
Deletes a file or directory.
LCASE$
Returns a string converted to lowercase.
LEFT$
Returns the left part of a string.
LEN
Returns the length of a string.
LET
Assigns a value to a variable; often optional.
LIBRARY
Opens or closes Amiga shared libraries.
LINE
Draws lines or boxes.
LINE INPUT #
Reads one line from a sequential file.
LOC
Returns the current file position.
LOCATE
Moves the print position in a screen or window.
LOF
Returns the length of an open file.
LOG
Returns the natural logarithm.
LONGINT
Declares long integers or converts strings to long
integers.
LPAD$
Left-pads a string to a given width.
LTRIM$
Removes leading whitespace from a string.
MENU
Creates, modifies, or reads menu selections.
MENU CLEAR
Clears the menu strip of the current output window.
MENU ON
Controls ON MENU event trapping.
MENU WAIT
Waits for menu activity.
MESSAGE CLEAR
Clears a message channel.
MESSAGE CLOSE
Closes a message channel.
MESSAGE OPEN
Opens a message channel for reading or writing.
MESSAGE READ
Reads a message from a channel.
MESSAGE WAIT
Waits for a message-channel event.
MESSAGE WRITE
Writes a message to a channel.
MID$
Returns or replaces a middle part of a string.
MOD
Modulo arithmetic operator.
MOUSE
Returns mouse button and pointer information.
MOUSE ON
Controls ON MOUSE event trapping.
MSGBOX
Displays a requester with one or two buttons.
NAME
Renames a file or directory.
NOT
Boolean
NOT operator.
OCT$
Returns the octal string representation of a number.
OPEN
Opens a file for input, output, append, or random access.
OPTION
Sets ACE compiler options inside the source file.
OR
Boolean
OR operator.
PAINT
Flood-fills an enclosed region.
PALETTE
Changes palette colors on the current screen.
PATTERN
Sets or restores line and area fill patterns.
PEEKx
Reads 8-, 16-, or 32-bit values from memory.
POINT
Returns the color value of a screen point.
POKEx
Writes 8-, 16-, or 32-bit values to memory.
POS
Returns the current print column.
POTX
Reads horizontal potentiometer/game-port information.
POTY
Reads vertical potentiometer/game-port information.
PRINT
Prints text or values to the current output window.
PRINT #
Writes printed output to a file.
PRINTS
Prints to an Intuition screen/window at the current
position.
PSET
Plots a point on the current screen or window.
PTAB
Moves print position to a pixel-based horizontal position.
PUT
Writes a structure record to a random-access file.
RANDOMIZE
Seeds the random number generator.
READ
Reads values from DATA statements.
REM
Adds a comment to the program.
REPEAT$
Repeats a string a specified number of times.
REPEAT..UNTIL
Repeats statements until a condition becomes true.
REPLACE$
Replaces occurrences of one string with another.
RESTORE
Resets the DATA pointer to the first DATA item.
REVERSE$
Returns a string with characters reversed.
RIGHT$
Returns the right part of a string.
RINSTR
Finds the last occurrence of one string in another.
RND
Returns a pseudo-random number between 0 and 1.
RPAD$
Right-pads a string to a given width.
RTRIM$
Removes trailing whitespace from a string.
SADD
Returns the address of a string expression.
SAY
Speaks phoneme strings or reports speech status.
SCREEN
Creates screens or returns screen-related
pointers/information.
SCREEN BACK
Sends a screen behind other screens.
SCREEN CLOSE
Closes a screen.
SCREEN FORWARD
Moves a screen to the front.
SCROLL
Scrolls pixels inside a rectangle.
SERIAL
Returns information about an open serial channel.
SERIAL CLOSE
Closes a serial channel.
SERIAL OPEN
Opens a serial channel with baud rate and settings.
SERIAL READ
Reads bytes from a serial channel.
SERIAL WRITE
Writes bytes to a serial channel.
SGN
Returns the sign of a number.
SHARED
Makes variables, arrays, or structures visible inside
SUBs.
SHL
Performs arithmetic bit shift left.
SHORTINT
Declares short integer variables.
SHR
Performs arithmetic bit shift right.
SIN
Returns the sine of a number in radians.
SINGLE
Declares single-precision floating-point variables.
SIZEOF
Returns the size of a type, variable, array, or structure.
SLEEP
Waits for user activity or timer events.
SLEEP FOR
Pauses execution for a number of seconds.
SOUND
Plays a sound using period, duration, volume, and voice.
SPACE$
Returns a string of spaces.
SPC
Returns spacing for PRINT output.
SQR
Returns the square root of a number.
STARTSWITH
Tests whether a string starts with a prefix.
STICK
Returns joystick direction information.
STOP
Ends the program like END.
STR$
Converts a number to a string.
STRIG
Returns joystick button information.
STRING
Declares string variables with optional size or address.
STRING$
Creates a repeated-character string.
STRUCT
Defines a structure data type.
STYLE
Changes text style such as bold, italic, or underline.
SUB..END SUB
Defines a subprogram, callback, invokable
SUB, or task
procedure.
SWAP
Swaps the values of two variables or compatible objects.
SYSTEM
Exits with a return code, runs a system command, or
returns OS version.
TAB
Moves PRINT output to a specified column.
TAN
Returns the tangent of a number in radians.
TASKPROC
SUB modifier for Exec task entry points.
TIME$
Returns the current time as a string.
TIMER
Returns seconds elapsed since midnight.
TIMER ON
Controls ON TIMER event trapping.
TRANSLATE$
Converts words into a phoneme string.
TRIM$
Removes leading and trailing whitespace from a string.
TROFF
Disables SUB tracing at runtime.
TRON
Enables SUB tracing at runtime.
UCASE$
Returns a string converted to uppercase.
VAL
Converts a string to a numeric value.
VARPTR
Returns the memory address of a variable or object.
WAVE
Defines a waveform for SOUND.
WHILE..WEND
Repeats statements while a condition is true.
WINDOW
Creates windows or returns window information.
WINDOW CLOSE
Closes a window.
WINDOW ON
Controls ON WINDOW event trapping.
WINDOW OUTPUT
Selects the current output window.
WRITE #
Writes comma-separated values to a file.
XOR
Boolean exclusive OR operator.