Home   [... Table of Contents]

Blast Off With BASIC



© 1991 Brian R. Page

Blast Off With BASIC



© 1991 Brian R. Page

Appendix A: BASIC Commands Quick Reference

 

CIRCLE

STATEMENT

PURPOSE

Displays a circle on the screen. May be used only in graphics mode.

SYNTAX

CIRCLE (X,Y),radius,color,start,end

EXPLANATION

(X,Y) specify the coordinates of the center of the circle.

X is horizontal axis (left to right across the screen), and Y is the vertical axis (top to bottom).

X must be a number in the range of 0 through 319. Y must be in the range 0 through 199.

,radius is the distance, specified in points, from the center of the circle to the edge specified.

,color is a number in the range 1 through 3 which selects a color from the palette currently in use (see the COLOR statement).

,start,end indicate the beginning and ending positions for a partial circle. Positions are specified in radians beginning from the extreme right hand side of the circle. Circles are always drawn counterclockwise. One degree is equal to 0.0174532 radians. Therefore, the starting and ending positions may be listed in degrees multiplied by 0.0174532. If either the starting or ending points are negative numbers, BASIC draws a line from the point to the center of the circle.

EXAMPLE

10 SCREEN 1
20 COLOR 1,1
30 RPD! = .0174532
40 CIRCLE (160,100),60,1                      'FULL CIRCLE
50 CIRCLE (50,100),30,2,(0 * RPD!),(270 * RPD!)       'PARTIAL CIRCLE
60 CIRCLE (280,100),40,3,(-60 * RPD!),(-120 * RPD!)   'PIE

 

 

 

CLS

STATEMENT

PURPOSE

Clear the screen.

SYNTAX

CLS

COLOR

STATEMENT IN TEXT MODE

PURPOSE

Sets the background and text colors.

SYNTAX

COLOR foreground,background

EXPLANATION

Foreground specifies a number in the range 0 through 15 to select a color for text.

Background selects a number in the range 0 through 7 for the screen background color.

Number Name Color Hex
 0 Black #000000
 1 Dark Blue #0000AA
 2 Green #00AA00
 3 Teal #00AAAA
 4 Red #AA0000
 5 Magenta #AA00AA
 6 Brown #AA5500
 7 Silver #AAAAAA
 8 Grey #555555
 9 Bright Blue #5555FF
10 Bright Green #55FF55
11 Bright Cyan #55FFFF
12 Bright Red #FF5555
13 Bright Magenta #FF55FF
14 Yellow #FFFF55
15 White #FFFFFF

COLOR

STATEMENT IN GRAPHICS MODE

PURPOSE

Sets the background and palette colors.

SYNTAX

COLOR background,palette

EXPLANATION

background specifies a number in the range 0 through 15 to select a color for screen background. ,palette selects a number 0 or 1 to chose a palette of three colors.

The actual color of a line or circle is specified by the graphics commands using the colors made available by the palette.

COLOR PALETTE 0 PALETTE 1
1 Green Cyan
2 Red Magenta
3 Brown Silver

DATA

STATEMENT

PURPOSE

lists data which may be assigned to variables with the READ statement.

SYNTAX

DATA field,field,field,...

EXPLANATION

field

Each field may be a string or number which will be assigned to a variable by a READ statement. Each field must be separated by a comma. If the data field contains a comma, semicolon, or blank spaces, that item must be enclosed within quotation marks. DATA statements are accessed in numerical order. The data in a field must match the variable type used in the READ statement. For example, an attempt to assign alphabetic characters to an integer variable will result in a Syntax error.

EXAMPLE

10  FOR X% = 1 TO 2
20    READ INFO$
30    PRINT INFO$
40  NEXT X%
50  FOR Y% = 1 TO 2
60    READ CHAR$,NUM%
70    PRINT CHAR$,NUM%
80  NEXT Y%
90  END
100 DATA Here is some input
110 DATA "which contains a comma, and lots of spaces
120 DATA characters,3.14159265
130 DATA more characters and,3245

END

STATEMENT

PURPOSE

Halts execution of a BASIC program.

SYNTAX

END

EXPLANATION

END may be placed anywhere in a program. As soon as the END statement is executed, program execution stops.

FOR-NEXT

STATEMENTS

PURPOSE

Creates a loop for the repetitive execution of instructions.

SYNTAX

FOR variable = x TO y STEP z

NEXT variable

EXPLANATION

