
   The TRS-80 Model 100 Quick Reference Guide
   
   It's All here- spelling corrections & Tables are coming soon.... 1/96 ACD
   
                                                         Table of Contents
                                                                 
     * How To Use this Reference Gulde
     * Using the Model 100
     * Power Sources Turning the Power ON/OFF
     * Selecting Menu Options
     * Text Editor (TEXT) Quick Reference
     * Scheduler (SCHEDL) Quick Reference
     * Address (ADDRSS) Quick Reference
     * Telecommunications (TELCOM) Quick Reference
     * BASIC Reference
     * Keywords
     * Keyboard Input
     * RAM Files
     * Cassette Recorder (CAS)
     * RS-232C Communications
     * Modem Communications
     * Sound Generator
     * ASCII Code Characters
     * BASIC Error Codes
       
     _____________________________________________________________________________________________________________________
                                                                
                                                        Using the Model 100
                                                                 
Power Sources

   The Model 100 can operate on 4 size AA Alkaline Manganese batteries.
   
   The Model 100 can also operate on ordinary household current (120VAC) by attaching an AC adapter (Catalog Number 26-3804).
   
Turning the Model 100 On

   To power-up the Model 100, simply set the Power Switch (located on the right side of the Computer) to ON. On initial
   Power-Up, the Main Menu appears on the Display.
   
Setting the Date and Time

   The current day, time, and date are listed on the top of the Menu. To change these, enter the BASIC Interpreter Program,
   and type (for example):

        DAY$= "Mon" ENTER
        DATE$ = ''03/18/83 '' ENTER
        TIME$= "13:45:25" ENTER

Selecting Menu Options

   To access a program or file in the Model 100's memory (from the Menu level), use the arrow keys to position the Cursor on
   top of the appropriate file. If the file is a data file, the Model 100 enters the Text Editor. If the file is a BASIC
   program, the Model 100 enters BASIC and runs the program. If the file is a machine-language program (such as the BASIC
   Intsrpreter, BASIC, or the Text Editor, TEXT) the Model 100 runs the program.
   
Turning the Model 100 Off

   To turn off the Model 100, simply set the Power Switch to OFF. RAM files currently in RAM are preserved for your access
   when you turn the Model 100 back on. (To insure that yourfiles are preserved, turn the power off only from the Menu
   display or, if in an Application Program or file, only when the cursor is blinking.) The Model 100 features a convenient
   Auto-Power Off function. The Computer will turn itself off automatically after 10 minutes of inactivity (no keyboard input
   or program running). To turn the Computer back on, move the ON/OFF switch to OFF, then back to ON.
   
     _____________________________________________________________________________________________________________________
                                                                
                                                Text Editor (TEXT) Quick Reference
                                                                 
Entering the Text Editor program

   To use the Text Editor, you may either position the Menu Cursor on top of the word TEXT or on top of a text file itself
   (text files use the extension DO). Then Press ENTER
   
Text Editor Commands

   Within the Text Editor, the following keys or key combinations perform certain functions:
   
  Cursor Control Keys
  
   -> Moves the Cursor one position to the right.
   
   <- Moves the Cursor one position to the left.
   
   [[arrowup]] Moves the Cursor one position up.
   
   [[arrowdown]] Moves the Cursor one position down.
   
   "-> Moves the Cursor to the right end of the line.
   
   "<- Moves the Cursor to the left end of the line.
   
   "[[arrowup]] Moves the Cursor to the top of the file.
   
   "[[arrowdown]] Moves the Cursor to the bottom of the file.
   
   [[lozenge]]-> Moves the Cursor to the beginning of the word to immediate right.
   
   [[lozenge]]<- Moves the Cursor to the beginning of the word to immediate left.
   
   [[lozenge]][[arrowup]] Moves the Cursor to the top of the screen above the current position.
   
   [[lozenge]][[arrowdown]] Moves the Cursor to the bottom of the screen beiow the current position.
   
  Text Manipulation Keys
  
   DEL Delete the character at the current Cursor position.
   
   BKSP Delete the character to the left of the current Cursor position.
   
   F1 Searches the file for the occurrence of a particular character string. Text prompts you for the match string.
   
   F2 Reads an ASCll data file into RAM. Text
   
   Load prompts you for the filename.
   
   F3 Writes a data file. Text prompts you for the filename.
   
   Save
   
   F5 Duplicates the selected text into the paste buffer.
   
   Copy
   
   F6 Moves the selected text from the Screen into the
   
   Cut Paste buffer.
   
   F7 Starts definitions Of text for duplication or deletion.
   
   Select
   
   F8 Exit the Text Editor and return to the Menu.
   
   Menu
   
   PASTE inserts the contents of the paste buffer, starting at the current cursor location.
   
   LABEL Prints the definitions of the function keys on the bottom line of the display.
   
   PRINT Prints the contents of the Screen onto the printer.
   
   [[lozenge]]PRINT Prints the contents of the file onto the printer. Text prompts you for the width of the printer.
   
   TAB Inserts an eight-character wide tab.
   
   "A Moves the Cursor to the beginning of the word to the left from current position.
   
   "B Moves the Cursor directly to the bottom of the Screen from its current position.
   
   "C Cancels the Select, Save, Load, Find, and Print functions.
   
   "D Moves the Cursor one character to the rig ht.
   
   "E Moves the Cursor up one line from its current place.
   
   "F Moves the Cursor to the beginning of the next word.
   
   "G Saves a data file to cassette tape.
   
   "H Deletes previous character.
   
   "I Inserts an eight-character wide tab.
   
   "L Enter Select Text mode.
   
   "M Inserts a carriage return and line feed.
   
   "N Find a Text String.
   
   "O Copy a Text String.
   
   "P Saves next keystroke as a non-printing control character (to store printer commands, etc.)
   
   "Q Moves the Cursor to the left end of the current line.
   
   "R Moves the Cursor to the right end of the current line.
   
   "S Moves the Cursor one character to the left.
   
   "T Moves the Cursor to the top of the Screen directly above its current position.
   
   "U Moves Selected string from Screen to paste buffer.
   
   "V Loads a data file from cassette tape.
   
   "W Moves the Cursor to the beginning of the file.
   
   "X Moves the Cursor down one line.
   
   "Y Prints the entire file.
   
   "Z Moves the Cursor to the end of the file.
   
     _____________________________________________________________________________________________________________________
                                                                
                                                Scheduler (SCHEDL) Quick Reference
                                                                 
Using the Scheduler Program

   The Scheduler Program uses a data file called NOTE.DO. To insert data into the NOTE.DO file, position the Menu Cursor on
   top of the filename NOTE.DO (if NOTE.DO already exists) or else position the Menu Cursor on top of TEXT and press *. In
   either case, you'll have full use of the Text Editor.
   
   To search for an item once you have created NOTE.DO, position the Menu Cursor on top of the word SCHEDL and press ENTER.
   
Special Commands and Keys Within the Scheduler Program

   F1 Find string 
   
   Finds string in the NOTE.DO file. If string occurs more than once in the file, the SCHEDL displays a screenful and prompts
   you for "More" or "Quit." Pressing M or F3 retrieves the next screenful, pressing Q or F4 ends the Find process.
   
   F5 Lfnd string
   
   Works exactly as Find (Q) with the exception that instead of displaying the results on the Screen, SCHEDL sends the data
   to the printer.
   
   F8 Menu
   
   Exits the SCHEDL Program and returns to the Menu.
   
     _____________________________________________________________________________________________________________________
                                                                
                                            Address Organizer (ADDRSS) Quick Reference
                                                                 
