LLUCE/SOURCE/DATA/ACOS.LLUCE
2019-07-18 12:47:39 -07:00

365 lines
23 KiB
Plaintext

LLUCE Command Syntax
All operations in this section are the same as in ACOS
+ Add numbers/concat strings
- Subtract numbers
* Multiply numbers
/ Divide numbers
= Equate or compare equals
< Compare less than
> Compare greater than
<> Compare not equal
<= Compare less or equal to
=> Compare greater or equal to
Value =ABS(Value) Make positive
AND Logical AND numbers
MOD Logical MODULO numbers
NOT Logical NOT number
OR Logical OR numbers
XOR Logical exclusive OR numbers
-------------------------------
# ADDINT(String) Add interrupt character
APPEND #Channel(File) Append to a file
Value =ASC(String) Get ASCII value of the first
character of specified string
! ANSI OFF Turn ANSI term emulation off
! ANSI ON Turn ANSI term emulation on
-------------------------------
BYTE =Address Set byte address
Value =BYTE Get byte address
BYTE(Value8) =(Value8) Set a byte
Value =BYTE(Value8) Get a byte
$ Value =BAUD Get users baud rate
-------------------------------
CALL Address Call routine at address
$ CHAIN Filename Chain to segment filename
$ CHAIN Filename,Label Chain to segment filename
Start at specified label
String =CHR$(Value8) Make a 1 character string
String =CHR$(Value8,Value8) Make a multi character string
! CLEAR See CLOCK, EDIT and MODEM
statements
CLEAR Clear variables
CLOCK(0) CHANGED TO CLOCK CLEAR
CLOCK(1) CHANGED TO CLOCK ONLINE
CLOCK(2) CHANGED TO CLOCK
$ CLOCK CLEAR Set timer start
$ CLOCK ONLINE Get time connected
$ CLOCK =Value16 Set time limit
$ Value =CLOCK Get time limit
CLOSE Close any open file(s)
CLOSE #Channel(File) Close file at specified channel
! print CLS Clear the screen
! CLS Clear the screen
! CLS =Value8 Set CLS character
! Value =CLS Get CLS character
COPY Filename Copy a text file to console
COPY (Lines)Filename Copy (lines) of a text
file to the console
COPY Filename,#Channel(File|7|9..10) Copy a text file to device
COPY (Lines)Filename,#Channel(File|7|9..10) Copy (lines) of a text file
to device
COPY #Channel(File|7..10),#(File|7|9..10) Copy text from device to
device
COPY (Lines)#Channel(File|7..10),#(File|7|9..10) Copy (lines) of text
from device to device
CREATE Filename Create a text file
! CREATE Filename,Msg,Value16 Create a message file
! CREATE Filename,Type8 Create a file with Type8
! CREATE Filename,Type8,Subtype Create a file with Type8,
AuxType of Subtype
CRUNCH Compact current message file
-------------------------------
DATE$ =String Set date (for no clock)
String =DATE$ Get date
! DISK LOCK Reserve network
! DISK UNLOCK Release network
-------------------------------
ECHO =String Character to echo on input
EDIT(0) CHANGED TO EDIT CLEAR
EDIT(1) CHANGED TO EDIT
EDIT(2) CHANGED TO EDIT SIZE
EDIT(3) CHANGED TO WIDTH
EDIT(4) CHANGED TO MODE
EDIT(5) CHANGED TO EDIT
$ EDIT Enter the editor
$ EDIT CLEAR Clear editor buffer
! EDIT OFF Turn off profanity filter
! EDIT ON Turn on profanity filter
! EDIT =Filename Set editor filename
$ Value =EDIT Get editor buffer location
! Value =EDIT ERROR Get .X hack attempt
$ Value =EDIT SIZE Get size of message
ELSE See IF statement
! END See KEY statement
END End program execution
EOF(Channel(File)) Check for end of file
! Value =ERR Get last error number
? ERROR See ON and EDIT statements
$ EXEC =Value8 Set exec user status
$ Value =EXEC Get exec user status
! Value =EXIST(Filename) Check If file exists
! EXIT Exit from LLUCE
! EXIT CompletePathname Exit from LLUCE, execute path
-------------------------------
FILL Address,Bytes8,Value8 Fill Address range with data
FLAG See KEY statement
FLAG =Address Set flag pointer
Value =FLAG Get flag pointer
FLAG(Value8) =(Value1) Set a flag
Value =FLAG(Value8) Get a flag
! FLASH ON GS screen flash on
! FLASH OFF GS screen flash off
$ FLUSH Flush any open file(s)
$ FLUSH #Channel(File) Flush specified file
? String =FMTDATE$ Get formatted date
! String =FMTWHEN$ Get stored formatted date
FOR L=Value TO Value Loop from value to value
FOR L=Value TO Value STEP Value Loop from value to value
stepping by specified count
FREE Compact variables
! FREE See MSG statement
-------------------------------
GET String|Number Get a single character
GOTO Label Go to a label
Alse see ON, ON ERROR and
ON NOCAR statements
! print GOTOXY(X-Value8,Y-Value8) Move cursor to X,Y
! GOTOXY(X-Value8,Y-Value8) Move cursor to X,Y
! GOTOXY =Value8 Set GOTOXY character
! Value =GOTOXY Get GOTOXY character
GOSUB Label Go to a subroutine
Also see ON statement
-------------------------------
! print HOME Move cursor to upper left
! HOME Move cursor to upper left
! HOME =Value8 Set HOME character
! Value =HOME Get HOME character
-------------------------------
IF statement [THEN] statement [ELSE] statement Conditional
INFO(0) CHANGED TO ONLINE
INFO(1) CHANGED TO MSG SIZE
INFO(2) CHANGED TO BAUD
INFO(3) CHANGED TO NULLS
INFO(4) CHANGED TO SET MSG
INFO(5) CHANGED TO EXEC
INFO(6) CHANGED TO MSG FREE
INPUT @n String|Number Get a line of text
Value =INSTR(String1,String2) Find a string in another string
# Value =INSTR(String1,String2,start8) Find a string in another string
starting at specified character
! print INVERSE Set Inverse characters
! INVERSE Set Inverse characters
! INVERSE =Value8 Set INVERSE character
! Value =INVERSE Get INVERSE character
-------------------------------
KEY(0) CHANGED TO KEY
KEY(1) CHANGED TO KEY END
KEY(2) CHANGED TO KEY NEXT
KEY(3) CHANGED TO KEY FLAG
$ Value =KEY Return keypress (if any)
$ Value =KEY END 1 If 'stop' char pressed
$ Value =KEY NEXT 1 If 'next' char pressed
$ Value =KEY FLAG Any interrupt char pressed
KILL Filename Delete a file
KILL #MSG(Value16) Delete a message
-------------------------------
! LEADIN =Value8 Set LEADIN character
! Value =LEADIN Get LEADIN character
String =LEFT$(String,Value8) Get left part of a string
Value =LEN(String) Get length of a string
$ LINK CHANGED TO CHAIN
! LOCK See DISK statement
! LOCK Filename Lock a file
$ LOG DriveSpec CHANGED TO PREFIX
! LOWER$(String) Convert string to lower case
! LTRIM$(String) Trim strings trailing spaces
-------------------------------
MARK(Channel(File|10)) =Value Set file mark
Value =MARK(Channel(File|10)) Get file mark
String =MID$(String,Value8) Get part of a string, starting
at specified point to end
String =MID$(String,Value8,Value8) Get part of a string, starting
at specified point, for
specified number of characters
! MID$(string,Value8)=string copy a string into part of
another, starting at specified
point, to end of string
! MID$(string,Value8,Value8)=string copy a string into part of
another, starting at specified
point, to end of string, or to
the specified size.
! MIXED$(String) Convert string to mixed case
$ MODE =Value8 Set backspace mode
$ Value =MODE Get backspace mode
MODEM(0) NOT USED IN LLUCE (REMOVE)
MODEM(1) CHANGED TO MODEM READY
MODEM(2) CHANGED TO MODEM NOCAR
$ MODEM READY Wait for a call
$ MODEM NOCAR Hang up
! MODEM ONLINE=Value8 Dial out at Value8 100 baud
! MODEM TIME$=String Set auto logon time
! MODEM CLEAR Clear auto logon
! print MOUSE Set Mousetext characters
! MOUSE Set Mousetext characters
! MOUSE =Value8 Set MOUSE character
! Value =MOUSE Get MOUSE character
MOVE Address,Bytes TO Address Move data
MSG(Value16) =Value Set message data
# MSG(Value16,Value2) =Value Set message data indexed
Value =MSG(Value16) Get message data
# Value =MSG(Value16,Value2) Get message data indexed
$ Value =MSG FREE Get message file blocks free
$ Value =MSG SIZE Get message file capacity
-------------------------------
! NAME Filename,Filename Rename a file
NEXT End of closest FOR loop
! NEXT Nvar End of specified FOR loop
Also see FOR and KEY statements
NIBBLE =Address Set NIBBLE address
Value =NIBBLE Get NIBBLE address
NIBBLE(Value8) =(Value4) Set a NIBBLE
Value =NIBBLE(Value8) Get a NIBBLE
NOCAR See ON and MODEM statements
! Value =NODE Get network NODE number
! print NORMAL Set normal characters
! NORMAL Set normal characters
! NORMAL =Value8 Set NORMAL character
! Value =NORMAL Get NORMAL character
$ NULLS =Value8 Set number of nulls
$ Value =NULLS Get number of nulls
-------------------------------
! OFF See EDIT and FLASH statements
! OFFSET =Value8 Set OFFSET character
! Value =OFFSET Get OFFSET character
! ON See EDIT and FLASH statements
? ON ERROR : Clear error detect
? ON ERROR GOTO Label Set error routine
! ON N GOTO Label1,Label2,Label3 Indexed goto
! ON N GOSUB Label1,Label2,Label3 Indexed gosub
ON NOCAR : Clear carrier loss detect
ON NOCAR GOTO Label Set carrier loss routine
! ON N PUSH Label1,Label2,Label3 Indexed push
! ONLINE See CLOCK and MODEM statements
$ Value =ONLINE Get online/local status
OPEN #Channel(File),Filename Open any file for read/write
* OPEN READ #Channel(File),Filename Open any file for read only
* OPEN WRITE #Channel(File),Filename Open any file for write only
! OVERLAY Filename[,Parameters] Execute an overlay
-------------------------------
Value =PDL(Value4) Get game control value
Value =PEEK(Address) Get value at address
POKE Address,Value Put value to address
POP Remove subroutine
POSITION #Channel(File),Reclen,Recnum Position to start of record
POSITION #Channel(File),Reclen,Recnum,Byte Position to specified byte of
record
! PREFIX Set to startup prefix
$ PREFIX Pathname Set the prefix
! String =PREFIX Get current prefix
PRINT Print data
PUBLIC Label Set a public label
! PUSH See ON statement
PUSH Label Push routine to return to
-------------------------------
RAM CHANGED TO RAM OR RAM(0)
RAM2 CHANGED TO RAM(1)
$ RAM Location of scratch Ram
$ RAM(0) Location of scratch Ram
$ RAM(1) Location of scratch Ram 1
RAM(2) Location of scratch Ram 2
RAM(3) Location of scratch Ram 3
Value =RANDOM(Value) Get a random value
READ #Channel(File),Address,Bytes Read binary data
READY See MODEM statement
READY Filename|Nullstring Get a message file ready
RECALL Filename Recall program variables
RESUME Resume program after error
RETURN Return from subroutine
REWIND Restart current ,essage
String =RIGHT$(String,Value8) Get right part of a string
String =RND$ Get a random character
! RTRIM$(String) Trim strings leading spaces
-------------------------------
SET String=Address,Length Set variable pointer
$ SET MSG =Value8 Set top of screen message
SETINT(String) Set interrupt character
! SIZE See EDIT and MSG statements
SIZE(Channel(File)) Get file size
STEP See FOR statement
STORE Filename Save program variables
String =STR$(Value) Make numeric string
-------------------------------
TERMINAL =Value8 Set terminal type number
Value =TERMINAL Get terminal type number
TEXT NOT USED IN LLUCE, SEE WINDOW
THEN See IF statement
String =TIME$ Get current time, 24 hour
! String =TIME12$ Get current time, 12 hour
TO See FOR and MOVE statements
! print TONE(Value8,Duration) Execute a pure tone
! print TONE(Value8,Value8,Duration) Execute a dual tone
TONE(Value8,Duration) Execute a pure tone
TONE(Value8,Value8,Duration) Execute a dual tone
! TYPE Filename Type text, SRC or AW file
to the console
! TYPE Filename,#Channel(File) Type text, SRC or AW file
to the specified channel
-------------------------------
! UNLOCK See DISK statement
! UNLOCK Filename Unlock a file
UPDATE CHANGED TO FLUSH
! UPPER$(String) Convert string to upper case
USE NOT USED IN LLUCE, SEE OVERLAY
-------------------------------
Value =VAL(String) Get value of a string
-------------------------------
WHEN$ =Address Set date storage address
# WHEN$ =String Store a date
String =WHEN$ Get stored date
$ WIDTH =Value8 Set editor width
$ Value =WIDTH Get editor width
Value =WIDTH(Value2) Get fixed widths
! WINDOW =Value8 Set window top
! WINDOW =Value8,Value8 Set window top and bottom
! WINDOW =Value8,Value8,Value8 Set window top, bottom and left
! WINDOW =Value8,Value8,Value8,Value8 Set all window limits
First Value =Screen Top
Second Value =Screen Bottom
Third Value =Screen Left
Fourth Value =Screen Right
! WORD =Address Set word address
! Value =WORD Get word address
! WORD(Value8) =(Value16) Set a word
! Value =WORD(Value8) Get a word
WRITE #Channel(File),Address,Bytes Write binary data
----------------------------------------------------------------------------
Value 1 = 0 through 1
Value 2 = 0 through 3
File = 1 through 3
Value 4 = 0 through 15
Byte = 0 through 255
Bytes = 0 through 255
Length = 0 through 255
Lines = 0 through 255
Reclen = 0 through 255
Value 8 = 0 through 255
Address = 0 through 65535
Recnum = 0 through 65535
Subtype = 0 through 65535
Value 16 = 0 through 65535
Value = -8388608 through 8388607
----------------------------------------------------------------------------
KEY TO SYMBOLS
! New to LLUCE
? New as of ACOS 2.0
# Enhanced in LLUCE
$ Syntax changed in LLUCE
* Used only on AppleTalk networks,
modifier (READ or WRITE) ignored if no AppleTalk network present
If no notation preceeds a command, the command has the same syntax as ACOS
----------------------------------------------------------------------------