variable the number which is to be used as a counter. This name must be the same on both the FOR and the NEXT statements.

x the variable is set to this value as the loop begins.

y when the variable is greater than this value (for a positive STEP number), the loop is discontinued and execution resumes with the instruction following the NEXT statement. For a negative STEP value, execution stops when x becomes less than y.

z the number z is added to x each time a NEXT statement is executed. Z may be positive, negative, fractional, or zero. If STEP is not used with the statement, 1 is added to x each time a NEXT statement is executed.

EXAMPLE

10 FOR X% = 1 TO 5
20  FOR FREQ% = 900 TO 970 STEP 10
30    SOUND FREQ%,.5
40  NEXT FREQ%
50  FOR FREQ% = 970 TO 900 STEP -10
60    SOUND FREQ%,.5
70   NEXT FREQ%
80 NEXT X%
90 END

GOSUB AND RETURN

STATEMENTS

PURPOSE

Temporarily branches to a subroutine.

SYNTAX

GOSUB line. . . RETURN

EXPLANATION

line is the first line number in a subroutine. Execution continues until a RETURN statement is encountered. GOSUB-RETURN statements may be nested. A RETURN statement causes BASIC to return execution to the last executed GOSUB statement. Upon return from a subroutine, execution continues with the next instruction following the GOSUB.

EXAMPLE

10  GOSUB 60
20  GOSUB 40
30  END
40  PRINT "The first subroutine, at line 40, is the last one called"
50  RETURN
60  CLS
70  PRINT "Subroutine beginning at line 60"
80  GOSUB 100
90  RETURN
100 PRINT "Nested subroutine beginning at line 100"
110 RETURN

GOTO

STATEMENT

PURPOSE

Branch to a specified line number.

SYNTAX

GOTO line

EXPLANATION

line specifies a line number in the program. This line will be the next one executed after the GOTO.

EXAMPLE

10 PRINT "This is line 10"
20 GOTO 50
30 PRINT "This is line 30"
40 GOTO 70
50 PRINT "This is line 50"
60 GOTO 30
70 END

IF-THEN-ELSE

STATEMENT

PURPOSE

Makes a decision based on a comparison.

SYNTAX

IF condition THEN alternative 1 ELSE alternative 2

EXPLANATION

condition is some relationship which BASIC tests to see if it is true. If the condition is true, then alternative 1 is executed. If the condition is not true, alternative 2 is performed.

alternative 1 is any valid BASIC statement.

alternative 2 is any valid BASIC statement.

EXAMPLES

280 IF CHOICE% = 2 THEN GOTO 600 ELSE GOTO 300
290 IF CHOICE% <> 2 THEN GOTO 300 ELSE GOTO 600
300 IF GUESS% = NUMBER% THEN GOTO 140
310 IF GUESS%  NUMBER% THEN PRINT "Too High"
320 IF GUESS% < NUMBER% THEN PRINT "Too Low"
330 IF SUB! >= 0 THEN GOTO 500
340 IF SUB! = 4 THEN GOTO 500
350 IF ANSWER$ = "y" THEN ANSWER$ = "Y"
360 IF QUANTITY% - SUB% <1 THEN G

INPUT

STATEMENT

PURPOSE

Accepts keyboard input.

SYNTAX

INPUT "message", variable,variable,variable,...

EXPLANATION

message contains text to display on the screen before accepting input for the variables. The message may be omitted.

variable the name of a variable to hold the keyboard input. More than one variable may be created by a single INPUT statement. Each variable name must be separated from the others by commas and the keyboard input must similarly separate data fields by commas.

INT

FUNCTION

PURPOSE

Creates an integer.

SYNTAX

variable = INT(x)

EXPLANATION

x the integer value of x is assigned to the variable.

EXAMPLE

10 PRINT "The integer of 6.5 is" INT(6.5)
20 PRINT "The integer of 6.2 is" INT(6.2)
30 PRINT "The integer of -4.7 is " INT(-4.7)
40 PRINT "The integer of -4.3 is " INT(-4.3)

KEY

STATEMENT

PURPOSE

Turns the display of function key settings on or off.

SYNTAX

KEY ON

KEY OFF

EXPLANATION

ON causes the keys to be displayed at the bottom of the screen. OFF causes the key display to disappear. The function keys may still be used even with the display not present.

LEFT$

FUNCTION

PURPOSE

Returns the leftmost x characters of a string variable.