Using the Address Program

   The Address Program uses a data file called ADRS.DO to store address data. To insert addresses into the ADRS.DO file,
   position the Menu Cursor on top of the filename ADRS.DO (if it already exists) or else position the Menu Cursor on top of
   TEXT and press ENTER In either case, you'll have full use of the Text Editor.
   
   To search for an item once you have created ADRS.DO, position the Menu Cursor on top of the word ADDRSS and press ENTER .
   
Special Commands and Keys in the ADDRSS Program

   F1 Find string
   
   Finds the string in the ADRS.DO file. If string occurs more than once in the file, ADDRSS displays a screenful and prompts
   you for "More" or "Quit." Pressing M or F3 retrieves the next screenful, pressing Q or F4 ends the Find Process.
   
   F5 Lfnd string
   
   Works exactly as Find with the exception that instead of displaying the results on the Screen, ADDRSS sends the data to
   the printer.
   
   F8 Menu
   
   Exits ADDRSS and returns to the Menu.
   
     _____________________________________________________________________________________________________________________
                                                                
                                            Telecommunications (TELCOM) Quick Reference
                                                                 
Using the Telecommunications Program

   To start the Telecommunications Program, position the Menu Cursor over the word TELCOM and press ENTER.
   
Special Commands and Keys in TELCOM

   When the Program displays the message TELCOM :, you may issue any of the following commands:
     * Find string (F1)
     * Finds a string from ADRS.DO. Within this mode:
     * CALL (F2)
     * calls up the currently found number
       CALL (F3)
     * finds the next matching string
       QUIT (F4)
     * cancels the search.
       
   Call number (F2) Calls the phone number. If a number was just found with Q, then TELCOM calls that number.
   
   Stat config (F3) Change communications configuration to the given,config. If no configuration is given, then TELCOM
   displays,the current configuration.
   
   Term (F4) Puts TELCOM into the Terminal Mode. Within Terminal Mode:
   
   F1 Displays the previous page received.
   F2 Transfer incoming data into a RAM file.
   F3 Transmit a file to the host system.
   F4 Toggles between full and half duplex.
   F5 Echoes incoming data to the printer.
   F8 Exits Terminal Mode and returns to TELCOM.
   
   Menu (F8) Exits TELCOM and returns to the Menu.
   
Communications Configuration

   For RS-232C communications, the configuration description consists of a five character string of the format rwpbs, where:
   
   r Baud Rate. This is a number from 1 to 9, where 1 = 75; 2 = 110 ; 3 = 300 ; 4 = 600 ; 5 = 1200 ; 6 = 2400 ; 7 = 4800 ; 8
   = 9600 ; 9 = 19200. M may be used. M sets built-in modem to 300 baud.
   
   w Word Length. This is a number from 6 to 8, where 6 = 6 bits; 7 = 7 bits; 8 = 8 bits.
   
   p Parity. Either E,O,N, or I where E = Even ; O = Odd ; N = None; I= Ignore.
   
   b Stop Bits. Either 1 or 2, where 1 = 1 stop bit; 2 = 2 stop bits.
   
   s XON/XOFF Status. Either E or D, where E = Enable; D = Disable.
   
   Modem communication configuration consists of a five character string of the pattern wpbs, as defined for RS-232C
   communications. (TELCOM automatically sets the baud rate to 300 baud.)
   
   Examples
   
   88E1E 9600 baud, 8 bit words, even parity, 1 stop bit, XON/XOFF enable. (Uses RS-232C port.) '
   
   M7N2D 300 baud, 7 bit words, no parity check, 2 stop bits, XON/ XOFF disabled. (Uses built-in modem.)
   
   Auto Log-on Commands
   
   You may store auto log-on information, along with phone numbers, in the ADRS.DO File. When you call the host (using
   Auto-dial), any characters enclosed within < and > are sent to the host as the Log-on Sequence. You may include the
   following abbreviations within the Log-on Sequence:
   
   ?c Wait for c to be sent from the host (c is any character)
   
   = Pause for 2.0 seconds
   
   !c Insure that c is interpreted as a character, not a command (c is any character).
   
   ^c Sends control character equivalent to " c (c is any character from A-Z)
   
   Example:
   
   <=^C?U9857,756^M?PMICRO!?^M>
   
   Pauses for 2.0 seconds, sends a BREAK ( ^C) the computer then waits for the host to transmit a "U". The computer then
   transmits 9857,756, followed by a carriage return (^M). It again waits for the host to transmit a "P", and then transmits
   MICRO? followed by carriage return. (the !) insures that TELCOM doesn't interpret the question mark as a "wait"
   
   command.)
   
   Any phone number to be auto-dialed must be preceded by a colon. A second colon terminates the auto-sequence.
   
   CIS:555-1234:
   
     _____________________________________________________________________________________________________________________
                                                                
                                                   The BASIC Interpreter (BASIC)
                                                                 
Starting the BASIC Interpreter Program

   To use the BASIC Interpreter, you may either position the Menu Cursor on top of the word BASIC, or on top of a BASIC
   Program filename. Then press ENTER.
   
Special Keys in the Command Mode of BASIC

   LABEL Prints the definitions of the function keys
   PRINT The equivalent of typing in "LCOPY" ENTER
   SHF-PRINT The equivalent of typing in "LLIST" ENTER
   F1 The equivalent of typing in Files Enter
   F2 The equivalent of typing in Load "
   F3 The equivalent of typing in Save "
   F4 The equivalent of typing in Run ENTER
   F5 The equivalent of typing in List ENTER
   F8 The equivalent of typing in Menu ENTER
   
   You may redefine any of the function keys within BASIC. See KEY under Keyboard Input for details.
   
Special Keys in the Execute Mode of BASIC

   BREAK Stops execution of the current command. You can restart many commands where they left off by typing ENTER
   
   PAUSE Temporarily stops execution of the current command. To continue, simply press PAUSE again. This is particularly
   helpful when the Screen is changing rapidly, for example, on a LIST.
   
  Numeric and String Operators
  
   + Addition or Unary Plus (Numeric) or Concatenation (String)
   
   - Subtraction or Unary Minus
   
   * Multiplication
   
   / Division
   
   Integer Division
   
   \ Exponentiation
   
   MOD Modulus Arithmetic
   
  Relational Operators
  
   < Less than
   
   > Greater than
   
   = Equal
   
   < = or = < Less than or equal to
   
   > = or = > Greater than or equal to
   
   < > or > < Not equal to
   
  Logical Operators
  
   AND Logical AND operation
   
   0R Logical OR operation
   
   XOR Exclusive OR operation
   
   EQV Equivalence operation
   
   IMP Implication operation
   
   NOT Logical NOT operation
   
  Operator Hierarchy
  
   Parentheses
   
   ^
   
   +,- (unary plus and minus)
   
   MOD
   
   +,-
   
   <,>,=,=>,<=,><
   
   NOT
   
   AND
   
   OR
   
   XOR
   
   EQV
   
   IMP
   
   (Note : Within an expression, operators on the same level are evaluated from left to right, with the exception of
   parentheses, which are evaluated from inside to outside.)
   
