MediaWiki:Sitenotice:
2025-12-29: I have restored the wiki to a backup from the end of November. Starting in September 2025, accesses went form the 800MB-1.2GB range per month to 26GB in September, 42GB in October, and 70GB in November with most accesses originating from China. As soon as I realized what was causing all the access problems in November, I shut it down (it had reached 36GB by then) behind a password/login screen. The database had gotten corrupted, and I tried a restore from just before the spike in access but that didn't work. Thus, end of November. I still have the other daily backups so if there were any important additions in December, let me know and maybe they can be recovered. - Allen H.
BASIC:BASIC: Difference between revisions
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] | * [ 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 | ||
* [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] | * [ 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] [[ | * [ 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] | * [ 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] | * [ 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] | * [ 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 | * [ 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] | * [ 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
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