SYNTAX

LEFT$(variable,x)

EXPLANATION

variable a string variable. x the number of leftmost characters needed.

EXAMPLE

10 WHO$ = "Jabberwocky"
20 FOR X% = 1 TO 11
30   PRINT LEFT$(WHO$,X%)
40 NEXT X%

LINE

STATEMENT

PURPOSE

Graphics mode command to draw lines and boxes.

SYNTAX

LINE (x,y) - (x,y),color,BF

EXPLANATION

x specifies the horizontal coordinate. This is a number in the range of 0 through 319.

y specifies the vertical coordinate. This is a number in the range of 0 through 199.

color specifies a number in the range of 1 through 3 to select one of the colors made available with the palette selection of the COLOR statement.

,B instructs BASIC that the coordinates given are opposite corners of a box. With this option, a single LINE command may be used to draw a rectangle.

,BF causes BASIC to fill in the box with the color specified.

EXAMPLE

10 SCREEN 1
20 LINE (0,0) - (319,199),1,B          'EMPTY BOX
30 LINE (50,30) - (70,90),2,BF         'FILLED BOX
40 LINE (25,20) - (60,20),3            'LINE
50 LINE (20,180) - (300,10),2          'DIAGONAL
60 FOR X% = 230 TO 270                 'TRIANGLE
70  LINE (250,150) - (X%,180)
80 NEXT X%

LIST

COMMAND

PURPOSE

Displays a BASIC program on the screen.

SYNTAX

LIST line - line

EXPLANATION

line specifies a line number to list. If no line numbers are specified the entire program is listed. If one line number is specified, only that one line is displayed. If a range of line numbers is specified, only that range is displayed.

LLIST

COMMAND

PURPOSE

Lists a BASIC program on a printer.

SYNTAX

LLIST line - line

EXPLANATION

line specifies a line number to list on a printer. If no line numbers are specified the entire program is printed. If one line number is specified, only that one line is printed. If a range of line numbers is specified, only that range is printed.

LOAD

COMMAND

PURPOSE

Moves a BASIC program into memory from a disk file.

SYNTAX

LOAD "file path",R

EXPLANATION

file path may include the disk drive, directory, and file name. ,R causes the program to RUN after it is loaded into memory. This option may be omitted.

LOCATE

STATEMENT

PURPOSE

Positions the cursor on the display screen.

SYNTAX

LOCATE row,column

EXPLANATION

row a number in the range 1 through 25, numbered from the top of the screen down. Line 25 may not be used until a KEY OFF statement has been executed to remove the function key labels.

,column a number in the range 1 through 40 in graphics mode, or 1 through 80 in text mode. A PRINT statement following a LOCATE positions output at the indicated position on the screen.

EXAMPLE

10 CLS
20 LOCATE 10,20
30 PRINT "Row 10, Column 20"
40 LOCATE 20,50
50 PRINT "Row 20, Column 50"

LPRINT

STATEMENT

PURPOSE

Prints text on a printer.

SYNTAX

LPRINT expression

EXPLANATION

expression may be either variables or characters enclosed within quotation marks. LPRINT functions exactly like the PRINT statement, except output appears on the printer.

MERGE

COMMAND

PURPOSE

Combines two BASIC programs.

SYNTAX

MERGE "file path"

EXPLANATION

file path may include the disk drive, directory, and file name. A file to be merged must have been saved with the ,A option of the SAVE command.

PRINT

STATEMENT

PURPOSE

Displays data on the screen.

SYNTAX

PRINT expression

EXPLANATION

expression may include variables or data enclosed within quo- tation marks. Output may be positioned in print zone fourteen characters wide by separating the fields with commas.

EXAMPLE

10 PRINT "1","2","3","4","5"
20 PRINT "1","Here is some long text","2"

RANDOMIZE

STATEMENT

PURPOSE

Seeds the BASIC random number generator.

SYNTAX

RANDOMIZE x

EXPLANATION

x specifies a number in the range -32,768 through 32,767. For a given seed, the BASIC random number generator produces the same sequence of random numbers. For more truly random numbers, the BASIC TIMER function is often used as the seed. To use a random number, see the RND function. The random number generator must be seeded before the RND function can be used.

EXAMPLE

10 RANDOMIZE TIMER
20 PRINT RND
30 PRINT RND

READ

STATEMENT

PURPOSE

Assigns fields in DATA statements to variables.

