The Rich Extended BASIC is an extended and faster version of the TI Extended BASIC Verion 1.1 . Use the original manual as a 
basis and the following list as addition and modification. Often the keyword ALL is added and some routines accept now 
multiple sets of parameters.


CALL ALPHALOCK(numeric-variable)	Detects if the ALPHALOCK key is on or off. The numeric-variable returns 0 if off, and a non-zero value if on.
CALL BEEP	Produces the standard beep sound, equivalent to the sound generated by ACCEPT, INPUT, or the BEEP option in DISPLAY.
CALL BIAS(numeric-variable,string-variable[,...])	Adds 96 to (if numeric-variable is non-zero) or subtracts 96 from (if numeric-variable is 0) all characters in the string-variable. This controls the XB screen bias for characters read or written to the screen.
CALL CAT("#"[,...]), CALL CAT("DSK#."[,...]), CALL CAT("DSK.DISKNAME."[,...]), CALL CAT(string-variable[,...]), CALL CAT(number[,...]), CALL CAT(numeric-variable[,...]), CALL CAT(ASC II value[,...])	Catalogs the disk drive indicated by #, path name (up to 30 characters), or ASCII value (30-255) for RAM-DISKs. Can catalog up to 32 drives at once. The space bar pauses the listing.
CALL CHAR(character-code,pattern-identifier[,...]), CALL CHAR(ALL,pattern-identifier[,...])	Redefines character definitions. RXB allows characters 30 to 159 to be redefined (affecting sprites if 144-159 are used). Pattern-identifier string length increased from 64 to 240, allowing up to 15 characters to be defined in a single command. The ALL option can define all characters (30 to 127) as an empty string.
CALL CHARSET(ALL)	Resets characters from 30 to 159 and resets all colors to their original state (standard CHARSET resets 32-95 only). RXB's character loader is written in Assembly.
CALL CLEARPRINT	Clears columns 3 through 28 (the display/print area), leaving columns 1, 2, 31, and 32 untouched. This routine is written in Assembly.
CALL CLSALL	Finds and closes all open files.
CALL COINC(#sprite-number,#sprite-number, tolerance,numeric-variable[,...]), CALL COINC(#sprite-number,dot-row,dot-column, tolerance,numeric-variable[,...]), CALL COINC(ALL,numeric-variable[,...])	Detects collisions between sprites, or between a sprite and a screen location. RXB adds auto-repeat functionality using commas, allowing multiple collision checks per line, and the ALL option for scanning collisions among all sprites.
CALL COLLIDE(#sprite-number,#sprite-number, tolerance,dot-row,dot-column[,...]), CALL COLLIDE(#sprite-number,dot-row, dot-column,tolerance,dot-row, dot-column[,...])	Reports the exact dot-based location (dot-row, dot-column) of a collision between two sprites or how close a sprite got to a specified location, defined by tolerance.
CALL COLOR(#sprite-number,foreground-color[,...]), CALL COLOR(character-set,foreground-color, background-color[,...]), CALL COLOR(ALL,foreground-color,background-color[,...])	Sets the foreground and background colors for sprites or character sets (0-16). The ALL option changes character sets 0 to 14 to the same foreground and background colors.
CALL DIR("#"[,...]), CALL DIR("DSK#."[,...]), CALL DIR("DSK.DISKNAME."[,...]), CALL DIR(string-variable[,...]), CALL DIR(number[,...]), CALL DIR(numeric-variable[,...]), CALL DIR(ASC II value[,...])	Catalogs the disk drive, identical functionality to CAT, but can be used from program or command mode.
CALL DISTANCE(#sprite-number,#sprite-number, numeric-variable,[,...]), CALL DISTANCE(#sprite-number,dot-row, dot-column,numeric-variable[,...])	Calculates the distance (squared) between two sprites or between a sprite and a dot location, returning the result into a numeric-variable. RXB adds auto-repeat functionality via commas.
CALL EXE(cpu-address[,...]), CALL EXE(numeric-variable[,...])	Directly executes Assembly code at the specified cpu-address via a GPL XML >F0 BL @address (Branch and Link) call. This is faster than CALL LINK as it performs no checks.
CALL EXECUTE(cpu-address[,...]), CALL EXECUTE(numeric-variable[,...])	Directly executes Assembly code at the specified cpu-address via a BLWP (Branch with Load Workspace Pointer) call. The address must contain 4 bytes defining the workspace register address and the execution start address. This is faster than CALL LINK.
CALL FILES(number), CALL FILES(numeric-variable)	Manages the number of file buffers that can be open. RXB accepts values from 0 to 15 (unlike 1-9 in other XB versions) and automatically executes NEW after being called.
CALL GCHAR(row,column,numeric-variable[,...])	Returns the character graphic element at the specified screen row and column into a numeric-variable. RXB adds auto-repeat and is much faster than normal XB.
CALL GMOTION(#sprite-number,row-velocity, column-velocity[,...])	Returns the current row-velocity and column-velocity (from -128 to 127) of the specified sprite. If the sprite is undefined, velocities are set to zero.
CALL HCHAR(row,column,character-code), CALL HCHAR(row,column,character-code, repetition[,...])	Places a character-code horizontally on the screen at a specific row and column. RXB adds the repetition parameter for auto-repeat and is written in Assembly in ROM for speed.
CALL HEX(string-variable,numeric-variable[,...]), CALL HEX(numeric-variable,string-variable[,...])	Converts between Decimal (numeric variable, -32768 to 32767) and Hexadecimal (four-character string). Useful for setting addresses for routines like VDPSTACK or PRAM.
CALL HGET(row,column,length,string-variable[,...])	Retrieves length characters horizontally from the screen starting at row, column (1 to 255 characters max) and stores them in a string-variable. Wraps to the other side of the screen if the end is reached.
CALL HONK	Produces the same sound as the system error sound.
CALL HPUT(row,column,string[,...]), CALL HPUT(row,column,string-variable[,...]), CALL HPUT(row,column,number[,...]), CALL HPUT(row,column,numeric-variable[,...])	Puts text or numeric values horizontally onto the screen. Wraps to the other side if too long and does not scroll. Written in Assembly in ROM, making it faster than DISPLAY AT.
CALL INIT	Initializes the lower 8K RAM by loading support routines for assembly language programs. Fixed to load less unnecessary data compared to standard XB.
CALL INVERSE(character-code[,...]), CALL INVERSE(ALL[,...])	Finds the character definition and inverts all bytes, effectively swapping foreground and background colors. ALL inverts characters 30 to 143.
CALL IO(type,address[,...]), CALL IO(type,bits,cru-base,variable,variable[,...]), CALL IO(type,length,vdp-address[,...])	Provides access and control to chips via the GPL (Graphics Programming Language) command structure. Types 0 and 1 control sound lists from GROM/GRAM or VDP memory. Types 2 and 3 perform CRU (Control Register Unit) input/output, using cru-base (CRU address/2) and specifying the number of bits (1-16). Types 4, 5, and 6 control cassette functions (write, read, verify) directly.
CALL ISROFF(numeric-variable)	Turns off the Interrupt Service Routine (ISR) hook and saves the original ISR address into the numeric-variable.
CALL ISRON(numeric-variable)	Restarts the Interrupt Service Routine (ISR) using the address provided by the numeric-variable.
CALL JOYLOCATE(key-unit,x-return,y-return, row-index,column-index,#sprite,dot-row, dot-column), optional ,key-return-variable) and optional GOTO line-number	A fast, combined routine that uses joystick input (key-unit, x-return, y-return) to move a sprite to a dot-based location (dot-row, dot-column) and optionally checks for the fire button (or key Q) to jump to a line-number.
CALL JOYMOTION(key-unit,x-return,y-return, #sprite,row-index,column-index), optional ,key-return-variable) and optional GOTO line-number	A fast, combined routine that uses joystick input (key-unit, x-return, y-return) to set the motion velocity of a sprite using dot-based indices (row-index, column-index), and optionally checks for the fire button (or key Q) to jump to a line-number.
CALL JOYST(key-unit,x-return,y-return[,...])	Standard joystick input routine. RXB adds auto-repeat functionality.
CALL KEY(key-unit,return-variable, status-variable[,...]), CALL KEY(string,key-unit,return-variable, status-variable[,...]), CALL KEY(string-variable,key-unit,return-variable, status-variable[,...])	Reads key input. RXB adds auto-repeat and allows a specific string of accepted characters to lock out other keys, halting execution until one is pressed.
CALL LOAD(address,value[,...]), CALL LOAD("access-name"[,...])	Loads an assembly language object file or direct data (address and values) into memory. RXB removes the check for Memory Expansion, allowing pokes into memory regardless of its presence.
CALL MAGNIFY(magnification-factor[,...})	Sets the sprite magnification factor. RXB adds auto-repeat/comma separation for quick switching effects.
CALL MOTION(#sprite-number,row-velocity, column-velocity[,...]), CALL MOTION(ALL,row-velocity,column-velocity[,...]), CALL MOTION(STOP[,...]), CALL MOTION(GO[,...])	Controls sprite movement/velocity. RXB adds STOP (disables all sprite movement, freezing them), GO (enables motion), and ALL (affects all sprites).
CALL MOVES(type$,bytes,string-variable,string-variable[,...]), CALL MOVES(type$,bytes,from-address,to-address[,...]), CALL MOVES(type$,bytes,from-address,string-variable[,...]), CALL MOVES(type$,bytes,string-variable,to-address[,...]), CALL MOVES(string-variable,number,string-variable,string-variable[,...])	Copies blocks of memory (bytes max 255 if using strings) between different memory types (RAM, VDP, GROM, GRAM, ROM) using type identifiers ($=String, V=VDP, R=RAM, G=GRAM/GROM). Addresses range from -32768 to 32767. This is a converted GPL command providing total control over memory.
CALL NEW	Resets XB memory, clears variables, closes files, and erases the program. Can be called from program mode.
CALL ONKEY(string,key-unit,return-variable, status-variable) GOTO line-number[,...], CALL ONKEY(string-variable,key-unit, return-variable,status-variable) GOTO line-number[,...]	Compares a character typed against the input string. If a match is found, program execution branches immediately to the corresponding GOTO line-number.
CALL PATTERN(#sprite-number,character-value[,...])	Assigns a character definition (character-value, 30-159) as the pattern for a specified sprite.
CALL PEEKG(address,numeric-variable-list[,...])	Reads data from GROM or GRAM into specified numeric variables. Addresses above 32767 must be converted to negative numbers.
CALL PEEKV(address,numeric-variable-list[,...])	Reads data from VDP memory into specified numeric variables. When reading screen memory, 96 must be subtracted from the value to correct the screen offset.
CALL PLOAD(memory-boundry,"access-name"), CALL PLOAD(contant,string-variable)	Loads 4K program image files created by PSAVE into any 4K memory boundary (2, 3, A, B, C, D, E, F, corresponding to >2000 to >F000 hex). It is a fast loader and works without CALL INIT. Requires 4K of VDP memory free.
CALL POKEG(address,numeric-variable-list[,...])	Writes data from numeric variables to GRAM at the specified address.
CALL POKER(vdp-number,numeric-variable[,...]), CALL POKER(numeric-variable,number[,...])	Writes a byte value (0-255) to a VDP register. Valid register numbers are 0 to 63, increased to support the F18 register set.
CALL POKEV(address,numeric-variable-list[,...])	Writes data to VDP memory at the specified address. When writing to screen memory, 96 must be added to the character code to correct the screen offset.
CALL PRAM(start-RAM-address,end-RAM-address)	Changes the location of the Start and End of XB RAM program space within the upper 24K of RAM. Valid locations range from >A000 to >FFFF, allowing control over the size of XB program memory.
CALL PSAVE(memory-boundry,"access-name"), CALL PSAVE(constand,string-variable)	Saves 4K memory segments as program image files (for PLOAD) from any 4K boundary (2, 3, A, B, C, D, E, F). Works without CALL INIT. Requires 4K of VDP memory free.
CALL QUITOFF	Disables the QUIT key.
CALL QUITON	Enables the QUIT key.
CALL RMOTION(#sprite-number[,...]), CALL RMOTION(ALL[,...])	Reverses the direction (row-velocity and column-velocity) of the specified sprite(s). Velocities of 0 and -128 are ignored. ALL reverses all sprites simultaneously.
CALL ROLLDOWN, CALL ROLLDOWN(repetition[,...])	Scrolls the entire screen down. repetition specifies how many times the scroll is repeated. This routine is written in Assembly.
CALL ROLLLEFT, CALL ROLLLEFT(repetition[,...])	Scrolls the entire screen to the left. repetition specifies how many times the scroll is repeated. This routine is written in Assembly.
CALL ROLLRIGHT, CALL ROLLRIGHT(repetition,[,...])	Scrolls the entire screen to the right. repetition specifies how many times the scroll is repeated. This routine is written in Assembly.
CALL ROLLUP, CALL ROLLUP(repetition[,...])	Scrolls the entire screen up. repetition specifies how many times the scroll is repeated. This routine is written in Assembly.
CALL SAMS(address-boundry,page-number[,...]), CALL SAMS(address-boundry,numeric-variable[,...]), CALL SAMS(command [,...])	Controls the SAMS memory card by switching 4K pages (page-number, 0 to 16383 for 64 Meg SAMS) at specific address boundaries (2, 3, A-F). command options include "ON" (turn on mapper read/write), "OFF" (turn off read/write), "MAP" (turn on map mode for changes), or "PASS" (default mode, acts like a normal 32K card).
CALL SCREEN(color-code[,...]), CALL SCREEN("OFF"[,...]), CALL SCREEN("ON"[,...])	Changes the screen color (color-code). RXB adds the ability to turn the screen display "OFF" (allowing invisible drawing) and "ON".
CALL SCROLLDOWN, CALL SCROLLDOWN(repetition,string[,...])	Scrolls the screen down repeatedly. Optionally displays a string (up to 32 horizontal characters). This routine is written in Assembly.
CALL SCROLLLEFT, CALL SCROLLLEFT(repetition,string[,...])	Scrolls the screen left repeatedly. Optionally displays a string (up to 24 vertical characters). This routine is written in Assembly.
CALL SCROLLRIGHT, CALL SCROLLRIGHT(repetition,string[,...])	Scrolls the screen right repeatedly. Optionally displays a string (up to 24 vertical characters). This routine is written in Assembly.
CALL SCROLLUP, CALL SCROLLUP(repetition,string[,...])	Scrolls the screen up repeatedly. Optionally displays a string (up to 32 horizontal characters). This routine is written in Assembly.
CALL SIZE	Displays detailed memory usage, including VDP, RAM, and SAMS size/addresses, Stack Free, Program Free, and Assembly Free memory.
CALL SWAPCHAR(character-code,character-code[,...])	Switches (swaps) the character definitions of the first character-code (30 to 159) with the second character-code.
CALL SWAPCOLOR(character-set,character-set[,...]), CALL SWAPCOLOR(#sprite-number,#sprite-number[,...])	Swaps the foreground and background colors of two specified character sets (0-16) OR swaps the color definitions of two specified sprites.
CALL USER(quoted-string), CALL USER(string-variable)	Overrides the normal XB editor to perform Batch Processing. Reads a DV80 file (specified by the string) into the key scan routine as if the user were typing in the commands (editing, merging, saving, running XB programs).
CALL VCHAR(row,column,character-code), CALL VCHAR(row,column,character-code, repetition[,...])	Places a character-code vertically on the screen. RXB adds the repetition parameter for auto-repeat and is written in Assembly in ROM for speed.
CALL VDPSTACK(numeric-variable)	Allows changing the location of the VDP STACK in VDP RAM. The numeric-variable is the new decimal location (e.g., 6176 or 4096).
CALL VERSION(numeric-variable)	Returns the current RXB version number to the specified numeric-variable.
CALL VGET(row,column,length,string-variable[,...])	Retrieves length characters vertically from the screen starting at row, column (1 to 255 characters max) and stores them in a string-variable. Wraps to the top of the screen if the bottom is reached.
CALL VPUT(row,column,string[,...]), CALL VPUT(row,column,string-variable[,...])	Puts text or numeric values vertically onto the screen. Wraps to the top if too long and does not scroll. Written in Assembly in ROM, making it faster than standard XB display commands.
CALL XB("access-name"), CALL XB(string-variable), CALL XB("access-name",file-number), CALL XB(string-variable,numeric-variable)	Functions like the RUN command for XB/BASIC programs but accepts string variables/quoted strings. It sets the number of files open (file-number), executes NEW, and then runs the specified program.