Data Ranges

   Integers: -32768 to 32767
   
   Single Precision : +/- 10-64 to +/- 1062 (6 Significant Digits)
   
   Double Precision : +/-10-64 to +/-1062 (14 Significant Digits)
   
   Strings: 0 to 255 characters.
   
   (Note: Unless explicitly defined, the Model 100 considers all constants and variables, as well as numeric functions, as
   double precision.)
   
  Declaration Tags
  
   Integer
   
   Single Precision
   
   Double Precision
   
   String
   
     _____________________________________________________________________________________________________________________
                                                                
                                             BASIC Keywords (except for input/output)
                                                                 
   ABS(numeric expression) Returns the absolute value of numeric expression.
   A!=ABS(BAL)
   B=ABS(-l 00)
   
   ASC(string expression) Retums the ASCII code for the first character of string expression.
   A% = ASC(MN$)
   PRINT ASC(MN$)
   
   ATN(numeric expression) Returns the arctangent (in radians) of numeric expression.
   AN = ATN(TH)
   PC = ATN(3.14)
   
   CALL address, expression1, expression2 Calls a machine level subroutine beginning at address. Upon entry to the
   subroutine, the A register contains the value of expression1 and the HL register contains the value of expression2.
   CALL 60000, IO,VARPTR(A%)
   
   CDBL(numeric expression) Converts the value of numeric expression to a double-precision number.
   A# = CDBL(A%)
   
   CHR$(numeric expression) Returns the ASCll character for the value of numeric expression.
   PRINTCHR$(65)
   PRINT "He said "$CHR$(34)i"Hello"$CHR$(34)
   
   CONT(numeric expression) Returns the largest integer not greater than the numeric expression.
   A% = CONT(45.67)
   B = CONT(B#)/CONT(A!)
   
   CLEAR string space, high memory Clears the values in all numeric and string variables, closes all open files, allocates
   string space bytes for string storage, and sets the end of BASIC memory to high memory.
   CLEAR100,50000
   CLEAR 500
   CLEAR O,MAXRAM
   
   CONT Resumes execution of a program after you have pressed BREAK or else after BASIC has encountered a STOP command in the
   program.
   CONT
   
   COS(numeric expression) Returns the cosine of the radian angle given by numeric expression.
   Y = COS(60'O.Ol 745329)
   
   CSNG(numeric expression) Returns the single-precision form of numeric expression.
   A! = CSNG(0.66666666666)
   
   DATA constant list Defines a set of Constants (numeric and/or string) to be accessed by a READ command.
   DATA 7 0,25.50,7 5,"Probabilities","Total"
   
   DATE$ Keeps track of the current date, in string form. You may. access it like any string variable.
   PRINT DATE$
   DATE$ = "11102182'
   
   DAY$ Keeps track of the current day of the week, in string form. You may access DAY$ like any string variable.
   PRINT DAY$
   DAY$= "Fri"
   
   DEFDBL letter list Defines all of the variables which begin with the letters in letter list to be double precision
   variables. Letter list consists of individual letters and/or letter ranges of the form letterl -letter2.
   100 DEFDBL D, X-Z
   
   DEFINT letter list Defines all of the variables which begin with the letters in letterlist to be integer variables.
   letterlist consists of individual letters and/or letter ranges of the form letterl -letter2.
   DEFINT D, X-Z
   
   DEFSNG letter list Def ines all of the variables which begin with the letters in letter list to be single precision
   variables. letter list consists of individual letters and/or letter ranges of the form letterl -letter2.
   DEFSNG D, X-Z
   
   DEFSTR letter list Defines all of the variables which begin with the letters in letter list to be string variables.
   letterlist consists of individual letters and/or letter ranges of the fomr letterl -letter2.
   DEFSTR D, X-Z
   
   DIM variable name(dimension) List Defines variable name as an array with the given dimensions. dimensions is a list of one
   or more numeric expressions, defining the "length", "width", and so on for the array.
   DIMA$(l0), BAL$(l0,l0)
   
   EDIT line number range Enter text editing mode using the given lines.
   EDIT 100-1000
   EDIT
   EDIT-200
   
   END Terminates execution of the BASIC program.
   END
   
   ERL Returns the line number of the last error.
   IF ERL = 140 THEN RESUME 150
   
   ERR Returns the error code number of the last error.
   IF ERR = 18 THEN RESUME
   
   ERROR numeric expression Simulates the error specified by
   numeric expression.
   ERROR 35
   ERROR ERR
   
   EXP(numeric expression) Returns the exponential (antilog) of numeric expression.
   PRINT EXP(14)
   
   FIX(numeric expression) Returns the whole number portion of numeric expression.
   lOA% = FIX(A2#)
   
   FOR counter variable = initial value TO final value STEP increment... NEXT counter variable Executes the commands between
   he FOR command and the NEXT command repetitively, varying counter variable from initial value to final value, adding
   increment to it each time BASIC ends the loop.
   FOR 1 = 1 TO 100 STEP 4:(...):NEXT1
   
   FRE(expression) Returns the current amount of unused numeric memory in bytes when expression is numeric and the current
   total amount of unused string space when expression is string-type.
   ?FRE(O)
   ?FRE("")
   
   GOSUB line number Transfers program control to the subroutine beginning at line number.
   GOSUB 1000
   
   GOTO line number Branches program control to the specified line number.
   GOTO 1000
   
   HIMEM Returns the top address of memory available to BASIC.
   ?HIMEM
   
   IF relational or logical expression THEN command(s)1 ELSE command(s)2 Tests the logical "tNth" of relational or logical
   expression. If the expression is ''true", then BAS IC executes command(s)1. If the expression is "false", BASIC executes
   command(s)2.
   IF A>B THEN GOTO 100 ELSE INPUT A,B
   
   INP (port number) Returns a byte from the specified CPU port number.
   A% = INP(5)
   
   INSTR (start position, search string, match string) Searches search string for the first occu rrence of match string,
   beginning at start position. If the string is found, INSTR returns the position in the string where it occu rs. If the
   string isn't fou nd, then INSTR returns a Zero.
   PRINT INSTR(l."dimenthylsulfate"."sulfate")
   
   INT(numeric expression) Returns the whole number representation of numeric expression not greater than numeric expression.
   A# = INT(_274.995)
   
   LEFT$(string expression,length) Returns the first length characters of string expression.
   DAY$= LEFT$("THURSDAY",3)
   
   LEN(strings expression) Returns the number of characters in string expression.
   A% = LEN("February")
   
   LET variable = expression Assign value of expression to variable must be of the same data type as expression (that is,
   numeric or string). The word LET is optional.
   LETA$= "The"
   A$= "The"
   
   LOG (numeric expression) Returns the natural logarithm (base "e") of numeric expression. numeric expression must be
   greater than zero.
   A = LOG(lO)
   
   MENU Exits BASIC and returns you to the Model 100 Menu.
   MENU
   
   MID$(string expression, position ,length) Returns length characters from string expression starting at position.
   70 HASH$ = MID$(A$,2,2)
   
   MID$(string expression l,pagition,lenSth) = string expresslon2 Replaces characters of string expression1 starting
   atposition with string expression2. length and position are numeric expressions. length is optional and if present is
   ignored.
   MID$(A$,5) = "FF"
   
   NEW Erases the current program, sets numeric variables equal to zero, and sets string variables equal to null (" ").
   NEW
   
   ON ERROR GOTO line number Defines an error trapping interrupt.
   ON ERROR GOTO 1000
   
   ON TIME$ = "Time" GOSUB line number Defines an interrupt for a clock condition. time is a string expression in the form
   HH:MM:SS.
   ON TIME$ = "7:4:20:00" GOSUB 1000
   
   ON numeric expression GOTO line number list Evaluates numeric expression to an integer, and then branches to the nth line
   number in the list.
   ON X GOTO100,200,300
   
   ON numeric expression GOSUB line number list Evaluates numeric expression to an integer, and then calls the subroutine
   beginning at the nth line number in the list.
   ON X GOSUB100,200,300
   
   OUT port number, byte value Outputs byte value to the CPU port number.
   OUT 55,100
   
   PEEK (memory address) Returns the byte value stored at memory address.
   A% = PEEK(76999)
   
   POKE memory address, byte value Loads memory address with byte value.
   POKE 62000.104
   
   POWER numeric expression Sets the automatic power down period. numeric expression has a range of 1O to 255. The Model 100
   will automatically turn off after a period of numeric expression times 0.1 minutes if you are neither running a program
   nor entering commands.
   POWER 10
   
   POWER CONT Disables the automatic power down feature of the Model 100.
   POWERCONT
   
   POWER OFF, RESUME Turns off the power to the Model 100 immediately. If RESUME is present, upon turning the power back on,
   the Model 100 resumes execution of the program at the statement following the POWER OFF. RESUME, if not present, then the
   Model 100 returns to the Menu upon power up.
   IF TIME$>"11:30:00" THEN POWER OFF
   
   READ variable list Reads an appropriate number of values from a DATA statement and stores the values in the variables of
   variable list.
   120 READ A,B%,C$
   
   REM comment statement Signifies to the BASIC interpreter that the remainder of the line as comment. You may abbreviate REM
   with an apostrophe.
   90 REM This program finds the standard deviation
   100 AVE=SUM/rr 'Calculate the average
   
   RESTORE line number Resets the DATA statement pointer to the first item in the DATA statement on line number so that a
   READ command can access the same values more than once.
   600 RESTORE l00
   
   RESUME line number Ends an error handling routine by branching to line number where BASIC begins normal execution. If line
   number is null or 0, then BASIC returns to the line which caused the error.
   101O RESUME
   
   RETURN Ends a subroutine by branching back to the command immediately following the corresponding GOSUB.
   RETURN
   
   RIGHT$(string expression, count) Returns the rightmost count characters of string expression.
   10 SEC$ = RIGHT$(TIME$,2)
   
   RND (numeric expression) Returns a pseudo-random number between O and 1. If numeric expression is non-zero, then RND
   returns a new random number. If numeric expression equals 0, then RND returns the last random number generated.
   PRINT RND(l )
   PRINT RND(O)
   
   RUN line number Clears all variables and executes the current program starting at line number. line number is optional if
   omitted, BASIC begins execution at the first line of the program.
   RUN 100
   RUN
   
   SGN(numeric expression) Returns a-l for negative O for zero, and 1 for positive values of numeric expression.
   rrL = 70 " SGN(CR)
   
   SIN (numeric expression) Returns the trigonometric sine of numeric expression. The numeric expression must be in radians.
   Y = SIN(l.5)
   
   SPACE$(length) Returns a string of length spaces.
   B$= SPACE$(20) + A$
   
   SQR(numeric expression) Returns the square root of numeric expression.
   C2 = SQR(A2 + B2)
   
   STOP Stops execution of a BASIC program at some point other than the physical end.
   STOP
   
   STR$(numeric expression) Converts numeric expression to its string representation.
   B$="$" + STR$(BAL) + "00"
   
   STRING$(length, character) Returns a string of the given length composed of character. length may range from 0 to 255.
   character is either a string expression or numeric expression - if it is a string expression, only the first character of
   the string is duplicated. If it is a numeric expression, it must evaluate to a number between 0 and 255.
   PRINT STRING$(20,""") PRINT STRING$(40,239)
   
   TAN (numeric expression) Returns the tangent of numeric expression. numeric expression must be in radians.
   SLOPE = TAN(THETA)
   
   TIME$ Keeps track of the current time, in the form of a string variable. You may access it like any string variable.
   PRINT TIME$
   TIME$= "10:00:00"
   
   TIME ON or OFF or STOP Enables or disables ON TIME$ interrupting.
   TIME$ ON
   
   VAL (string expression) Converts string expression to a numeric representation of the string. If string expression
   contains non-numeric characters, VAL returns only the value of the leading number, if any.
   A = VAL(A$)
   
   VARPTR (variable name) Returns the memory address of variable name.
   LINK(1) = VARPTR(B$)
     _____________________________________________________________________________________________________________________
                                                                
Keyboard Input

  Keyboard Input Commands and Functions
  
   INKEY$ Returns the string value of the key currently pressed, if any. If no key is pressed, the function returns a null
   character (" "). In either case, BASIC doesn'i wait for keyboard input, but goes to the next statement.
   A$- INKEV$
   
   INPUT "prompt":-variable list Prints prompt on the screen, then stops execution of your program until you enter data from
   the keyboard.
   INPUT "X,Y Values"iX,Y
   
   INPUT$(numeric expression) Retu ms a stri ng of numeric expression characters from the keyboard. IN PUT$ accepts all keys
   as input except (BREAIO and doesn't echo (print on the screen) your input.
   A$= INPUT$(5)
   
   KEY function key number, string expression (in BASIC only) Defines function key number as string expression.
   KEY6,"?TIME$" .f CHR$(13)
   
   KEY LIST Lists the current definitions for the function keys on the screen.
   KEY LIST
   
   KEY (function key number) ON or OFF or STOP Enables or disables the function key interrupt.
   KEY (2) ON
   KEY ON
   KEY (4) OFF
   
   LINE INPUT "prompt"; string variable Prints prompt on the screen, then stops execution of your program until you enter a
   string from the keyboard, then assigns that string to string variable.
   LINE INPUT "Enter Name and Address:"iNA$
   
   ON KEY GOSUB line number Ikt Defines interrupts for the function keys. Upon pressing the nth function key, BASIC jumps to
   the nth line number in line number list.
   ON KEY GOSUB 1000,2000,3000,,5000
     _____________________________________________________________________________________________________________________
                                                                
The Screen (LCD)

   The LCD screen consists of 15,360 (240 x 64) individual dots, or "pixels" which you may turn on ("PSET") orturn off
   ("PRESET") from BASIC. These pixels can also be grouped into 320 (40 x 8) positions at which you can display any of the
   Model 100's printable characters.
   
  The Screen Commands and Functions
  
   CLS Turns off all of the LCD pixels on the screen and moves the cursor to the upper left corner of the screen .
   CLS
   
   CLOSE file number list Closes the files OPEN'ed as file number.
   CLOSE 1,2,3
   CLOSE
   
   CSRLIN Returns the vertical position (line number) of the cursor, where 0 is the top line and 7 is the bottom iine.
   A% = CSRLIN
   
   LCOPY Prints the text on the screen onto the printer. LCOPY ignores non- text data.
   LCOPY
   
   LINE (x1 y1) - (x2 y2) color switch ,BF Draws a line from coordinates x1,y1 to x2,y2. If color switch is an odd number,
   BASIC sets the points of the line, and if color switch is even then BASIC resets the points on the line. B tells BASIC to
   draw a box with corners at (x1, y1) and (x2,y2). BF tells BASIC to fill in the box with color switch. Both B and BF
   require that you specify color switch.
   LINE-(30,30)
   LINE (20,20)- (50,63),0
   LINE(0,0)-(239,63),1,B
   LINE(0,0)-(239,63),1,BF
   
   LIST line number range Lists the line number range of the current program on the screen.
   LIST 100-300
   LIST
   
   MAXFILES Stores the current maximum number of files. You may access MAXFILES like any numeric variable.
   10MAXFILES = 5
   PRINTMAXFILES
   
   OPEN "LCD:" FOR OUTPUT AS file number Allocates a buffer for a screen tHe and assigns it the given file number.
   OPEN "LCD:" FOR OUTPUT AS 1
   
   POS(dummy numeric expression) Retums the current cursor position.
   R% = POS(0)
   
   PRESET(x-coordinate, y-coordinate) Tums off the LCD pixel at (x-coordinate, y-coordinate) may range from 0 to 63.
   PRESET(55,10)
   
   PRINT expression list Prints the data in expression list onto the screen starting at the left most end of the line.
   PRINT"Menu #";I
   PRINT I%, J%, K%
   
   PRINT@ screen position Prints at the given screen position.
   PRINT@140,TIME$
   
   PRINT.USING "format"; expression list Print the data in expression list using the specified format.. format consists of
   one or more of the following "field specifiers";
   
   "!"
   Prints first string character.
   PRINT USING "!";"Tandy"
   
   "\ n spaces \"
   Prints 2 + n characters tr.om a string.
   PRINT USING "\\";"Tandy"
   
   #
   Prints one digit for each #.
   PRINT USING "#####";5
   
   +
   inserts the algebraic sign of the number.
   PRINT USING "+#####";-13
   
   -
   Inserts a minus sign either at the beginning or end of negative numbers.
   PRINT USING "-######";14
   
   **
   Converts leading blanks to leading asterisks blanks.
   PRINT USING "**#####";145
   
   $$
   Inserts a dollar sun to the immediate left of thetommatted number.
   PRINT USING "$$#####";450
   
   **$
   Changes leading spaces to asterisks except for the space to the immediate left of the number where it Ins8rls adollar sbn.
   
   PRINT USING "**$###";12
   
   Inserts a decmal point.
   PRINT USING "#####.##";14.5
   
   Inserts a comma before every three printed digits to the left of the decimal point.
   PRINT USING "#########,";14432
   
   ^^^^
   Prints the number in exponential format
   PRINT USING "###.#^ ^ ^ ^ ";342200
   
   PRINT # file number ,expression list Prints the values of expression list to The LCD file OPEN'ed as file number.
   PRINT #1 A$
   PRINT #4,10,20,30
   
   PRINT# file number USING "format" ;expression list Formats the data in expression list and sends it to the LCD file
   OPEN'ed as file number. See PRINT USING for an explanation of format.
   PRINT #1 USING "#####.##";A
   PRINT #5,USING "\\";A$
   
   PSET(x-coordinate,y-coordinate) Turns on the LCD pixel at x-coordinate,y-coordinate where x-coordinste is a numeric
   expression ranging from 0 to 239 and y-coordinate is a numeric expression ranging from 0 to 63.
   PSET (40 ,45)
   
   SAVE "LCD:" Lists the current BASIC program onto the screen. (Note: Pressing [PAUSE] has no effect on this command.)
   SAVE "LCD: "
   
   SCREEN on or off Turns the LABEL line on or off. On is 0 0; off is 01.
   SCREEN 0,0
   SCREEN 0,1
   
   TAB (numeric expression) Skips numeric expression spaces before printing the next data item. numeric expression ranges
   between 0 and 255.
   PRINTTAB(30);"Table 1 "
   PRINT #1,"Total";TAB(10);"Number";TAB(10);"Balance"
     _____________________________________________________________________________________________________________________
                                                                
Printer (LPT)

  Printer Commands and Functions
  
   CLOSE file number list Closes the specified file numbers.
   CLOSE 1,2,3,
   CLOSE
   
   LCOPY Prints the text on the LCD screen onto the printer. LCOPY ignores non- text data.
   LCOPY
   
   LLIST line number range Lists the line number range of the current program onto the printer.
   LLIST 100- 300
   LLIST
   
   LPOS(dummy numerlc expression) Returns the current position of the printer print head within the printer buyer.
   LPRINT "Printer head position:";LPOS(0)
   
   LPRlNT expression list Prints out the values of expression list on the printer.
   LPRINT "The total for ";A$; " was "; TT
   LPRINT X,Y,Z
   
   PRINT.USING "format"; expression list Print the data in expression list using the specified format.. format consists of
   one or more of the following "field specifiers";
   
   "!"
   Prints first string character.
   PRINT USING "!";"Tandy"
   
   "\ n spaces \"
   Prints 2 + n characters tr.om a string.
   PRINT USING "\\";"Tandy"
   
   #
   Prints one digit for each #.
   PRINT USING "#####";5
   
   +
   inserts the algebraic sign of the number.
   PRINT USING "+#####";-13
   
   -
   Inserts a minus sign either at the beginning or end of negative numbers.
   PRINT USING "-######";14
   
   **
   Converts leading blanks to leading asterisks blanks.
   PRINT USING "**#####";145
   
   $$
   Inserts a dollar sun to the immediate left of thetommatted number.
   PRINT USING "$$#####";450
   
   **$
   Changes leading spaces to asterisks except for the space to the immediate left of the number where it Ins8rls adollar sbn.
   
   PRINT USING "**$###";12
   
   Inserts a decmal point.
   PRINT USING "#####.##";14.5
   
   Inserts a comma before every three printed digits to the left of the decimal point.
   PRINT USING "#########,";14432
   
   ^^^^
   Prints the number in exponential format
   PRINT USING "###.#^ ^ ^ ^ ";342200
   
   MAXFILES Stores the current maximum number of files. You may access MAXFILES like any numeric variable.
   MAXFILES = 5
   ?MAXFILES
   
   OPEN "LPT:" FOR OUTPUT AS file number Allocates a buffer file number for a printer file.
   OPEN "LPT:" FOR OUTPUT AS 1
   
   PRINT # file number, expression list Prints the values of expression list into the printer file OPEN'ed as file number.
   PRINT#1,A$
   PRINT#4,10,20,30
   
   PRINT #file number, USING "format"; expression list Formats the data in expression /ist and sends it to the printer file
   OPEN'ed as file number. For a description of format, see LPRINT USING.
   
   SAVE "LPT: " Prints the current BASIC program onto the printer.
   SAVE "LPT: "
   
   TAB (numeric expression) Skips numeric expression spaces before printing the next data item. numeric expression ranges
   between 0 and 255.
   PRINT#1 ,TAB(30) "Table 1"
   LPRINT TAB(30);"Total";TAB(30);"Number";TAB(30);"Balance"
     _____________________________________________________________________________________________________________________
                                                                
RAM Files (RAM)

  RAM File Filenames and Extensions
  
   RAM filenames consistof a string of one to six characters, the first of which is a letter. In addition, most RAM files
   have specific extensions which are suffixedto the filename. These extensions are:
   
   .BA
   BASIC Program File
   
   .DO
   ASCII Formatted File (a BASIC datafile, a Text Editor File, certain BASIC program files)
   
   .CO
   Command File (a machine-language file)
   
   Note: Most commands which allow you to specify a device (such as LCD,MDM, and so on) default to RAM . In addition, BASIC
   can often assume the extension of a file from the context of the command.
   
  RAM I/O Commands and Functions
  
   CLOSE file number list Closes the specified file numbers.
   CLOSE 1 2 3
   CLOSE
   
   EOF (file number) Tests for an end-of-file condition on the RAM file OPEN'ed as file number. The function returns a "
   logical " answer, either "true" (-1 ) if you have reached the end of the file, or else "false" (0) if you have not reached
   the end of the file.
   IF EOF(1)THEN GOTO 1000
   
   INPUT # file number, variable list Inputs data sequentially from the RAM file OPEN'ed as file number.
   INPUT#1 A B,C$
   
   INPUT$(numeric expression, file number) Returns a string of a length given by numeric expression from the RAM file OPEN'ed
   as file number.
   A$ = INPUT$(5,1)
   
   IPL "filename" Defines the RAM filename as the warm- startup program (that is, the program which runs immediately when you
   turn on the Computer).
   IPL "TIMSET.BA"
   
   KILL "fiIename" Deletes the RAM file filename. You must include the files extension .
   KILL "BILLS.BA"
   KILL "MSGS.DO"
   
   LINE INPUT # file number, str var Reads a line of text from device.
   LINE INPUT #1,Z$
   
   LOAD "RAM:filename",R Loads a BASIC program from RAM. If R is present, BASIC runs the program after it has been loaded.
   LOAD"RAM:TIMSET"
   LOAD"TIMSET",R
   
   LOADM "RAM:filename" Loads the machine- language program filename from RAM at the address specified when it was saved.
   LOADM "MEMTST"
   LOADM "RAM:MEMTST"
   
   MAXFILES Stores the current maximum number of files. You may access MAXFILES like any numeric variable.
   1O MAXFILES = 5
   ?MAXFILES
   
   MERGE "RAM:filename" Merges the lines from the ASCII formatted RAM file called filename with the lines of the current
   program.
   MERGE "RAM:ACT.DO"
   
   NAME "RAM:old filename" AS "RAM :new filename'' Renames old filename to new filename. You must include the file's
   extension.
   NAME "ACCTS.DO" AS "OLDACT.DO"
   NAME "RAM:CLS1.CO" AS "RAM:LCDCLS.CO"
   
   OPEN "RAM:filename" FOR mode AS file number Allocates a buffer, file number, for a RAM file called filename. mode can be
   OUTPUT, specifying data will be written sequentially to the file starting at the beginning of the file, INPUT, specifying
   data will be read sequentially from the file, starting at the beginning of the file, or APPEND, specifying that data will
   be written sequentially to the file, adding records to the end of the f ile.
   OPEN "RAM:ACCT.DO" FOR APPEND AS 1
   OPEN "NAMES.DO"FOR INPUT AS 4
   
   PRINT # file number, expression list Writes the values of expression list the RAM file OPENed as file number.
   PRINT#1,A$
   PRINT#4,10,20,30
   
   PRINT.USING "format"; expression list Print the data in expression list using the specified format.. format consists of
   one or more of the following "field specifiers";
   
   "!"
   Prints first string character.
   PRINT USING "!";"Tandy"
   
   "\ n spaces \"
   Prints 2 + n characters tr.om a string.
   PRINT USING "\\";"Tandy"
   
   #
   Prints one digit for each #.
   PRINT USING "#####";5
   
   +
   inserts the algebraic sign of the number.
   PRINT USING "+#####";-13
   
   -
   Inserts a minus sign either at the beginning or end of negative numbers.
   PRINT USING "-######";14
   
   **
   Converts leading blanks to leading asterisks blanks.
   PRINT USING "**#####";145
   
   $$
   Inserts a dollar sun to the immediate left of thetommatted number.
   PRINT USING "$$#####";450
   
   **$
   Changes leading spaces to asterisks except for the space to the immediate left of the number where it Ins8rls adollar sbn.
   
   PRINT USING "**$###";12
   
   Inserts a decmal point.
   PRINT USING "#####.##";14.5
   
   Inserts a comma before every three printed digits to the left of the decimal point.
   PRINT USING "#########,";14432
   
   ^^^^
   Prints the number in exponential format
   PRINT USING "###.#^ ^ ^ ^ ";342200
   
   RUN "RAM:fiIename",R Clears alI variables loads the BASIC program called filename from RAM and then executes the program.
   If R is present, BASIC keeps all open files open. If R is omitted, BASIC closes alI open files before Ioading fiIe.
   RUN "PART2 BA",R
   RUN "RAM:BILLS.BA"
   
   RUNM "RAM:filename" Loads and executes the machine-language program stored as filename. The program must be one executable
   from the Menu, not a BASIC subroutine. In addition, when the program is loaded BASIC cIoses alI open files.
   RUNM "RAM:MEMTST.CO"
   RUNM "CLR1"
   
   SAVE "RAM:filename",A Writes the current BASIC program to the RAM fiIe caIIed filename. A is optionaI; if used, BASIC
   saves the fiIe in ASCII format. Otherwise BASIC saves the file in a compressed binary format. If filename already exists
   in RAM , BASIC writes over the old fiIe.
   SAVE "TIMSET"
   SAVE "RAM:PART1.DO",A
   
   SAVEM "RAM:filename", start address, end address, entry address Writes the machine language program stored from start
   address to end address into RAM, under the name filename. entry address is optionaI . if not present then BASiC assumes
   that the program entry address is the same as the start address
   SAVEM "RAM: MEMTST",50000,50305 ,50020
   SAVEM "MEMTST",50000,50305
   
   TAB (numeric expression) Writes numeric expression spaces before writing the next data item.
   PRINT#1 ,TAB(30);"TabIe 1"
     _____________________________________________________________________________________________________________________
                                                                
The Cassette Recorder/Player (CAS)

  File Names for Cassette Files
  
   Cassette file names consist of a string of one to six characters, the first of which is a letter. There is no need for an
   extension. For example.
   ACCTM
   MEMTST
   CLK100
   
  Cassette Commands
  
   CLOAD "filename",R Clears the current BASIC program and loads a BASIC program from cassette tape. R. if present, tells
   BASIC to run the program after loading it.
   CLOAD "ACCTS",R
   CLOAD
   
   CLOAD? filename Compares the cassette file filename with the BASIC program currently in memory. If there are any
   differences, BASIC displays the message Verify failed on the screen; otherwise BASIC simply prints OK.
   CLOAD? ''ACCT'"
   
   CLOADM "filename" Loads the machine-language program called filename from cassete tape into memory, at the address used
   when it was written to the cassette tape .
   CLOADM "MEMTST"
   CLOADM
   
   CLOSE file number list Closes the files OPEN'ed as file number.
   CLOSE 1,2,3
   CLOSE
   
   CSAVE "filename",A Stores the current BASIC program on cassette tape as filename. A, if present, tells BASIC to save the
   program in ASCII format. If omitted, BASIC stores the program in a compressed binary form.
   CSAVE "WDC"
   CSAVE "PART1",A
   
   CSAVEM "filename"start address, end address, entry address Writes the machine language program stored from start address
   to end address with the entry address onto cassette tape, under the name filename.
   CSAVEM ''MEMTST'",50000,50305,50020
   CSAVEM "CLR ",39000,39030
   
   EOF(file number) Tests for an end-of-file condition the cassette file OPEN'ed as file number. The function returns a
   ''logical''answer either "true'' (-1 ) if you have reached the end of the file, or else "false" (0) if you have not
   reached the end of the file.
   IF EOF(1) THEN GOTO 1000
   
   INPUT# file number, variable list Inputs data sequentially from the cassette tile opened as file number.
   INPUT #1,A,B,C$
   
   INPUT$ (numeric expression, file number) Returns a string of a length given by numenc expression from the cassette file
   opened as file number.
   A$= INPUT$(5,1)
   
   LINE INPUT # filenumber, str var Reads a line of text from device.
   LINE INPUT #1,Z$
   
   LOAD "CAS:filename",R Loads a BASIC program from cassette. If R is present, BASIC runs the program after it has been
   loaded .
   LOAD "CAS:ACCT",R
   LOAD "CAS:MATH"
   
   LOADM "CAS:filename" Loads the machine- language program filename from RAM at the address specified when it was saved.
   LOADM "MEMTST"
   LOADM "RAM:MEMTST"
   
   MAXFILES Stores the current maximum number of files. You may access MAXFILES like any numeric variable.
   1O MAXFILES = 5
   ?MAXFILES
   
   MERGE "CAS:filename" Merges the lines from the ASCII formatted RAM file called filename with the lines of the current
   program.
   MERGE "CAS:ACT.DO"
   
   MOTOR ON or OFF Starts or stops cassette player motor.
   MOTOR ON
   
   OPEN "CAS:filename" FOR mode AS file number Allocates a buffer, file number, for a RAM file called filename. mode can be
   OUTPUT, specifying data will be written sequentially to the file starting at the beginning of the file, INPUT, specifying
   data will be read sequentially from the file, starting at the beginning of the file, or APPEND, specifying that data will
   be written sequentially to the file, adding records to the end of the f ile.
   OPEN "CAS:" FOR OUTPUT AS 3
   OPEN "CAS:ACTDAT" FOR INPUT AS 4
   
   PRINT # file number, expression list Writes the values of expression list the RAM file OPENed as file number.
   PRINT#1,A$
   PRINT#4,10,20,30
   
   PRINT.USING "format"; expression list Print the data in expression list using the specified format.. format consists of
   one or more of the following "field specifiers";
   
   "!"
   Prints first string character.
   PRINT USING "!";"Tandy"
   
   "\ n spaces \"
   Prints 2 + n characters tr.om a string.
   PRINT USING "\\";"Tandy"
   
   #
   Prints one digit for each #.
   PRINT USING "#####";5
   
   +
   inserts the algebraic sign of the number.
   PRINT USING "+#####";-13
   
   -
   Inserts a minus sign either at the beginning or end of negative numbers.
   PRINT USING "-######";14
   
   **
   Converts leading blanks to leading asterisks blanks.
   PRINT USING "**#####";145
   
   $$
   Inserts a dollar sun to the immediate left of thetommatted number.
   PRINT USING "$$#####";450
   
   **$
   Changes leading spaces to asterisks except for the space to the immediate left of the number where it inserts a dollar
   sign
   PRINT USING "**$###";12
   
   .
   Inserts a decmal point.
   PRINT USING "#####.##";14.5
   
   ,
   Inserts a comma before every three printed digits to the left of the decimal point.
   PRINT USING "#########,";14432
   
   ^^^^
   Prints the number in exponential format
   PRINT USING "###.#^ ^ ^ ^ ";342200
   
   RUN "CAS:fiIename",R CIears all variables loads the BASIC program called filename from RAM and then executes the program.
   If R is present, BASIC keeps alI open files open. If R is omitted, BASIC closes all open files before loading file.
   RUN "PART2 BA",R
   RUN "CAS:BILLS.BA"
   
   RUNM "CAS:filename" Loads and executes the machine-language program stored as filename. The program must be one executable
   from the Menu, not a BASIC subroutine. In addition, when the program is loaded BASIC cIoses all open files.
   RUNM "RAM:MEMTST.CO"
   RUNM "CAS:"
   
   SAVE "CAS:filename",A Writes the current BASIC program to the RAM file called filename. A is optionaI; if used, BASIC
   saves the file in ASCII format. Otherwise BASIC saves the file in a compressed binary format. If filename already exists
   in RAM , BASIC writes over the old file.
   SAVE "CAS:TIMSET"
   SAVE "CAS:PART1.DO",A
   
   SAVEM "CAS:filename", start address, end address, entry address Writes the machine language program stored from start
   address to end address into RAM, under the name filename. entry address is optionaI . if not present then BASiC assumes
   that the program entry address is the same as the start address
   SAVEM "CAS:MEMTST",50000,50305 ,50020
   SAVEM "MEMTST",50000,50305
   
   TAB (numeric expression) Writes numeric expression spaces before writing the next data item.
   PRINT#1 ,TAB(30);"Table 1"
     _____________________________________________________________________________________________________________________
                                                                
RS-232C Communications (COM)

  Communications Configuration
  
   Some BASIC commands require that you signify the communications configuration. It consists of a five character string of
   the pattern rwpbs, where:
   
   r
   Baud Rate This is a number from 1 to 9 where 1 =75; 2=110; 3=300; 4=600; 5=1200; 6 = 2400; 7 = 4800; 8 = 9600; 9 = 19200.
   
   
   Word Length This is a numberfrom 6 to 8, where 6 = 6 bits; 7 = 7 bits; 8 = 8 bits.
   
   p
   Parity Either E,O,l or N,where E = Even; O = Odd; I = Ignore; N = None.
   
   b
   Stop Bits Either 1 or 2, where 1 = 1 stop bit; 2 = 2 stop bits.
   
   s
   XON/XOFF Status Either E or D, where E = Enable; D = Disable.
   
  Communications Commands and Functions
  
   COM ON or OFF or STOP Enables or disables the ON COM interrupt.
   COM ON
   COM OFF
   COM STOP
   
   CLOSE file number list Closes the files OPEN'ed as file number.
   CLOSE 1,2,3
   CLOSE
   
   EOF(file number) Tests for an end-of-file condition on the communications file OPEN'ed as file number. The function
   returns a "logical" answer either "true" (-1 ) if you have reached the end of the file, or else "false" (0) if you have
   not reached the end of the file.
   IF EOF(1) THEN GOTO 1000
   
   INPUT# file number, variable list Inputs data sequentially from the communication file opened as file number.
   INPUT #1,A,B,C$
   
   INPUT$ (numeric expression, file number) Returns a string of a length given by numenc expression from the communications
   file opened as file number.
   A$= INPUT$(5,1)
   
   LOAD "COM:filename",R Loads a BASIC program from communications lines. If R is present, BASIC runs the program after it
   has been loaded .
   LOAD "COM:ACCT",R
   LOAD "COM:MATH"
   
   MAXFILES Stores the current maximum number of files. You may access MAXFILES like any numeric variable.
   1O MAXFILES = 5
   ?MAXFILES
   
   MERGE "COM:configuration" Merges the lines from the incoming file with the lines of the current program.
   MERGE "COM:78EIE"
   
   OPEN "COM:configuration" FOR mode AS file Allocates a buffer given as file number, for a communications file called
   filename. mode can be OUTPUT, specifying data will be transmitted out the RS-232C line, INPUT, specifying data will be
   received via the RS-232C line.
   10 OPEN "COM:66OIE" FOR INPUT AS 3
   
   PRINT # file number, expression list transmits the values of expression list the communications file OPENed as file
   number.
   PRINT#1,A$
   PRINT#4,10,20,30
   
   PRINT.USING "format"; expression list Formats the data in expression list and sends it to the communications file OPEN'ed
   as file number. format consists of one or more of the following:
   
   "!"
   Prints first string character.
   PRINT USING "!";"Tandy"
   
   "\ n spaces \"
   Prints 2 + n characters tr.om a string.
   PRINT USING "\\";"Tandy"
   
   #
   Prints one digit for each #.
   PRINT USING "#####";5
   
   +
   inserts the algebraic sign of the number.
   PRINT USING "+#####";-13
   
   -
   Inserts a minus sign either at the beginning or end of negative numbers.
   PRINT USING "-######";14
   
   **
   Converts leading blanks to leading asterisks blanks.
   PRINT USING "**#####";145
   
   $$
   Inserts a dollar sun to the immediate left of thetommatted number.
   PRINT USING "$$#####";450
   
   **$
   Changes leading spaces to asterisks except for the space to the immediate left of the number where it inserts a dollar
   sign
   PRINT USING "**$###";12
   
   .
   Inserts a decmal point.
   PRINT USING "#####.##";14.5
   
   ,
   Inserts a comma before every three printed digits to the left of the decimal point.
   PRINT USING "#########,";14432
   
   ^^^^
   Prints the number in exponential format
   PRINT USING "###.#^ ^ ^ ^ ";342200
   
   RUN "COM:configuration",R CIears all variables loads the BASIC program from communications line and then executes the
   program. If R is present, BASIC keeps all open files open. If R is omitted, BASIC closes all open files before loading
   file.
   RUN "COM:38N2E",R
   RUN "COM:67E1E"
   
   SAVE "COM:configuration",A Writes the current BASIC program out the communications line in ASCII format.
   SAVE "COM:38N2E"
   
   TAB (numeric expression) Transmits numeric expression spaces before transmitting the next data item . numeric expression
   ranges between 0 and 255.
   PRINT#1 ,TAB(30);"Table 1"
     _____________________________________________________________________________________________________________________
                                                                
Modem Communications (MDM)

   Modem Communicetlons configuratlon Some BASIC commands require that you specify the modem configuration . The baud rate is
   set to 300 by default. The rest of the contiguration consists of a four character string of the pattern wpbs, where:
   
   
   Word Length This is a numberfrom 6 to 8, where 6 = 6 bits; 7 = 7 bits; 8 = 8 bits.
   
   p
   Parity Either E,O,l or N,where E = Even; O = Odd; I = Ignore; N = None.
   
   b
   Stop Bits Either 1 or 2, where 1 = 1 stop bit; 2 = 2 stop bits.
   
   s
   XON/XOFF Status Either E or D, where E = Enable; D = Disable.
   
  Modem Communications Commands and Functions
  
   CLOSE file number list Closes the files OPEN'ed as file number.
   CLOSE 1,2,3
   CLOSE
   
   EOF(file number) Tests for an end-of-file condition on the modem file OPEN'ed as file number. The function returns a
   "logical" answer either "true" (-1 ) if you have reached the end of the file, or else "false" (0) if you have not reached
   the end of the file.
   IF EOF(1) THEN GOTO 1000
   
   INPUT# file number, variable list Inputs data sequentially from the modem file opened as file number.
   INPUT #1,A,B,C$
   
   INPUT$ (numeric expression, file number) Returns a string of a length given by numenc expression from the modem file
   opened as file number.
   A$= INPUT$(5,1)
   
   LINE INPUT # file number, str var Reads a line of text from device
   LINE INPUT #1,Z$
   
   LOAD "MDM:filename",R Loads a BASIC program from modem. If R is present, BASIC runs the program after it has been loaded .
   LOAD "MDM:8n1e",R
   LOAD "MDM:8n1e"
   
   MAXFILES Stores the current maximum number of files. You may access MAXFILES like any numeric variable.
   1O MAXFILES = 5
   ?MAXFILES
   
   MDM ON or OFF or STOP Enables or disables the ON MDM interrupt
   MDM ON
   MDM OFF
   
   MERGE "MDM:configuration" Merges the lines from the BASIC program file coming in over the modem with the lines of the
   current program.
   MERGE "MDM:78EIE"
   
   ON MDM GOSUB line number Defines an interrupt for incoming modem communications.
   ON MDM GOSUB 1000
   
   OPEN "MDM:configuration" FOR mode AS file Allocates a buffer given as file number, for a modem file called filename. mode
   can be OUTPUT, specifying data will be transmitted out the RS-232C line, INPUT, specifying data will be received via the
   RS-232C line.
   10 OPEN "MDM:66OIE" FOR INPUT AS 3
   
   PRINT # file number, expression list transmits the values of expression list the modem file OPENed as file number.
   PRINT#1,A$
   PRINT#4,10,20,30
   
   PRINT.#file number, USING "format"; expression list Formats the data in expression list and sends it to the modem file
   OPEN'ed as file number. format consists of one or more of the following:
   
   "!"
   Prints first string character.
   PRINT USING "!";"Tandy"
   
   "\ n spaces \"
   Prints 2 + n characters tr.om a string.
   PRINT USING "\\";"Tandy"
   
   #
   Prints one digit for each #.
   PRINT USING "#####";5
   
   +
   inserts the algebraic sign of the number.
   PRINT USING "+#####";-13
   
   -
   Inserts a minus sign either at the beginning or end of negative numbers.
   PRINT USING "-######";14
   
   **
   Converts leading blanks to leading asterisks blanks.
   PRINT USING "**#####";145
   
   $$
   Inserts a dollar sun to the immediate left of thetommatted number.
   PRINT USING "$$#####";450
   
   **$
   Changes leading spaces to asterisks except for the space to the immediate left of the number where it inserts a dollar
   sign
   PRINT USING "**$###";12
   
   .
   Inserts a decmal point.
   PRINT USING "#####.##";14.5
   
   ,
   Inserts a comma before every three printed digits to the left of the decimal point.
   PRINT USING "#########,";14432
   
   ^^^^
   Prints the number in exponential format
   PRINT USING "###.#^ ^ ^ ^ ";342200
   
   RUN "MDM:configuration",R Clears all variables loads the BASIC program from modem line and then executes the program. If R
   is present, BASIC keeps all open files open. If R is omitted, BASIC closes all open files before loading file.
   RUN "MDM:38N2E",R
   RUN "MDM:67E1E"
   
   SAVE "MDM:configuration",A Writes the current BASIC program out the communications line in ASCII format.
   SAVE "MDM:38N2E"
   
   TAB (numeric expression) Transmits numeric expression spaces before transmitting the next data item . numeric expression
   ranges between 0 and 255.
   PRINT#1 ,TAB(30);"Table 1"
     _____________________________________________________________________________________________________________________
                                                                
The Sound Generator

  Sound Generator Commands
  
   BEEP Causes the sound generator to ''beep'' for approximately 1/2 second.
   BEEP
   
   SOUND pitch,length ''Plays'' a given pitch for the given length. Iength ranges from 0 to 255. Dividing length by 50 gives
   the approximate length in seconds. pitch ranges from 0 to 16383, with the smaller values corresponding to higher pitches.
   SOUND 4500'50
   
   SOUND ON or OFF Enables or disables ''beep'' when:
     * You're loading from cassette
     * The Model 100 is waiting on a carrier signal from the telephone modem lines.
       
   SOUND ON
   SOUND OFF
   
   SOUND Pitch Values Corresponding to Standard Musical notes
   
   G 12538 6269 3134 1567 sa
   
   G # 11836 5918 2959 1 479 739
   
   A 11172 5586 2793 1 396 698
   
   A# 10544 5272 2636 1318 659
   
   B 9952 4976 2488 1244 62
   
   C 9394 4697 2348 1174 587
   
   C# 8866 4433 2216 1108 554
   
   D 8368 7 4184 2092 1046 X 523
   
   D# 7900 3950 1975 987 493
   
   E 7456 3728 1864 932 466
   
   F 7032 3516 1 758 879 439
   
   F# 6642 3321 1660 830 415
   
     _____________________________________________________________________________________________________________________
                                                                
                                                    Model 100 BASIC Error Codes
                                                                 
   Code Message Meaning
   
   1 NF NEXT without FOR.
   
   2 SN Syntax Error.
   
   3 RG RETURN without GOSUB.
   
   4 OD Out of Data.
   
   5 FC Illegal function call.
   
   6 OV Overflow.
   
   7 OM Out of Memory.
   
   8 UL Undefined line.
   
   9 BS Bad Subscript.
   
   10 DD Doubly Dimensioned Array.
   
   1 1 /0 Division by Zero.
   
   12 ID Illegal Direct.
   
   13 TM Type Mismatch.
   
   14 OS Out of String Space.
   
   15 LS String Too Long.
   
   16 ST String Formula Too complex
   
   17 CN Can't Continue.
   
   18 IO Error
   
   19 NR No RESUME.
   
   20 RW RESUME Without Error.
   
   21 UE Undefined Error.
   
   22 MO Missing Operand.
   
   23-49 UE Undefined Error.
   
   50 IE Undefined Error.
   
   51 BN Bad File Number.
   
   52 FF File Not Found.
   
   53 AO Already Open.
   
   54 EF Input Past End of File.
   
   55 NM Bad file name.
   
   56 DS Direct Statement in File.
   
   57 FL Undefined error.
   
   58 CF File Not Open.
   
   59-255 UE Undefined Error.