SYNTAX

READ variable,variable,variable,...

EXPLANATION

variable identifies a variable to hold the data contained in the DATA statement.

DATA statements are READ in line number order. An attempt to READ beyond the last DATA statements results in an Out of data error message. The type of data contained in the DATA statements must match the variable types used in the READ statement.

EXAMPLE

10 READ WORD1$
20 READ WORD2$
30 READ WORD3$
40 PRINT WORD3$,WORD1$,WORD2$
50 END
60 DATA My
70 DATA Lips
80 DATA Read

REM

STATEMENT

PURPOSE

Provides a comment line in a program.

SYNTAX

REM expression

EXPLANATION

expression any text.

RENUM

COMMAND

PURPOSE

Renumbers the lines of the BASIC program currently in memory.

SYNTAX

RENUM line

EXPLANATION

line specifies the beginning line number to use for the program. Program lines will be numbered by tens. If line is not specified, numbering begins with line 10.

RND

FUNCTION

PURPOSE

Produces a random number between 0 and 1.

SYNTAX

variable = RND

EXPLANATION

variable the contents of RND may be assigned to a variable. RND acts like a single precision variable holding a fractional number. The random number generator must be seeded before the RND function can be used. See the RANDOMIZE statement to seed the generator.

EXAMPLE

10  RANDOMIZE TIMER
20  PRINT INT(RND * (9 + 1))
30  PRINT INT(1 + RND * 9)
40  PRINT INT(RND * (10 + 1))
50  PRINT INT(1 + RND * 10)
60  PRINT INT(RND * (99 + 1))
70  PRINT INT(1 + RND * 99)
80  PRINT INT(RND * (100 + 1))
90  PRINT INT(1 + RND * 100)
100 PRINT INT(RND * (999 + 1))
110 PRINT INT(1 + RND * 999)

RUN

COMMAND

PURPOSE

Causes the BASIC interpreter to execute a program.

SYNTAX

RUN "file path"

EXPLANATION

file path may include the disk drive, directory, and the file name. If no file path is specified, the program currently in memory is executed.

SAVE

COMMAND

PURPOSE

The program currently in memory is written to a disk file.

SYNTAX

SAVE "file path",A

EXPLANATION

file path may include the disk drive, directory, and file name.

,A the disk file is saved in ASCII format of ordinary text characters with no compression of blank spaces. This option must be used if the file is going to be used with a MERGE command.

SCREEN

STATEMENT

PURPOSE

Switches between text mode and graphics mode.

SYNTAX

SCREEN 0

SCREEN 1

EXPLANATION

Screen 0 is text mode. Screen 1 is graphics mode.

SOUND

STATEMENT

PURPOSE

Creates a sound out of the personal computer speaker.

SYNTAX

SOUND frequency,duration

EXPLANATION

frequency specifies a tone in Hertz (Hz) in the range 37 to 32767. The upper limit of the range is the code for silence.

duration specifies how long the tone will be sounded. Duration is specified in clock ticks. One second is equal to 18 clock ticks.

EXAMPLE

10 C! = 65.4                           'C NOTE FROM 2nd OCTAVE
20 FOR X% = 1000 TO 10000 STEP 1000
30  SOUND X%,1
40 NEXT X%
50 SOUND 32767,9                       'SILENCE
60 SOUND (4 * C!),4.5                  'MIDDLE C

SYSTEM

COMMAND

PURPOSE

Stops the BASIC interpreter and returns control to DOS.

SYNTAX

SYSTEM

EXPLANATION

Any program or data currently in memory is lost.

TIMER

FUNCTION

PURPOSE

Produces a single precision number indicating the elapsed time in seconds and hundredth of a second since either midnight or a system reset.

SYNTAX

variable = TIMER

EXPLANATION

variable the value of TIMER may be assigned to a variable.

EXAMPLE

10 BEGTIME! = TIMER
20 INPUT "Press ENTER after you have read this message",GARBAGE$
30 ENDTIME! = TIMER
40 HOWLONG! = ENDTIME! - BEGTIME!
50 PRINT "It took you"HOWLONG!"seconds to read the message"

WIDTH

STATEMENT

PURPOSE

Sets the text width of the display screen.

SYNTAX

WIDTH 40

WIDTH 80

EXPLANATION

The screen width may display either 40 or 80 characters.

Top

Chapter 11   [... TOC]   Appendix B: DOS Command Summary