home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Transactor
/
Transactor_08_1985_Transactor_Publishing.d64
/
instructions0.14
< prev
next >
Wrap
Text File
|
2023-02-26
|
11KB
|
490 lines
COMAL KEYWORDS: (version 0.14)
// -- allows comments in a program
//{SHIFT-+}<anything>{SHIFT--}
ABS -- gives the absolute value
ABS(<numeric expression>)
AND -- logical AND
<expression> AND <expression>
APPEND -- start at end of seq file
OPEN {SHIFT-+}FILE{SHIFT--} <file#>,<filename>,APPEND
ATN -- arctangent in radians
ATN(<numeric expression>)
AUTO -- automatic line numbering
AUTO {SHIFT-+}<start line>{SHIFT--}{SHIFT-+},<increment>{SHIFT--}
BASIC -- back into BASIC mode
BASIC
CASE -- multiple choice decisions
CASE <control expression> {SHIFT-+}OF{SHIFT--}
CAT -- gives disk directory
CAT {SHIFT-+}<drive number>{SHIFT--}
CHAIN -- load & run program on disk
CHAIN <filename>
CHR$ -- gives that numbers character
CHR$(<numeric expression>)
CLOSE -- closes files
CLOSE {SHIFT-+}{SHIFT-+}FILE{SHIFT--} <filenum>{SHIFT--}
CLOSED -- all proc/func variables local
PROC <procname>{SHIFT-+}(params){SHIFT--} {SHIFT-+}CLOSED{SHIFT--}
FUNC <funcname>{SHIFT-+}(params){SHIFT--} {SHIFT-+}CLOSED{SHIFT--}
CON -- continue program execution
CON
COS -- cosine in radians
COS(<numeric expression>)
DATA -- provides data for a READ
DATA <value>{SHIFT-+},<value>{SHIFT--}{SHIFT-+},...{SHIFT--}
DEL -- deletes lines
DEL <range>
DELETE -- deletes a file from disk
DELETE <filename>
DIM -- allocates string & array space
DIM <string var> OF <max char>
DIM <str array>(<index>) OF <max char>
DIM <array name>(<array index>)
DIV -- division with integer answer
<dividend> DIV <divisor>
DO -- do the following statements
DO <statements>
EDIT -- list lines without indentations
EDIT {SHIFT-+}<range>{SHIFT--}
ELIF -- short for ELSE IF condition
ELIF <expression> {SHIFT-+}THEN{SHIFT--}
ELSE -- IF struc alternative statements
ELSE
END -- halt program execution
END
ENDCASE -- end of CASE structure
ENDCASE
ENDFOR -- end of FOR structure
ENDFOR {SHIFT-+}<control variable>{SHIFT--}
ENDFUNC -- end of function
ENDFUNC {SHIFT-+}<function name>{SHIFT--}
ENDIF -- end of IF structure
ENDIF
ENDPROC -- end of procedure
ENDPROC {SHIFT-+}<procedure name>{SHIFT--}
ENDWHILE -- end of WHILE structure
ENDWHILE
ENTER --merge program segment from disk
ENTER <filename>
EOD -- End Of Data flag
EOD
EOF -- End Of File flag
EOF(<filenum>)
ESC -- stop key pressed flag
ESC
TRAP ESC<type>
EXEC -- execute a procedure
{SHIFT-+}EXEC{SHIFT--} <name>{SHIFT-+}(<actual param list>){SHIFT--}
EXP -- natural log e to n
EXP(<numeric expression>)
FALSE -- predefined value = 0
FALSE
FILE -- specifies that a file is used
INPUT FILE <file#>{SHIFT-+},<rec#>{SHIFT--}: <var list>
PRINT FILE <file#>{SHIFT-+},<rec#>{SHIFT--}: <val list>
READ FILE <file#>{SHIFT-+},<rec#>{SHIFT--}: <var list>
WRITE FILE <file#>{SHIFT-+},<rec#>{SHIFT--}: <var list>
OPEN {SHIFT-+}FILE{SHIFT--} <file#>,<filename>{SHIFT-+},<type>{SHIFT--}
CLOSE {SHIFT-+}{SHIFT-+}FILE{SHIFT--} <file#>{SHIFT--}
FOR -- start of FOR loop structure
FOR <var>=<st> TO <e> {SHIFT-+}STEP <stp>{SHIFT--} {SHIFT-+}DO{SHIFT--}
FUNC -- start of a multiline function
FUNC <name>{SHIFT-+}(<parm>){SHIFT--} {SHIFT-+}EXTERNAL <name>{SHIFT--}
FUNC <name>{SHIFT-+}(<parm>){SHIFT--} {SHIFT-+}CLOSED{SHIFT--}
GOTO -- go to line with this name
GOTO <label name>
IF -- start of conditional IF structure
IF <condition> {SHIFT-+}THEN{SHIFT--}
IF <condition> THEN <statement>
IN --locate string1 position in string2
<string1> IN <string2>
INPUT -- input from keyboard or file
INPUT {SHIFT-+}<prompt>:{SHIFT--} <var list>
INPUT FILE <file#>{SHIFT-+},<rec#>{SHIFT--}:<var list>
INT -nearest integer less than or equal
INT(<numeric expression>)
KEY$ -- scans keyboard (not PET 0.14)
KEY$
LABEL -- assigns label name to line
<label name>:
LEN -- gives the length of string
LEN(<string expression>)
LET -- assign value to variable
:=
LIST -- list program
LIST {SHIFT-+}<range>{SHIFT--} {SHIFT-+}<filename>{SHIFT--}
LOAD -- load a program from disk
LOAD <filename>
LOG -- natural logarithm of n
LOG(<numeric expression>)
MOD -- division remainder (modulo)
<dividend> MOD <divisor>
NEW -- clears program from memory
NEW
NOT -- logical NOT
NOT <condition>
NULL -- does nothing (no op)
NULL
OF -- part of DIM or CASE structure
CASE <expression> {SHIFT-+}OF{SHIFT--}
DIM <stringvar> OF <max char>
DIM <stringarray>(index) OF <max char>
OPEN -- open a file
OPEN {SHIFT-+}FILE{SHIFT--} <file#>,<filename>{SHIFT-+},<type>{SHIFT--}
OR -- logical OR
<condition> OR <condition>
ORD -- integer representing the char
ORD(<string expression>)
OTHERWISE -- default for CASE
OTHERWISE
OUTPUT -- select output location
SELECT {SHIFT-+}OUTPUT{SHIFT--} <type>
PASS -pass string to disk command chanl
PASS <disk command>
PEEK -- look at memory
PEEK(<memory address>)
POKE -- change memory location
POKE <memory address>,<contents>
PRINT -prints items to scrn/printr/file
PRINT {SHIFT-+}FILE <filenum>:{SHIFT--} {SHIFT-+}<items>{SHIFT--}
PRINT {SHIFT-+}FILE <fil#>:{SHIFT--} USING <fmt>:<vars>
(RANDOM file use:{SHIFT-+}FILE <fil#>,<rec#>:{SHIFT--})
PROC -- start of multiline procedure
PROC <nam>{SHIFT-+}(<parm>){SHIFT--} {SHIFT-+}EXTERNAL <name>{SHIFT--}
PROC <nam>{SHIFT-+}(<parm>){SHIFT--} {SHIFT-+}CLOSED{SHIFT--}
RANDOM -- random access disk file
OPEN FILE <fil#>,<name>,RANDOM <recln>
READ -read data from DATA line or file
READ <var list>
READ FILE <file#>{SHIFT-+},<rec#>{SHIFT--}: <var list>
OPEN {SHIFT-+}FILE{SHIFT--} <filenum>,<filename>,READ
REF -parm var used in reference in proc
REF <var>
RENUM -- renumber program
RENUM {SHIFT-+}<targetstart>{SHIFT--}{SHIFT-+},<increment>{SHIFT--}
REPEAT -- start of REPEAT structure
REPEAT
RESTORE -- reuse DATA with READ
RESTORE
RND -- random number
RND(<num>)
RND(<start num>:<end num>)
RUN -- run program now in memory
RUN
SAVE -- record program on disk
SAVE <filename>
SELECT -- choose output location
SELECT {SHIFT-+}OUTPUT{SHIFT--} <type>
SGN -- -1 if neg, 0 if 0, 1 if pos
SGN(<numeric expression>)
SIN -- gives sine in radians
SIN(<numeric expression>)
SIZE -- memory usage (free memory)
SIZE
SQR -- gives square root
SQR(<numeric expression>)
STATUS$ -- status of disk channel
STATUS$
STEP -incremnt FOR loop var this amount
STEP <numeric expression>
STOP -- halt program execution
STOP
SYS -give control to assembly language
SYS(<memory address>)
TAB -- print spaces up to specified col
TAB(<column number>)
TAN -- gives tangent in radians
TAN(<numeric expression>)
THEN -- part of IF structure
THEN
TO -increment FOR variable start TO end
<start num> TO <end num>
TRAP -- disable stop key
TRAP ESC<type>
TRUE -- predefined value of 1
TRUE
UNIT -- specify unit (device)
OPEN FILE <#>,<n>,UNIT
<dv>{SHIFT-+},<sc>{SHIFT--}{SHIFT-+},<tp>{SHIFT--}
UNTIL -- end of REPEAT loop
UNTIL <expression>
USING --formatted output (not PET 0.14)
PRINT USING <format>: <var list>
WHEN -- choice in CASE structure
WHEN <list of values>
WHILE -- start of WHILE structure
WHILE <expression> {SHIFT-+}DO{SHIFT--} {SHIFT-+}<statement>{SHIFT--}
WRITE -- write to a file
WRITE FILE <file#>{SHIFT-+},<rec#>{SHIFT--}: <var list>
OPEN {SHIFT-+}FILE{SHIFT--} <filenum>,<filename>,WRITE
ZONE -- tab increment
ZONE <tab interval>
ZONE
TURTLE GRAPHICS CHART CBM COMAL
----------------------- ---------
TURTLE CONTROL:
Move forward length FORWARD
Move backward length BACK
Home turtle HOME
Turn turtle left LEFT
Turn turtle right RIGHT
Move to a point SETXY
Turn to specific heading SETHEADING
Make turtle visible SHOWTURTLE
Make turtle invisible HIDETURTLE
Pen up off paper PENUP
Pen down on paper PENDOWN
Set pen color PENCOLOR
Number of colors 16
Set size of turtle TURTLESIZE
Plot a point PLOT
Print text in graphics PLOTTEXT
SCREEN AND COLOR CONTROL:
Set screen window FRAME
Clear graphics screen CLEAR
Set to graphics mode SETGRAPHIC
Set to text screen SETTEXT
Set background color BACKGROUND
Set border color BORDER
Fill in an area FILL
Full screen mode FULLSCREEN
Split screen mode SPLITSCREEN
FUNCTION KEYS RESULTS:
F1 TEXT SCREEN
F3 SPLITSCREEN
F5 FULLSCREEN
COMMODORE 64 COMAL COLORS LIST
COL COLOR CHR$ ! COL COLOR CHR$
NUM NAME ! NUM NAME
--- ----- --- ! --- ------- ---
0 BLACK 144 ! 8 ORANGE 129
1 WHITE 5 ! 9 BROWN 149
2 RED 28 ! 10 LT RED 150
3 CYAN 159 ! 11 DK GREY 151
4 PURPL 156 ! 12 MD GREY 152
5 GREEN 30 ! 13 LT GREEN 153
6 BLUE 31 ! 14 LT BLUE 154
7 YELLW 158 ! 15 LT GREY 155
SPRITES (version 0.14)
DATACOLLISION -test collision with data
DATACOLLISION <sprt#>,<reset cols flg?>
DEFINE -set up sprite image for later
DEFINE <sprt definitn#>,<64 byte def$>
HIDESPRITE -- turn off specified sprite
HIDESPRITE <sprite number>
IDENTIFY -- assign a sprite an image
IDENTIFY <sprite number>,<definition #>
(note: sprite 7 is used for the turtle)
PRIORITY -does data priority over sprt
PRIORITY <sprite #>,<data priority?>
SPRITEBACK -set 2 multicolor sprt colrs
SPRITEBACK <color1>,<color2>
SHOWSPRITE -- turn on specified sprite
SHOWSPRITE <sprite number>
SPRITECOLLISION -test sprite collision
SPRITECOLLISION <spr#>,<reset col flg?>
SPRITECOLOR -- set color of sprite
SPRITECOLOR <sprite #>,<color number>
SPRITEPOS -- position sprite at x,y loc
SPRITEPOS <sprt#>,<x coord>,<y coord>
SPRITESIZE -sprite size (expand or not)
SPRITESIZE <spr#>,<y xpand?>,<x xpand?>
HIGH RES and TURTLE graphics COMAL 0.14
BACK -- move turtle backwards
BACK <length>
BACKGROUND -set screen background color
BACKGROUND <color number>
BORDER -- set the screen border color
BORDER <color number>
CLEAR -clear graphics screen (in frame)
CLEARSCREEN
DRAWTO -- draw line from current point
DRAWTO <x coordinate>,<y coordinate>
FILL -- fill in area with current color
FILL <x coordinate>,<y coordinate>
FORWARD -- move turtle forward
FORWARD <length>
FRAME -- set up a screen window
FRAME <x0>,<x1>,<y0>,<y1>
FULLSCREEN -- fullscreen graphics (f5)
FULLSCREEN
HIDETURTLE -- make the turtle invisible
HIDETURTLE
HOME -put turtle in its home position
HOME
LEFT -- turn turtle left
LEFT <degrees>
MOVETO -move to point without line
MOVETO <x coordinate>,<y coordinate>
PENCOLOR -set current turtle pen color
PENCOLOR <color number>
PENDOWN -put pen down-turtle draws line
PENDOWN
PENUP -pick up pen-no turtle lines
PENUP
PLOT -- plot a point in current color
PLOT <x coordinate>,<y coordinate>
PLOTTEXT -print text on graphics screen
PLOTTEXT <x coord>,<y coord>,<text$>
RIGHT -- turn turtle right
RIGHT <degrees>
SETGRAPHIC -- turn on graphics screen
SETGRAPHIC {SHIFT-+}<type>{SHIFT--}
SETHEADING -- set turtle heading
SETHEADING <degree>
SETTEXT -- turn on text screen (f1)
SETTEXT
SETXY -- set turtle x and y coordinates
SETXY <x coordinate>,<y coordinate>
SHOWTURTLE -- make turtle visible
SHOWTURTLE
SPLITSCREEN -2 line text above graphics
SPLITSCREEN
TURTLESIZE -- set turtle size (0 to 10)
TURTLESIZE <size>