MediaWiki:Sitenotice:
2024-03-02: The wiki ran out of disk space, so things were not working. This has been resolved by adding another 5GB of quota ;-) Thanks to Tim Lindner for reporting the issues. 2020-05-17: If a page gives you an error about some revision not being found, just EDIT the page and the old page should appear in the editor. If it does, just SAVE that and the page should be restored. OS-9 Al (talk) 12:22, 17 May 2020 (CDT)

BASIC:BASIC: Difference between revisions

From CoCopedia - The Tandy/Radio Shack Color Computer Wiki
Jump to navigation Jump to search
m (changed header from commands to keywords)
(Cleanup)
Line 15: Line 15:
== KEYWORDS ==
== KEYWORDS ==
* [  CB]    [[ABS]]    Get absolute value of a signed number
* [  CB]    [[ABS]]    Get absolute value of a signed number
* [  CB]    [[+]]   Addition operator
* [  CB]    +    Addition operator
* [  CB]    [[AND]]    Boolean / Logical AND operator
* [  CB]    [[AND]]    Boolean / Logical AND operator
* [  CB]    [[ASC]]    ASCII code of first letter of string
* [  CB]    [[ASC]]    ASCII code of first letter of string
Line 22: Line 22:
* [  CB]    [[AUDIO]]    Control the audio source
* [  CB]    [[AUDIO]]    Control the audio source
* [DECB]    [[BACKUP]]    Duplicates the contents of the disk in the source drive on the disk in the destination drive
* [DECB]    [[BACKUP]]    Duplicates the contents of the disk in the source drive on the disk in the destination drive
* [  CB]    [[BIRQSV]]    Interrupt service handler
* [SECB]    [[BRK]]    Jump to a line number when the BREAK key is pressed
* [SECB]    [[BRK]]    Jump to a line number when the BREAK key is pressed
* [SECB]    [[BUTTON]]    Return if a Joystick Button is being pressed or not
* [SECB]    [[BUTTON]]    Return if a Joystick Button is being pressed or not
Line 43: Line 42:
* [  CB]    [[DIM]]    Set aside memory for arrays
* [  CB]    [[DIM]]    Set aside memory for arrays
* [DECB]    [[DIR]]    Displays a directory of the disk in the drive you specify
* [DECB]    [[DIR]]    Displays a directory of the disk in the drive you specify
* [  CB]    [[/]]   Division operator
* [  CB]    /    Division operator
* [ ECB]    [[DLOAD]]    Loads BASIC program at specified baud
* [ ECB]    [[DLOAD]]    Loads BASIC program at specified baud
* [DECB]    [[DOS]]    With the OS-9 system diskette in drive 0, the DOS command boots the OS-9 operating system
* [DECB]    [[DOS]]    With the OS-9 system diskette in drive 0, the DOS command boots the OS-9 operating system
Line 54: Line 53:
* [  CB]    [[END]]    The end of the program
* [  CB]    [[END]]    The end of the program
* [  CB]    [[EOF]]    End of file
* [  CB]    [[EOF]]    End of file
* [  CB]    [[=]]    Equality operator
* [  CB]    [[ELSE]]   An alternate condition of a conditional check
* [  CB]   =   Equality operator
* [SECB]    [[ERLIN]]    Returns the BASIC line number where an error has occurred
* [SECB]    [[ERLIN]]    Returns the BASIC line number where an error has occurred
* [SECB]    [[ERR]]    Jump to a line number when an error occurs
* [SECB]    [[ERR]]    Jump to a line number when an error occurs
Line 69: Line 69:
* [ ECB]    [[GET]]    Reads the graphic contents of a rectangle into an array for future use by PUT
* [ ECB]    [[GET]]    Reads the graphic contents of a rectangle into an array for future use by PUT
* [  CB]    [[GO]]    Jump to line number
* [  CB]    [[GO]]    Jump to line number
* [  CB]    [[>]]   Greater Than operator
* [  CB]    >    Greater Than operator
* [SECB]    [[HBUFF]]    Reserves an area in memory for high-resolution graphics
* [SECB]    [[HBUFF]]    Reserves an area in memory for high-resolution graphics
* [SECB]    [[HCIRCLE]]    Draws a circle on the high-resolution graphics screen
* [SECB]    [[HCIRCLE]]    Draws a circle on the high-resolution graphics screen
Line 95: Line 95:
* [  CB]    [[LEFT$]]    Left part of a string
* [  CB]    [[LEFT$]]    Left part of a string
* [  CB]    [[LEN]]    Length of a string
* [  CB]    [[LEN]]    Length of a string
* [  CB]    [[<]]   Less Than operator  
* [  CB]    <    Less Than operator  
* [  CB]    [[LET]]    Assign a variable
* [  CB]    [[LET]]    Assign a variable
* [ ECB]    [[LINE]]    Draw a line from (x1,y1) to (x2,y2)
* [ ECB]    [[LINE]]    Draw a line from (x1,y1) to (x2,y2)
Line 113: Line 113:
* [DECB]    [[MKN$]]    Convert a specified number into a 5-byte coded string for storage in a formatted disk file
* [DECB]    [[MKN$]]    Convert a specified number into a 5-byte coded string for storage in a formatted disk file
* [  CB]    [[MOTOR]]    Tape drive motor control
* [  CB]    [[MOTOR]]    Tape drive motor control
* [  CB]    [[*]]   Multiplication operator
* [  CB]    *    Multiplication operator
* [  CB]    [[NEW]]    Initialize the BASIC memory map
* [  CB]    [[NEW]]    Initialize the BASIC memory map
* [  CB]    [[NEXT]]    End of a loop
* [  CB]    [[NEXT]]    End of a loop
Line 138: Line 138:
* [ ECB]    [[PUT]]    Stores graphics from source into start/end rectangle on the screen
* [ ECB]    [[PUT]]    Stores graphics from source into start/end rectangle on the screen
* [  CB]    [[READ]]    Read a piece of data
* [  CB]    [[READ]]    Read a piece of data
* [  CB]    [[REM ']]    Comments or remarks - FIXME Else uses this too?
* [  CB]    [[REM]]    Comments or remarks - FIXME Else uses this token too?
* [DECB]    [[RENAME]]    Renames a disk file
* [DECB]    [[RENAME]]    Renames a disk file
* [ ECB]    [[RENUM]]    Allows program line renumbering
* [ ECB]    [[RENUM]]    Allows program line renumbering
Line 162: Line 162:
* [ ECB]    [[STRING]]    Returns a string of characters of specified length
* [ ECB]    [[STRING]]    Returns a string of characters of specified length
* [  CB]    [[SUB]]    Completion token for GOSUB
* [  CB]    [[SUB]]    Completion token for GOSUB
* [  CB]    [[-]]   Subtraction operator
* [  CB]    -    Subtraction operator
* [  CB]    [[TAB]]    Tabulation
* [  CB]    [[TAB]]    Tabulation
* [ ECB]    [[TAN]]    Returns tangent of angle given in radians
* [ ECB]    [[TAN]]    Returns tangent of angle given in radians

Revision as of 17:35, 9 April 2020

BASIC

Tandy Color Computers contain a modular interpreter which understands a superset of the Beginner's All-purpose Symbolic Instruction Code (BASIC) programming language.

There are up to four core modules available in Read-Only Memory (ROM) that detect and link to each other when combinations of these ROMs exist in a Color Computer.

MODULES

Color BASIC

Extended Color BASIC (ECB)

Disk Extended Color BASIC (DECB)

Super Extended Color BASIC (SECB)

KEYWORDS

  • [ CB] ABS Get absolute value of a signed number
  • [ CB] + Addition operator
  • [ CB] AND Boolean / Logical AND operator
  • [ CB] ASC ASCII code of first letter of string
  • [ ECB] ATN Returns arctangent in radians
  • [SECB] ATTR Set the display attributes of a high-resolution text screen
  • [ CB] AUDIO Control the audio source
  • [DECB] BACKUP Duplicates the contents of the disk in the source drive on the disk in the destination drive
  • [SECB] BRK Jump to a line number when the BREAK key is pressed
  • [SECB] BUTTON Return if a Joystick Button is being pressed or not
  • [ CB] CHR$ Convert number to Control, ASCII, or graphics code string
  • [ ECB] CIRCLE Draws a circle with center at point (x,y) radius r, specified color c and height/width ratio
  • [ CB] CLEAR Clear RAM for string space
  • [ CB] CLOAD Cassette load
  • [ CB] CLOSE Close files
  • [ CB] CLS Clear screen
  • [SECB] CMP Set palette to composite defaults
  • [ ECB] COLOR Sets foreground and background color
  • [ CB] CONT Continue the program from a stop
  • [DECB] COPY Copies the contents of filename1 to filename2
  • [ ECB] COS Return cosine of an angle given in radians
  • [ CB] CSAVE Cassette save
  • [DECB] CVN Convert a 5-byte coded string created by MKN$ back to the number it represents
  • [ CB] DATA Store data within a program
  • [ ECB] DEF Defines numeric function
  • [ ECB] DEL Deletes program lines
  • [ CB] DIM Set aside memory for arrays
  • [DECB] DIR Displays a directory of the disk in the drive you specify
  • [ CB] / Division operator
  • [ ECB] DLOAD Loads BASIC program at specified baud
  • [DECB] DOS With the OS-9 system diskette in drive 0, the DOS command boots the OS-9 operating system
  • [ ECB] DRAW Draws a line beginning at specified starting point of specified length and color
  • [DECB] DRIVE Changes the default drive to the drive you specify
  • [DECB] DSKI$ Inputs data from a particular sector with in a particular track on the disk in the drive you specify
  • [DECB] DSKINI Formats a disk in the drive you specify
  • [DECB] DSKO$ Writes string data on sector, track, and drive number you specify
  • [ ECB] EDIT Allows editing of program line
  • [ CB] END The end of the program
  • [ CB] EOF End of file
  • [ CB] ELSE An alternate condition of a conditional check
  • [ CB] = Equality operator
  • [SECB] ERLIN Returns the BASIC line number where an error has occurred
  • [SECB] ERR Jump to a line number when an error occurs
  • [SECB] ERRNO Returns the BASIC error number for the error that has occurred
  • [ CB] EVAL Evaluate a numeric expression
  • [ CB] EXEC EXECute code at address
  • [ CB] EXP Generates ?SN in Color BASIC, implemented in Extended Color BASIC
  • [ ECB] EXP Returns natural exponential of number
  • [DECB] FIELD Organizes the space within a direct access buffer into fields
  • [DECB] FILES Tell the computer the number of buffers to reserve in memory
  • [ ECB] FIX Returns truncated (whole number) value
  • [ CB] FOR Start a loop
  • [DECB] FREE Returns to the number of free granules on the disk in the drive you specify
  • [ ECB] GET Reads the graphic contents of a rectangle into an array for future use by PUT
  • [ CB] GO Jump to line number
  • [ CB] > Greater Than operator
  • [SECB] HBUFF Reserves an area in memory for high-resolution graphics
  • [SECB] HCIRCLE Draws a circle on the high-resolution graphics screen
  • [SECB] HCLS Clear the high-resolution graphics screen to a specified color
  • [SECB] HCOLOR Set foreground and background color on the high-resolution graphics screen
  • [SECB] HDRAW Draws on the high-resolution screen from a command string
  • [ ECB] HEX$ Computes hexadecimal value
  • [SECB] HGET Stores a rectangle from the high-resolution screen into a buffer
  • [SECB] HLINE Draws a line on the high-resolution graphics screen
  • [SECB] HPAINT Paints an area on the high-resolution graphics screen
  • [SECB] HPOINT Returns information on point x,y from the high-resolution graphics screen
  • [SECB] HPRINT Prints a message on the high-resolution graphics screen
  • [SECB] HPUT Copies graphics from a buffer to a rectangle on the high-resolution graphics screen
  • [SECB] HRESET Resets a point on the high-resolution graphics screen to the background color
  • [SECB] HSCREEN Select and clear high-resolution graphics screen
  • [SECB] HSET Set point x,y on the high-resolution graphics screen to color c
  • [SECB] HSTAT Returns information regarding the high-resolution text screen cursor
  • [ CB] IF Start a conditional check
  • [ CB] INKEY$ Get a key
  • [ CB] INPUT Read a line of text at a time
  • [ ECB] INSTR Searches for the first occurrence of target string
  • [ CB] INT Convert a number to an integer
  • [ CB] JOYSTK Read and report joysticks
  • [DECB] KILL Deletes the filename you specify from the disk directory
  • [ CB] LEFT$ Left part of a string
  • [ CB] LEN Length of a string
  • [ CB] < Less Than operator
  • [ CB] LET Assign a variable
  • [ ECB] LINE Draw a line from (x1,y1) to (x2,y2)
  • [ CB] LIST List program to screen
  • [ CB] LLIST List program to printer
  • [DECB] LOAD Loads the specified program file into memory from disk
  • [SECB] LOCATE Move the high-resolution text screen cursor to position x,y
  • [DECB] LOC Returns the current record number of the buffer you specify
  • [DECB] LOF Returns the highest-numbered record of the buffer you specify
  • [ ECB] LOG Returns natural logarithm
  • [SECB] LPEEK Return the contents of a virtual memory location $00000 - $7FFFF
  • [SECB] LPOKE Stores a value in a virtual memory location $00000 - $7FFFF
  • [DECB] LSET Left-justifies the data within the field you specify
  • [ CB] MEM Free memory
  • [DECB] MERGE Loads the specified program file from disk and merges it with the program that exists in memory
  • [ CB] MID$ Middle of a string
  • [DECB] MKN$ Convert a specified number into a 5-byte coded string for storage in a formatted disk file
  • [ CB] MOTOR Tape drive motor control
  • [ CB] * Multiplication operator
  • [ CB] NEW Initialize the BASIC memory map
  • [ CB] NEXT End of a loop
  • [ CB] NOT Boolean / Logical negation
  • [ CB] OFF AUDIO and MOTOR control token
  • [ CB] ON Start of multi-way branch
  • [ CB] OPEN Open a file
  • [ CB] OR Boolean / Logical OR operator
  • [ ECB] PAINT Paints graphic screen starting at a point (x,y) withh specified color c stopping at border b
  • [SECB] PALETTE Store a color code into a palette register, or reset palette for CMP or RGB defaults
  • [ ECB] PCLEAR Reserves b number of 1.5K graphics memory pages
  • [ ECB] PCLS Clears screen with specified color c
  • [ ECB] PCOPY Copy graphics from source page to destination page
  • [ CB] PEEK Read a value from a memory address
  • [ ECB] PLAY Plays music of specific note, octave, note-length, tempo, pause
  • [ ECB] PMODE Selections resolution and first memory page
  • [ CB] POINT Check color of a semigraphics pixel
  • [ CB] POKE Write a value to a memory address
  • [ ECB] POS Returns current print position
  • [ ECB] PPOINT Tests whether specified graphics cell is on or off
  • [ ECB] PRESET Reset a point to background color
  • [ CB] PRINT Write to the screen
  • [ ECB] PSET Sets a specified point (x,y) to specified color c
  • [ ECB] PUT Stores graphics from source into start/end rectangle on the screen
  • [ CB] READ Read a piece of data
  • [ CB] REM Comments or remarks - FIXME Else uses this token too?
  • [DECB] RENAME Renames a disk file
  • [ ECB] RENUM Allows program line renumbering
  • [ CB] RESET Clear a semigraphics pixel
  • [ CB] RESTORE Start back at the first DATA item
  • [ CB] RETURN Return from a subroutine
  • [SECB] RGB Set palette to RGB defaults
  • [ CB] RIGHT$ Right part of a string
  • [ CB] RND Pseudo-random number generator
  • [DECB] RSET Right-justifies the data within the field you specify
  • [ CB] RUN Start the program running
  • [DECB] SAVE Saves filename on disk
  • [ ECB] SCREEN Selects either graphics (1) or text (0) screen and color-set (0 or 1)
  • [ CB] SET Draw a semigraphics pixel
  • [ CB] SGN Get the sign of a number positive or negative
  • [ CB] SIN Sine of an angle
  • [ CB] SKIPF Skip tape file
  • [ CB] SOUND Beep the speaker
  • [ ECB] SQR Returns the square root of a number
  • [ CB] STEP FOR loop control
  • [ CB] STOP Stop the program at the current line
  • [ CB] STR$ Convert a number to a string
  • [ ECB] STRING Returns a string of characters of specified length
  • [ CB] SUB Completion token for GOSUB
  • [ CB] - Subtraction operator
  • [ CB] TAB Tabulation
  • [ ECB] TAN Returns tangent of angle given in radians
  • [ CB] THEN Completion token for IF
  • [ ECB] TIMER Returns contents or allows setting of timer
  • [ CB] TO Token for TO in GO TO
  • [ ECB] TROFF Turns off program tracer
  • [ ECB] TRON Turns on program tracer
  • [DECB] UNLOAD Close any open files on the disk in the drive you specify
  • [ CB] USR User defined function
  • [ CB] VAL Convert a string to a number
  • [ ECB] VARPTR Returns address of pointer to the specified variable
  • [DECB] VERIFY Turns the verify function on or off
  • [SECB] WIDTH Set the text screen to a resolution in character width
  • [DECB] WRITE Writes the data to the buffer you specify